当与Meteor结合使用时,AngularJS可以做到的Handlebars不能做什么?

Ada*_*NYC 20 handlebars.js angularjs meteor

我正在考虑使用AngularJS代替Handlebars和MeteorJS.我对AngularJS更熟悉,但它与Meteor的开箱即用效果不佳.把手是MeteorJS中使用的默认模板引擎.

我想知道两者之间的权衡,例如,AngularJS是否提供比Handlebars更灵活的前端编码.

我的问题是:当与Meteor配对时,AngularJS可以做什么,Handlebars在前端编程方面无法做到?

(请注意,人们喜欢AngularJS在其双向绑定和数据模型的b/c部分,但Meteor-Handlebars也非常好).

更新:如果您认为它与SO中另一个比较Angular和Handlebars的问题重复,请不要投票关闭此问题.由于其"客户端数据库"方法,Meteor为Handlebars增加了巨大的力量.

fre*_*und 7

角度和流星可以组合,它是一个非常整洁的组合.Angular的模板系统及其双向绑定(DOM到JS模型)甚至可以在整个过程中保持与Meteor集合同步.这样的Angular和Meteor配对意味着您可以获得即时DOM到数据库同步,这非常酷.Angular不能单独做到这一点,Meteor也不能(不写更多或更少乏味的事件处理程序)甚至更少的Handlebars.

角流星流星包是非常ngMeteor的继任者(它建立在ngMeteor码),并集成了角车型流星集合,这两个模板系统,流星Session变量等.


Bra*_*kov 6

TL; DR:Meteor最适合包(想想jQuery,bootstrap,d3,下划线,手写笔,更少),因为它们增强了框架.那些相同的包也会增强Angular(好吧,有点).Angular是一个端到端的框架,所以试图将它集成在另一个像Meteor这样的端到端框架之上是令人头疼的问题.

Handlebars具有非常相似的表达式和绑定,您可能在Angular中熟悉它们.但是虽然模板引擎类似,但其余的框架差别很大.

Angular严重依赖其内部指令(ng-repeat,ng-form,ng-bind等),以便轻松地将javascript(即power)绑定到您的标记.幕后有很多魔力.

Meteor严重依赖于pub/sub模型并连接到您真正的数据存储.他们的秘诀来自于轻松添加但是抽象包(把手是他们的默认包之一,但其他一些是bootstrap,accounts-ui,d3等).

流星遵循非常不同的意识形态,对框架设计的看法与Angular不同.在我看来,尽管该项目仍处于相对初级阶段,但Meteor还是优越的.你会发现Meteor真的非常非常擅长快速进行原型设计,特别是如果你需要配合用户支持并希望使用Twitter/Facebook/Google.

你最好选择其中一个,但如果你在服务器方面不够强大,你可以编写一个非常漂亮的Meteor应用程序来充当你的API服务器.


mb2*_*b21 3

一般来说,AngularJS 已经通过了 1.0 版本的里程碑,并被认为已准备好用于生产使用,而 Meteor 仍是 alpha 软件。因此,Angular 更加精致,拥有指令、模块和丰富的第三方库(如AngularUI)

但如果您想尝试一个前沿框架,不要认为您必须做超级花哨的模板工作,但需要内置数据库,请选择 Meteor!