Finally, you’ve come to a marvelous idea for a JavaScript-based application or a website. Choosing the right framework may have a considerable effect on the success of your project. It can influence your ability to complete the project on time and maintain your code in the future. JavaScript frameworks, like Angular.js, Ember.js, or React.js, bring structure to your code and keep it organized, thus making your app more flexible and scalable, and the development process – easier.
最后,您对基于JavaScript的应用程序或网站有了一个奇妙的想法。 选择正确的框架可能会对您的项目成功产生重大影响。 它会影响您按时完成项目并在将来维护代码的能力。 JavaScript框架(例如Angular.js,Ember.js或React.js)将结构带入代码中并使其保持井井有条,从而使您的应用程序更加灵活,可扩展,并且开发过程更加轻松。
The web development has been changing very quickly. Almost every month a new JavaScript framework is being introduced, and existing frameworks are being updated very often. As these frameworks are of an open source kind, large communities around the world can constantly enrich them. And as the result, understanding the benefits of each framework and the difference between them is not an easy task.
Web开发的变化非常快。 几乎每个月都会引入一个新JavaScript框架,并且现有框架会经常更新。 由于这些框架属于开源框架,因此世界各地的大型社区可以不断丰富它们。 结果,了解每个框架的好处以及它们之间的区别并不是一件容易的事。
Angular.js is an open-source web application framework with Model-View-Controller (MVC) architecture (Angular 1) and Model-View-ViewModel (MVVM) architecture (Angular 2), powered by Google. It is the oldest of the three frameworks named above. As the result, it has the largest community. Angular.js solves the problem of developing SPA’s (single page applications) by extending the functionality of HTML with directives. The framework places an emphasis on getting your app up and running quickly.
Angular.js是一个开放源代码Web应用程序框架,由Google支持,具有Model-View-Controller(MVC)架构(Angular 1)和Model-View-ViewModel(MVVM)架构(Angular 2)。 它是上面命名的三个框架中最古老的。 结果,它拥有最大的社区。 Angular.js通过使用指令扩展HTML的功能来解决开发SPA(单页应用程序)的问题。 该框架着重于使您的应用程序快速启动和运行。
Benefits:
优点:
Pain points:
痛点:
Note. The functionalities of Angular 2 differ from the above described. Angular 2 was not redesigned from Angular 1, it was completely rewritten. The drastic changes between two versions of the framework created considerable controversy among developers.
注意 。 Angular 2的功能与上述功能有所不同。 Angular 2并未从Angular 1进行重新设计,而是被完全重写。 两种版本的框架之间的巨大变化在开发人员之间引起了很大的争议。
ReactJS is an open-source JavaScript library for building performant user interfaces with focus on amazing rendering performance, introduced and powered by Facebook. React is focused on “V” in Model View Controller architecture. After React was first announced, it quickly achieved critical mass. It was built in order to solve the common problem with other JavaScript frameworks – efficient rendering of large data sets.
ReactJS是一个开源JavaScript库,由Facebook引入并提供支持,用于构建性能卓越的用户界面,专注于出色的渲染性能。 React专注于Model View Controller体系结构中的“ V”。 React首次发布后,很快就达到了临界质量。 构建它是为了解决其他JavaScript框架的常见问题-大型数据集的有效呈现。
Benefits:
优点:
Pain points:
痛点:
EmberJS is an open-source JavaScript application framework for creating single-page client-side web applications, which uses Model-View-Controller (MVC) pattern. The framework provides universal data binding together and URL-driven approach for structuring different applications with the focus on scalability.
EmberJS是一个开放源代码JavaScript应用程序框架,用于创建使用Model-View-Controller(MVC)模式的单页客户端Web应用程序 。 该框架提供了通用的数据绑定和URL驱动的方法,用于以可伸缩性为重点来构建不同的应用程序。
Ember was originated as SproutCore in 2007. In 2011 it was acquired by Facebook and renamed to Ember. It combines proven concepts from native frameworks like Apple’s Cocoa with the lightweight sensibilities.
Ember于2007年最初名为SproutCore。2011年,它被Facebook收购,并更名为Ember。 它结合了诸如Apple Cocoa之类的本地框架中经过验证的概念以及轻巧的灵敏度。
Benefits:
优点:
Pain points:
痛点:
Determining which framework is right for you is simply a matter of evaluating your application’s needs versus the strengths of each framework. It requires an in-depth knowledge of advantages and disadvantages of each framework under consideration, and how they compete for different use cases. All the frameworks have a lot in common: they are open-sourced, released under the permissive license, and create SPAs with MVC design pattern. They all have views, events, data modules and routing. However, different JavaScript frameworks are better suitable for different types of applications.
确定适合您的框架仅是评估应用程序需求和每个框架的优势的问题。 它需要深入了解所考虑的每个框架的优缺点,以及它们如何竞争不同的用例。 所有框架都有很多共同点:它们是开源的,在许可的许可下发布,并使用MVC设计模式创建SPA。 它们都具有视图,事件,数据模块和路由。 但是,不同JavaScript框架更适合于不同类型的应用程序。
If you are making a decision on creating a web app, Angular, React, and Ember are a safest bet for a long-term support and active communities. Moreover, currently Angular is the most popular of these three. You can use it as one-stop-shop. It’s a framework of choice for large enterprises. Ember is the best solution for those who seek for all-tools-included framework approach. Ember makes many decisions instead of you, so you don’t have to spend your time on researching and gluing together libraries. As Ember takes long to learn, it would suit well for long-term project. React is the lightest weight of the named above. It does one thing great: renders UI components. Many even pair it with the above-mentioned frameworks. It’s an appropriate choice if you need to gradually modernize an existing code base.
如果您决定创建一个Web应用程序,那么Angular,React和Ember是长期支持和活跃社区的最安全选择。 而且,目前Angular是这三个中最受欢迎的。 您可以将其用作一站式商店。 这是大型企业的首选框架。 对于那些寻求包含所有工具的框架方法的人来说,Ember是最好的解决方案。 Ember代替您做出许多决定,因此您不必花时间研究和粘贴库。 由于Ember需要花费很长时间来学习,因此非常适合长期项目。 React是上面提到的最轻的东西。 它做的一件很棒的事:呈现UI组件。 许多人甚至将其与上述框架配对。 如果您需要逐步更新现有代码库,这是一个适当的选择。
As you see, there is no clear winner. Some frameworks fit specific projects better than the others do. Examine your project from several different perspectives including maturity, size, dependencies, interoperability, features, etc., and contact professional front-end web development company to build immaculate website architecture and website design that suit your business needs the best.
如您所见,没有明显的赢家。 一些框架比其他框架更适合特定项目。 从成熟度,大小,依赖项,互操作性,功能等多个不同角度检查您的项目,并与专业的前端Web开发公司联系,以构建最适合您业务需求的完美网站体系结构和网站设计。
If you'll have any comments, I would be glad to hear them.
如果您有任何意见,我很乐意听到。
Originally my article was published on Romexsoft blog. There you can also find the comparison tables.
最初,我的文章发表在Romexsoft博客上。 您还可以在那里找到比较表。