2

我正在构建一个 web 应用程序,它将是一个 twitter 风格的单页应用程序,可能带有用户身份验证。80% 的交互发生在前端,使用 JavaScript,并在后端回答提供来自数据库的数据的帮助下......

到目前为止,我的想法是使用 Symfony2,加上一个用于前端的 MVC 框架,如 Backbone 或 Ember(更喜欢 Ember,因为它看起来更有文档,而且通常更有条理和更容易)。

当我开始学习 Symfony2 时,我注意到 Symfony2 提供的许多东西对我的应用程序毫无用处。我真的不需要它的视图,因为视图将使用 Javascript 进行模板化,我也不需要它的路由器,因为它也将通过前端的 JS 状态处理。

Symfony2 将仅用作 JSON 响应机制,我想教义也可以帮助那些主要不是后端人员的人轻松地进行查询,当然还有身份验证。我猜FORMS也由JavaScript处理。

我已经看到很多关于 Symfony2 和主干、RESTful 等的其他问题。有很多不同的答案,有人说你需要一个 Bundle 来创建 RESTful API(为什么?)——其他人说你需要 Bundle 来完全集成 Backbone/ Symfony2,其他人说你只需要用 Symfony2 查询 JSON 数据并将它们序列化并发送回来,所以没什么特别的..

所以我的问题是:似乎 Symfony2 对这种 APP 来说有点过头了。但考虑到这是一个学习机会的项目,真的有问题吗?(性能方面,或与前端打得不好)。子问题是,你能提供任何关于 Symfony2 与单页网络应用程序集成的工作示例吗?我见过不同的元素,但整体上什么都没有,所以我可以知道我想要在代码方面实现什么。

4

2 回答 2

3

我不知道 Symphony2,但听起来很像大多数 ember+rails 项目。这些应用程序很少使用 Rails 框架。人们可以认为更轻的框架更合适,但不应该成为问题。更重要的可能是您一次学习 2 个新框架所需的提升。如果要使用 ember,我将首先构建一个使用 ember 固定适配器的 MVP,根本没有后端。一旦你完成了这项工作,你就可以插入任何有意义的框架。Fire Up Ember.js 窥视代码展示了如何以这种方式构建应用程序。

于 2013-02-10T00:23:06.153 回答
2

如果您的路线很少、模型很薄、业务逻辑很少且没有模板,您可能会发现使用 Silex http://silex.sensiolabs.org/之类的东西更简单。无需禁用 Symfony2 的功能,您只需将所需的内容添加到 Silex。他们都使用相同的构建块,只是具有不同的精神。这是@hhamon 关于将 Silex 用于 REST API https://speakerdeck.com/hhamon/designing-rest-api-with-silex的精彩演示。

于 2013-02-09T20:01:43.707 回答