angularjs – Angular.js和Elm的优点和缺点是什么?

前端之家收集整理的这篇文章主要介绍了angularjs – Angular.js和Elm的优点和缺点是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找在浏览器中做一些反应性编程,并将angular.js( http://angularjs.org/)与Elm( http://elm-lang.org/)进行比较。

每个的相对好处/问题是什么?

我认为他们是不同的野兽,海事组织,虽然他们的目的是尽可能的声明,和“嘿,让我们做他们的方式我们应该做的事情”的态度。

现在,使用AngularJS,你仍然在“熟悉”的领域。意思是,你在这里写一些标记,在那里写一些JS,然后你服务它。与往常一样的工作流程。 AngularJS的“创新”,就我所知,它是扩展HTML与额外的元素类型,这样你可以在标记中声明你的应用程序的很多方面和行为,然后它的JS库包含必要的机器给你模板,路由,数据绑定,表单验证,本地化等。(…写这个让我想知道是否有可能AngularJS有一点膨胀。),这使得一个非常完整的Web应用程序开发框架。它推动你以声明样式编写你的代码

使用Elm你真的进入新的(如果你有一个“典型的”HTML / JS前端开发背景)领土。这是一个不同的方式来做(和想到)GUI开发。您将使用一种全新的语言 – 专门用于以功能反应式编程方式创建GUI – 并且理想情况下,您永远不会处理(至少不是直接)任何传统的DOM API。 Elm提供了一种“标准库”,它提供了工具来创建和操作图形/文本/等等。

您的Elm语言代码将以完全声明的方式描述您希望GUI看起来和行为像时间过去和事件(用户输入等)发生。然后,它将编译为HTML / JS / CSS,以便在浏览器上运行。

榆树也很年轻。这取决于你和你的需要来决定这是不是不利。

我想我选择AngularJS只是相同的老“嘿让我们试试这个JS库/框架的东西” – 过程我们习惯了在JS世界。您抓取lib文件,将它们添加到您的项目,并开始使用其API。而与Elm,你必须开始接近你的工作流和解决方案的问题不同。

AngularJS给你很多结构,它不同于说Backbone.js,但在一天的结束,如果你想做一些高级的GUI和图形行为,使用AngularJS你回写一吨管道样板的东西,你不会写如果你使用Elm。

另一方面,如果你必须开发和发布一个大型网络应用程序,现在,通常的GUI小部件,我们一直在网上使用到目前为止,我会倾向于说去的AngularJS,因为它更稳定。

说到这一点,我认为榆树是当前在前端开发世界发生的最有趣和最有前途的事情。如果我不得不开发和释放一些图形重的东西今天,我会去Elm,因为一个人可以做非常复杂的GUI东西,它在很少几行代码。但我必须首先进入它的心态,并处理这个事实,它很年轻,并与现有的JS前端代码库集成可能不容易,甚至可能的atm。

编辑:

截至2015年3月,Elm是一个更强大的,有很好的工具(时间旅行调试器的想法)。

角度仍然是,好,更多的是一样的。我应该注意,Angular的方法,随着它的a-ton-of-事情发生在每当一个模型变化的方法(“双向数据绑定”)使得它完全不适合基于浏览器的游戏,而Elm擅长游戏和高级GUI东西,需要表现良好。此外,Elm现在有一个快速(使用虚拟dom diff方法)HTML库,当你需要在HTML中说话。

我的选择Elm的骨头是,它的类型系统不是如表达式。 Haskell的。有些人可能认为这是要求奢侈,但恰恰相反,它是失去表达基本功能的能力。特别是我们,经验丰富的JS程序员,遭受不具有表现力的静态类型系统,因为它意味着我们用来容易地表达在JS中的多态代码,成为一个类型错误在Elm,由于缺乏, 2级。

幸运的是,Elm中缺少的所有“愿望清单”功能,不在那里,因为正在讨论他们和他们的选择。所以,他们(或最好的选择)最终会使它成为一种安全的赌注。

猜你在找的Angularjs相关文章