我正在考虑使用AngularJS代替Handlebars和MeteorJS。我对AngularJS更熟悉,但它与Meteor的开箱即用效果不佳。把手是MeteorJS中使用的默认模板引擎。
我想知道两者之间的权衡,例如,AngularJS是否提供比Handlebars更灵活的前端编码。
我的问题是:当与Meteor配对时,AngularJS可以做什么,Handlebars在前端编程方面无法做到?
(请注意,人们喜欢AngularJS的双向绑定和数据模型的部分b / c,但Meteor-Handlebars也做得很好)。
更新:如果您认为它与SO中另一个比较Angular和Handlebars的问题重复,请不要投票结束此问题。由于其“客户端数据库”方法,Meteor为Handlebars增加了重要的力量。
答案 0 :(得分:7)
Angular and Meteor can be combined,它是一个非常整洁的组合。 Angular的模板系统及其双向绑定(DOM到JS模型)甚至可以在整个过程中保持与Meteor集合同步。这样的Angular和Meteor配对意味着您可以获得即时DOM到数据库同步,这非常酷。 Angular不能单独做到这一点,Meteor也不能这样做(没有编写更多或更少乏味的事件处理程序)甚至更少的Handlebars。
angular-meteor Meteor软件包几乎是ngMeteor的继任者(它建立在ngMeteor代码上),并将Meteor集合与Angular模型,两个模板系统,Meteor Session变量等集成在一起。
答案 1 :(得分:6)
TL; DR :Meteor最适合包(想想jQuery,bootstrap,d3,下划线,手写笔,更少),因为它们增强了框架。那些相同的包也会增强Angular(好吧,有点)。 Angular是一个端到端的框架,所以试图将它集成到另一个像Meteor这样的端到端框架之上是令人头疼的问题。
Handlebars具有非常相似的表达式和绑定,您可能在Angular中熟悉它们。但是虽然模板引擎类似,但其余的框架差别很大。
Angular严重依赖其内部指令(ng-repeat,ng-form,ng-bind等),以便轻松地将javascript(即电源)绑定到您的标记。幕后有很多魔力。
Meteor严重依赖于pub / sub模型并连接到您的真实数据存储。他们的秘诀来自于轻松添加但是抽象包(把手是他们的默认包之一,但其他一些是bootstrap,accounts-ui,d3等)。
流星遵循非常不同的意识形态,对框架设计的看法与Angular不同。在我看来,尽管该项目仍处于相对初级阶段,但Meteor还是优越的。你会发现Meteor真的,真的擅长快速原型制作,特别是如果你需要配合用户支持并想要使用Twitter / Facebook / Google。
你最好选择其中一个,但如果你在服务器方面不够强大,你可以编写一个非常漂亮的Meteor应用程序来充当你的API服务器。
答案 2 :(得分:4)
如果你想将angularjs与meteor一起使用,你可以安装一个可以做到这一点的软件包。然后你可以使用流星和角度。
Meteor非常适合将数据从服务器传输到客户端,角度非常适合显示数据(并且稳定)。
mrt add angular-stack
或
mrt add ngMeteor
答案 3 :(得分:3)
一般来说,AngularJS已经通过版本1.0里程碑,并且已经准备好用于生产,而流星仍然是alpha软件。因此,Angular更加精致,具有directives模块和丰富的第三方库,如AngularUI。
但是如果你想尝试一个前沿的框架,不要认为你必须做超级模板化的东西,但需要一个内置的数据库,与Meteor一起使用!
答案 4 :(得分:0)
我认为您可能会发现this answer有帮助。
此外,我认为这可能是一个重复的问题。