我们正在寻找构建正在创建的应用程序前端的选项,并正在尝试评估一种对我们有用的工具,并为我们提供前进的最佳平台。
这是一个Node.js项目。我们最初的计划是使用Express并沿这条路线走,但是我们决定在开始此阶段之前,最好回顾一下那里的内容。我们的应用程序有几个我们认为不适合单页模型的领域,因为它们是从应用程序的角度关联的,而不是从一个角度来看的。
我们已经看到了一些可用于构建客户端的框架,例如Backbone.js,Meteor等,以及AngularJS。
这可能是一个非常明显的问题,但是我们似乎无法解读AngularJS是纯粹用于单页应用程序还是可以用于多页应用程序(例如Express)。
2013年7月17日更新 为了让大家保持联系,我将在整个过程中更新这个问题。现在,我们将一起构建所有内容,然后我们将看到效果如何。我们已经联系了几位比我们更胜任AngularJS的人员,并提出了有关拆分共享上下文但在单个页面上可能太大的大型应用程序的问题。
共识是我们可以提供多个静态页面,并创建仅与那些页面一起使用的AngularJS应用程序,从而有效地创建了SPA的集合,并使用标准链接将这些应用程序链接在一起。现在,我们的用例非常具体,因为我们的解决方案有多个应用程序,并且正如我所说,我们将首先尝试单个代码库并从那里进行优化。
2016年6月18日更新项目跌入悬崖,所以我们从来没有回避太多的事情。我们最近再次选择了它,但是不再使用angular而是使用React。我们仍在使用上一个更新中概述的架构,其中我们使用Express和自包含应用程序,因此,例如,我们/chat
在Express中有一条路线可以服务我们的React聊天应用程序,而在另一条路线中/projects
可以服务项目应用程序,以此类推。我们从某种角度看待它的方式是,每个应用程序在其功能集方面都是一个聚合根,它需要能够独立运行,才能将其本身视为一个应用程序。从技术上讲,所有信息都在那里,它只是基本表达,以及您想要使用的客户端应用程序构建优势的任何形式。
我想说的是,如果您只是想开发SPA,Angular实在是太过分了。当然,如果您已经习惯了使用它进行开发,请继续。但是,如果您是该框架的新手,只需要开发SPA,那么我会考虑一些更简单的方法,并附带一些自己的特权。我建议研究Vue.js或Aurelia.io。
Vue.js使用双向数据绑定,MVVM,可重用组件,简单快捷的提取,更少的代码编写等。它结合了Angular和React的一些最佳功能。
老实说,我对Aurelia.io并不了解。但是我偷看了一下,似乎与上面类似,值得研究。
链接:
https : //vuejs.org/http:
//aurelia.io/