60

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

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

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

4

6 回答 6

31

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

我不会解释我们使用 Meteor 的原因,因为那不是你的问题(尽管我喜欢谈论 Meteor 是多么伟大的每一个机会)所以我将只谈谈 Angular:

  1. 声明式方法- AngularJS 是 Javascript 框架声明式方法的领导者。由于我们与许多设计师密切合作,我们可以看到他们理解代码是多么容易。使用 AngularJS 还可以更轻松地让新程序员加入我们的团队。
  2. 巨大而伟大的生态系统——Angular 的生态系统是惊人的。你有 angular-x 的一切。不使用它是一种耻辱。
  3. 现在将它们结合起来更容易- 我显然有偏见,但我们的团队编写并维护了这个库 - angular-meteor,我们还发布了一个结合两者的教程 - angular-meteor 教程

顺便说一句 - 当前的正确答案已经过时了。Meteor 的新模板引擎 (Blaze) 出来了,它很棒……

于 2014-10-07T22:09:04.717 回答
29

两者有细微差别。日常工作中最明显的就是装订。

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

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

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

新的 Meteor-UI 模板引擎实际上比 Angular 更进一步,因为引入了“控件”的新概念。这意味着您可以使用类似把手的代码添加一个文本框,并让它自动绑定到事件和后端,并进行验证。

随着本地化,有一个关于气氛的包,可以帮助解决这个问题。您可以使用车把占位符并根据您要显示的语言替换它们。

这也取决于您的偏好,如果您习惯使用 Angular,它可以创建感觉非常原生的漂亮应用程序。Meteor 也以不同的方式执行此操作,目前由于绑定需要更多的工作,但由于 Meteor-UI,它会在接下来的一两个月内发生变化。

于 2013-11-08T08:15:35.377 回答
6

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

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

于 2014-05-24T15:34:26.987 回答
4

AngularJS 现在得到了 Meteor v1.2 的正式支持,并且将它们一起使用是我目前所知道的最强大的解决方案。 http://angular-meteor.com

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

  • AngularJS 通常需要更少的代码来实现相同的结果(更容易和更快的绑定,即使 blaze 擅长它,胶水代码也更少)
  • AngularJS 提供了一种方便的方法来使用类似于本地导入或命名空间的模块来构建代码。即使在 v1.2 中支持 ECMA2015,这仍然是“缺失”的,但希望很快就会被覆盖
  • AngularJS 2.0 将/比 Blaze更快,但用于加载库
  • 有很多基于 AngularJS的模板和其他框架,远远超过 Blaze。
于 2015-09-26T06:36:50.180 回答
2

这一切都取决于你。如果您来自角度背景,那么在您的下一个项目中使用它会更容易。Meteor 是一个完整的框架,带有命令行工具和内置的 Web 服务器,可以在客户端和服务器上用于制作实时应用程序。因此,如果您使用 Meteor,则不需要使用 angular。如果您想了解更多关于 Angular 和 Meteor 的信息,请阅读从客户端角度到服务器端流星

于 2014-06-25T16:58:01.553 回答
-5

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

虽然我真的很喜欢和钦佩 Meteor,但我不确定它是否准备好迎接黄金时段。Meteor 中的许多概念还没有在实际生产应用程序中应用。例如,在客户端拥有 mongoDB lite 可能是一个巨大的优势,也可能是一个很大的负面影响。

我会根据 Angular 的就绪性、简单性和完整性来选择它。Meteor 在准备好黄金时段时值得真正评估。

于 2014-04-21T19:28:28.653 回答