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

时间:2013-11-08 07:09:52

标签: javascript angularjs meteor

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

另一方面,我们有Meteor似乎更有能力,特别是因为他们有一个名为DDP的功能,它基本上允许双向数据流。看起来Meteor是Angular的超集,是明显更好的选择。

虽然Angular确实提供了一些像测试和本地化这样的整洁的东西,但我只是不明白为什么我会使用Angular和Meteor,而不是仅仅使用Meteor。如果我使用Meteor,有人可以解释为什么我会想要使用Meteor与Angular,甚至使用任何MV *前端框架?

6 个答案:

答案 0 :(得分:31)

我们团队目前的大多数应用程序都是使用两种框架的组合构建的。

我不会解释我们使用Meteor的原因,因为那不是你的问题(虽然我喜欢谈论Meteor有多么伟大,但我只会谈论Angular:

  1. 声明式方法 - AngularJS是Javascript框架声明性方法的领导者。当我们与很多设计师密切合作时,我们可以看到他们理解代码是多么容易。使用AngularJS也可以让新程序员更容易进入我们的团队。
  2. 巨大而优秀的生态系统 - Angular的生态系统令人惊叹。你有角度-x的一切。不使用它是一种耻辱。
  3. 现在更容易将两者结合起来 - 我显然有偏见但我们的团队编写并维护了这个库 - angular-meteor我们还发布了一个将两者结合起来的教程 - angular-meteor tutorial
  4. 顺便说一下 - 目前正确的答案已经过时了。 Meteor的新模板引擎(Blaze)已经淘汰了,它很棒......

答案 1 :(得分:29)

两者略有不同。日常工作中最明显的就是约束力。

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

Meteor确实也有测试,但非官方。您必须在atmosphere.meteor.com上安装软件包才能使用此额外功能。那里还有很多其他的东西。

要记住的一件事是Meteor在作品中使用了一个名为Meteor-UI的新模板引擎,该引擎解决了当前实现角度有限的许多问题。主要的是DOM隔离。有关详细信息,请访问:https://github.com/meteor/meteor/wiki/New-Template-Engine-Preview

新的Meteor-UI模板引擎实际上比角度更进一步,因为引入了新的“控件”概念。这意味着您可以添加带有把手的文本框,例如代码,并通过验证自动绑定到事件和后端。

通过本地化,有package on atmosphere可以帮助解决这个问题。您可以使用把手占位符并根据您要显示的语言替换它们。

这也取决于您的偏好,如果您对使用Angular感到满意,它可以创建非常原生的漂亮应用程序。 Meteor也以不同的方式做到这一点,目前因为绑定而需要更多工作,但由于Meteor-UI,它会在接下来的一两个月内发生变化。

答案 2 :(得分:6)

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

我还会说我对测试方面有点偏颇,因为我正在写测试流星书。有一项新的计划已经开始,名为Velocity,它将使Meteor的测试场景更加标准化。

答案 3 :(得分:4)

AngularJS现已正式支持Meteor v1.2,并将它们结合使用是我今天所知的最强大的解决方案。 http://angular-meteor.com

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

  • AngularJS通常需要更少的代码来实现相同的结果(更容易和更快的绑定,更少的胶水代码,即使火焰很好)
  • AngularJS提供了一种使用模块构建代码的便捷方式,这些模块的作用类似于本地导入或命名空间。即使在v1.2中支持ECMA2015,hopefully soon covered仍然“缺失”。
  • AngularJS 2.0将比Blaze更faster但是用于加载lib
  • 基于AngularJS,有很多templateslibraries和其他framework,远远超过Blaze。

答案 4 :(得分:2)

一切都取决于你。如果您来自角度背景,那么将它用于您的下一个项目会更容易。 Meteor是一个完整的框架,带有命令行工具和内置的Web服务器,可以在客户端和服务器上使用,以实现实时应用。因此,如果您使用Meteor,则无需使用角度。如果您想阅读有关Angular和Meteor的更多信息,请阅读FROM CLIENT-SIDE ANGULAR TO SERVER-SIDE METEOR

答案 5 :(得分:-5)

Angular因其简单和完整而被广泛使用并且非常受欢迎。它很简单,因为它的大小和完整,因为它包含模板,数据绑定等所有组件。

虽然我非常喜欢和欣赏Meteor,但我不确定它是否已准备好迎接黄金时段。 Meteor中的很多概念都没有在实际制作应用程序中使用。例如,在客户端使用mongoDB lite可能是一个巨大的优势,也可能是一个很大的负面因素。

我会根据其准备,简单和完整性选择Angular。当流星准备好迎接黄金时段时,它应该得到真正的评估。