如果我使用meteor,为什么还需要Angular?

Angular对于构build单页面应用程序非常有用。 它基本上是build立在当前的范例上,我们向不同的端点发出请求来帮助我们创build更好的单页面应用程序。

另一方面,我们有meteor似乎更加有能力,尤其是因为他们有一个名为DDP的function,基本上允许双向数据stream。 看起来Meteor是Angular的超集,是明显更好的select。

虽然Angular提供了一些整洁的东西,如testing和本地化,但我不明白为什么我会使用Angular和Meteor,而不是仅仅使用Meteor。 有人能解释一下,为什么我想用meteor的方式来使用Angular,或者如果我使用meteor,甚至可以使用任何MV *前端框架?

两者有细微的差别。 对日常工作最明显的是约束力。

在meteor它有点像有Angular,但没有这个绑定,因为你必须手动做到这一点。 如果你使用angular,它可以自动绑定到你的html,那么Meteor可以进一步把它推送到服务器和其他人。

meteor也有testing,但它的非官方的。 您将不得不从atmosphere.meteor.com安装软件包来使用这个额外的function。 那里还有很多其他的东西。

有一点需要记住的是Meteor在名为Meteor-UI的作品中有一个新的模板引擎,它解决了当前实现哪些angular色的问题。 主要的是DOM隔离。 更多细节在这里: https : //github.com/meteor/meteor/wiki/New-Template-Engine-Preview

新的meteorUI模板引擎实际上比angular度更进一步,因为引入了一个新的“控制”概念。 这意味着你可以添加一个带有句柄的文本框,像代码一样,并通过validation自动绑定到事件和后端。

随着本地化有一个包装的氛围 ,有一点帮助。 您可以使用句柄占位符,并根据您要显示的语言进行replace。

这也取决于你的喜好,如果你对使用Angular感到满意,它可以创build漂亮的应用程序,感觉非常原生。 meteor也以不同的方式做到这一点,现在由于绑定的缘故,它需要做更多的工作,但是由于Meteor-UI的缘故,它会在接下来的一两个月内改变。

我们团队当前的大部分应用都是通过两个框架的组合来构build的。

我不会解释我们使用meteor的原因,因为那不是你的问题(虽然我喜欢谈论meteor有多好,但我只是谈论Angular)

  1. 声明式方法 – AngularJS是Javascript框架的声明式方法的领导者。 当我们与很多devise师密切合作的时候,我们可以看到他们对代码的理解是多么容易。 AngularJS也使得新程序员更容易进入我们的团队。
  2. 巨大的生态系统 – Angular的生态系统是惊人的。 你有angular-x的一切。 这不是一个耻辱。
  3. 现在将两者结合起来更容易 – 我显然有偏见,但是我们的团队编写并维护了这个库 – angularmeteor,而且我们还发布了一个教程,将两angular星stream教程

顺便说一句 – 目前的正确答案已经过时了。 meteor的新模板引擎(火焰)已经出来,这是伟大的…

我们最近写了一篇关于Meteor vs Angular的文章。 我认为Angular现在可以作为对meteor的赞美,但meteor每天都会继续进入和Angular相同的前端function集。

我也会说,因为我正在写testingmeteor书,所以我在testing方面有些偏颇。 有一个名为Velocity的新举措,将会更加规范Meteor的testing场景。

AngularJS现在得到了meteorv1.2的正式支持,并将它们一起使用是我今天知道的最强大的解决scheme。 http://angular-meteor.com

由于Meteor和AngularJS领域在视图部分重叠,真正的问题是使用AngularJS作为诱惑引擎而不是Blaze有什么好处?

  • AngularJS通常需要较less的代码来实现相同的结果(绑定更简单快捷,即使是闪耀的粘合代码也更less)
  • AngularJS提供了一个方便的方式来使用像本地导入或命名空间那样的模块来构build代码。 即使ECMA2015支持v1.2版本,这仍然“缺失”,但希望很快就会覆盖 。
  • AngularJS 2.0将比Blaze 更快 ,但是用于加载lib
  • 有很多基于AngularJS的模板 , 库和其他框架 ,比Blaze多得多。

这一切都取决于你。 如果您使用的是angular度背景,那么将其用于下一个项目会更容易。 Meteor是一个完整的框架,带有命令行工具和内置的Web服务器,可以在客户端和服务器上使用,以实现实时应用。 所以如果你使用Meteor,你不需要使用angular度。 如果你想阅读更多有关Angular和Meteor的内容,请阅读从客户端angular度到服务器端的stream量

Angular由于其简单性和完整性而被广泛使用并且非常stream行。 这很简单,因为它具有所有的组件,包括模板,数据绑定等。

虽然我真的很喜欢和欣赏meteor,但我不确定它是否准备好黄金时段。 meteor中的许多概念在真实生产应用程序中还没有被提到。 例如,在客户端使用mongoDB lite可能是一个巨大的优势,也可能是一个很大的负面因素。

我会根据它的准备,简单性和完整性来selectAngular。 当它准备好黄金时,meteor值得一个真正的评估。