SailsJS与BreezeJS for SPA进行后端验证

dan*_*nba 3 architecture node.js angularjs breeze sails.js

我是全新的堆栈javascript应用程序开发的新手,已经阅读了很多帖子和文档到各种各样的东西,但我有点卡在以下问题:

有两个框架似乎提供了非常相似的功能,但在互联网上永远不会相互对比(据我所知)

SailsJS - 基于Express BreezeJS(+ AngularJS)构建的服务器端MVC框架 - 客户端MVC

显然我可以将Sails与Angular结合起来,NPM中有一些尝试,但是没有使用Breeze,是因为冗余还是仅仅是一个愚蠢的想法?

我正在考虑开发一个具有计算密集型后端进程的SPA(例如,对大型数据集进行机器学习〜数百万个mongo文档)

Mongo  - Node : { Express - Sails } - Breeze - Angular
Run Code Online (Sandbox Code Playgroud)

我正在寻找关于这种堆栈(特别是Breeze/Sails部分)是否是个坏主意的反馈.此外,我非常感谢有关javascript全栈架构设计决策的建议/链接.

谢谢!

bre*_*hin 8

基本上,您提到的所有软件都可以在一个产品中使用.尽管理解每个组件的目的/强度是重要的:

1. MongoDB

这个很清楚:数据库引擎.

2. Node.js

这也是:服务器端的Javascript,它将为您的API提供动力.

3. Express.js

现在它变得越来越有趣了.Express是Node.js的服务器端Web应用程序框架,但它是一个非常简约的框架,这意味着它提供了一些基本功能,没有隐藏的魔法和其他花哨的东西.

4. Sails.js

相反,Sails提供了很多魔力,从开箱即用的API开始,以套接字结束.即使它是建立在Express之上,Sails也是一个服务器端的Javascript框架,它遵循一种完全不同的方法,简单易用.如果我们谈论SPA,那么Sails提供的最有用的东西肯定是开箱即用的API:你将能够在不到5分钟的时间内启动并运行它.

5. Angular.js

在这里,我们进入客户端.Angular可以帮助您更好地组织客户端Javascript,并在浏览器中轻松执行一些非常复杂的任务.当然,如果我们谈论富客户端应用程序,Angular(或类似的框架,如Backbone,Ember,Knockout等)是必不可少的.

6. Breeze.js

最后,Breeze为您提供了一种从胖客户端Web应用程序组织/访问数据的方法.无论您使用的是Angular,Backbone还是Knockout,Breeze都会以类似于ORM/ActiveRecord概念的方式帮助您管理数据.

因此,所有这些组件都可以轻松地协同工作,毫无疑问(有时候人们会谈论MEAN,MEANS,BMEAN堆栈,其中每个字母都是框架/组件名称中的第一个字母).但最终,由您决定应在产品中使用多少个.作为方法的一个示例,您可以从Mongo/Node基础开始,然后通过询问每个框架来选择必要的框架,是否简化了您的生活(特别是长期)或使其复杂化.