我有一个symfony2应用程序也支持REST。
我假定你的意思是你已经在Symfony中创建了RESTful数据驱动的api,它使用xml/json或其他一些以数据为中心的非html格式?如果不是这样,我会感到困惑,因为所有网站都以一种通用的方式与REST重叠。
我想听听看看angularjs的学习曲线还是坚持jQuery和树枝是个好主意。
到目前为止,最简单的方法(如果您已经熟悉Symfony)就是利用Twig来渲染视图并用jQuery为客户端动态/异步渲染提供视图。 Angular比Twig增加了更多的概念层。例如它在客户端复制模型管理。 Twig对于将视图映射到模型的阻抗非常低,而Angular视图将需要更多的代码来管理此映射。如果架构正确,在某些情况下,将数据从数据中解耦可能是一个巨大的好处。这取决于你的团队的需求。
我的建议是在Twig和Angular中实现一小部分功能,并记住它们在运行时考虑因素和真实世界机制方面有很大不同。最重要的区别是Angular只作为客户端渲染,而Twig作为服务器端渲染。这些概念是根本不同的。应该指出,没有理由不能在服务器上预渲染Angular,或者使用Twig使浏览器呈现。这些都是先进的和非标准的方法,目前不是Twig或Angular的本地特性,但完全可以作为优化步骤。
的“爽”你属性角度主要是在特定环境和特定的HTML + CSS复杂的任意功能状态变化之间差异的大小。无论您将主要的视图渲染放在服务器或客户端上,您都可以正确优化该解决方案,以便对用户不显眼。 问题是您想要优化工作的哪一方面?
它似乎像树枝已经有一些很好的功能类似于angularjs,如过滤器和东西。另外,如果我使用角度,它会打破symfony的MVC,因为我很可能会有更少的意见。
一般来说,Angular和Symfony的设计与它们视图渲染的语义异常类比是不一致的,这可能会误导你。决定哪种方式更适合你和你的团队的最好方式是尝试两种方式。
通过使用Angular,你不会轻易破坏Symfony的MVC。实际上,视图只是根据格式表示数据,所以无论您的服务器将JSON数据发送给Angular还是让Twig在服务器上呈现HTML,您仍然在执行Symfony的MVC方法的“V”。
另一方面,我喜欢角度的反应,它就像新的趋势。你能列举一些在这个范围内使用角度的优点和缺点吗?
如果您的用户界面非常的文件/超文本驱动的(换句话说透明度搜索引擎的问题给你),你使用十几少异步调用站点范围,你会朝树枝+ jQuery的几乎肯定趋向。
如果您的用户界面需要一定程度的复杂性来接近“桌面”应用程序,那么您几乎肯定倾向于角度。
市场上出现的许多应用程序都处于两种情景之间。越接近你越明确你的决定将成为。
我可以说的一件事是,如果你有任何疑问,你可能会想要坚持枝/ jquery,只是因为他们是很好的理解和成熟的技术,并且需要很少的学习曲线,如果你已经在用Symfony构建。