选择合适的JavaScript框架,更好地适应你的项目需求,这将有助于提高你的开发能力,与web应用竞争的力量.然后,您可以为基于JavaScript的应用程序或网站想出最好的主意。选择正确的框架应该对项目的成功产生重大影响。它推动你及时完成项目,并帮助你在未来维护代码。Angular.js、Ember.js或React.js等JavaScript框架可以提供良好的代码框架并使代码井井有条,从而使您的应用程序更加灵活和可扩展,开发过程也更加容易。JavaScript场景的波动Web开发变化非常快。几乎每个月都有一个JavaScript框架诞生,现有的框架更新也很频繁。这些框架与开源代码一样,可以由世界上最大的社区进行改进。最后,比较各个框架的优势和差异并不容易。AngularVsReactVsEmber.DeepDive许多开发人员对JavaScript框架感到困惑,因为框架的外观和功能非常不同。下面,我们就比较一下目前在web上广泛使用的三种流行的JavaScript框架:AngularJs、ReactJs、EmberJs的优势。框架概述AngularJS。框架空间之王Angular.js是一个开源Web应用程序框架,它使用模型-视图-控制器(MVC)架构(Angular1)、模型-视图-视图模型(MVVM)架构(Angular2),版权所有由谷歌。它以上述三个框架中最古老的框架命名。因此,他拥有最大的社区。Angular.js通过径向扩展HTML功能解决了开发SPA(单页应用程序)的问题。该框架的突出特点是让您的应用程序快速启动和运行。AngularJs的优缺点优点:自定义文档对象模型(DOM)元素创建。清晰的UI设计和替换。在HTML文档中创建输入属性时,会为每个渲染属性创建一个单独的数据绑定。Angula在更改需要重新呈现之前检查页面的每个显式属性。依赖注解。简单的路径。代码很容易测试。该框架支持扩展HTML语法以直接创建可重用的组件。健壮的模板生成方案。在HTML属性上使用绑定表达式来驱动模板功能。Angular的模板引擎对DOM有着深刻的理解,其优越的结构模板减少了创建生成页面所需的代码量。数据模型对小规模数据的使用有限制,其目的是使代码简单易测试。快速呈现静态列表。良好的代码重用(Angular库)。痛点:API指令复杂度高。对于元素相互调用的页面,Angular变得非常慢。最初的设计速度变慢了。DOM元素过多,影响性能。复杂的第三方集成。曲折的求学之路。域易于使用,但难以调试。路径有局限性。提示:Angular2的处理方式与上述不同。Angular2没有继承Angular1的设计,而是完全重写。两个版本的框架发生了翻天覆地的变化,引起了开发者的极大争议。反应。该领域的新一代ReactJS是一个开源库,它使用其惊人的渲染性能来构建持久的用户界面,由Facebook发布和分发。React专注于模型-视图-控制器结构中的“V”层。React***发布后,迅速达到了顶峰。它的出现是为了解决其他JavaScript框架的一个常见问题——渲染大型数据集合的效率。ReactJs的优缺点优点:界面设计,API简单易学。与其他JavaScript框架相比具有显着的性能。更新速度很快。React创建一个新的虚拟DOM,使用最新的数据并比较之前版本的差异,提供完整的修复机制,并创建一个最小的更新列表,形成一个真正的DOM来同步它,而不是每次改变都重新渲染发生。服务器端渲染允许创建同构/通用网络应用程序。易于导入组件,尽管存在一些依赖性。更好的代码重用。方便的JavaScript调试。在提高复杂组件的性能方面,Angular与React并驾齐驱。基于层次结构的全系统组件。JSX,一种JavaScript扩展语法,允许使用HTML标记语法引用HTML和渲染子组件。反应本机库。痛点:它不是一个完整的框架,它是一个库。非常传统的视图层。Flux结构是开发人员使用的另一种范例。许多开发人员不喜欢JSX。曲折的求学之路。将React集成到传统的MVC框架中需要一些配置,例如铁轨。EmberJS。承担负载EmberJS是一个开源JavaScript框架,用于使用模型-视图-控制器(MVC)模式创建单页客户端Web应用程序。该框架提供了一种通用的数据绑定、基于URL的方法来构建强调可伸缩性的不同应用程序。2007年,Ember起源于SproutCore。2011年被Facebook收购,更名为Ember。它将经过验证的概念与来自Apple的Cocoa等原生框架的轻量级敏捷性相结合。EmberJs的优点和缺点优点:约定优于配置。Ember.js支持遵循命名约定自动生成代码,而不是在您的应用程序的不同路径中提供详细的配置,并且在专项资金的情况下不遵循公共约定。客户端渲染,将Web应用程序结构扩展到视图层之外。支持网址。Ember的对象模型便于观察键值对。嵌套的用户界面。最小化DOM。它在庞大的应用程序生态系统中运行良好。良好集成的java和强大的数据层。完全成熟的模板机制(处理板模板引擎基于流行的Mustache模板引擎构建),减少代码编写。它不知道DOM是什么,而是直接依靠文本操作来构造动态的HTML文档。使用观察者观察内容变化,只需要重新渲染变化的部分。使用附件来避免“脏检查”。具有固有稳定性的更快启动时间。以性能为中心。友好的文档API接口。痛点:Ember.js缺乏控件层面的组件复用。有很多过时的内容和例子不再使用。弯曲的学习曲线。处理板有很多污染DOM的
