ELM是一种纯功能的、强类型的、反应性的、事件驱动的Web前端语言,与其他客户机框架不同,Elm语言肯定不是“另一个JavaScript库”,但是它也有很多优点。
1. 没有HTML和JavaScript的客户端编程
无需在JavaScript中生成HTML,也无需使用某些精简逻辑规则的自定义模板语言。使用Elm,您只有一种语法和一种语言,这是它的全部荣耀。
2. 一致性
由于几乎所有的概念都基于函数和一些结构,因此语法非常简洁。您不必担心是否在实例或类级别定义了某个方法,或者它是否只是一个函数。它们都是在模块级别定义的功能。而且,迭代列表的方法没有上百种。
在大多数语言中,关于代码是否按照语言的方式编写,总是存在这样的争论。很多习语需要掌握。在Elm中,如果它编译,则可能是“Elm”方式。
3. 表现力
Elm语法虽然简洁,但非常有表现力。这主要是通过使用联合类型、正式类型声明和函数样式来实现的。所有这些都鼓励使用更小的函数。最后,您会得到几乎是自文档化的代码。
4. 没有null
当您长时间使用Java或JavaScript时,null会成为编程中不可避免的一部分。而且,尽管我们经常看到NullPointerExceptions和各种TypeErrors, ,但我们仍然不认为真正的问题是null的存在。
使用Elm后,情况很快就明朗了。不使用null不仅可以避免我们一次又一次地看到运行时null引用错误,还可以通过清晰地定义和处理可能没有实际值的所有情况来帮助我们编写更好的代码,从而还可以通过不延迟null处理直到出现故障来减少技术负担。
5. 对它将起作用的信心
创建语法正确的JavaScript程序可以很快完成,但是,它真的有效吗?好吧,让我们在重新加载页面并对其进行彻底测试之后再看一看。
使用Elm则是相反情况。使用静态类型检查和强制空检查,编译需要一些时间,尤其是初学者编写程序时。但是,一旦编译完成,它就很有可能正常工作。
6. 快速的
在选择客户机框架时,这可能是一个重要因素。广泛的web应用程序的响应能力通常对用户体验至关重要,因此也是整个产品成功的关键。而且,测试表明,Elm速度非常快。
Elm与传统框架的优点
大多数传统的web框架为web应用程序的创建提供了强大的工具。但这种能力是有代价的:过于复杂的体系结构,在如何以及何时使用它们方面有许多不同的概念和规则。掌握这一切需要很多时间。有控制器、组件和指令。然后是编译和配置阶段,以及运行阶段。此外,还有服务、工厂和在提供的指令中使用的所有自定义模板语言。在所有这些情况下,我们需要直接调用$scope.$apply()来刷新页面,等等。
Elm编译到JavaScript当然也是非常复杂的,但是开发人员不必知道它的所有细节。只需编写一些Elm,让编译器完成它的工作。
发表评论 取消回复