跳转到主要内容
Chinese, Simplified

前段时间我们发表了一篇文章,比较了Angular和React。 在那篇文章中,我们展示了这些框架的优缺点,并建议在2018年为特定目的选择什么。 那么,2019年前端花园的情况如何呢?
JavaScript框架正在以极快的速度发展,这意味着今天我们经常更新Angular,React和该市场上的其他玩家版本 -  Vue.js.
我们分析了全球需要特定框架知识的开放职位数量。 作为消息来源,我们采用Indeed.com并根据超过60,000个工作机会获得以下分配。

考虑到以下数据,我们决定分享每个前端框架的主要优点和缺点,并帮助技术专业人员或工程师根据他们的开发需求选择最佳的。


Angular的利弊


Angular是一个超级英雄的JavaScript MVVM框架,成立于2009年,非常适合构建高度交互的Web应用程序。


Angular的好处:


创建的Angular与Typescript一起使用。并且对它有特殊的支持。
Angular-language-service  - 允许在组件外部HTML模板文件中进行智能和自动完成。
新功能,例如来自CLI的一代基于Angular的npm库,基于Angular的WebComponents的生成和开发。
详细的文档,允许为个人开发人员获取所有必要的信息,而无需询问他的同事。但是,这需要更多的时间进行教育。
单向数据绑定,可为应用程序启用单一行为,从而最大限度地降低可能出错的风险。
MVVM(Model-View-ViewModel),允许开发人员使用同一组数据在同一个应用程序部分上单独工作。
通常使用模块和模块化依赖注入与组件相关的功能。
专为最佳项目可扩展性而创建的结构和体系结构


Angular的缺点:


与React和Vue.js相比,各种不同的结构(注射器,组件,管道,模块等)使得学习起来有点困难,React和Vue.js只考虑了“组件”。
根据不同的基准测试,性能相对较慢。另一方面,它可以通过利用所谓的“ChangeDetectionStrategy”轻松解决,它有助于手动控制组件的渲染过程。


使用Angular的公司:

 Microsoft, Autodesk, MacDonald’s, UPS, Cisco Solution Partner Program, AT&T, Apple, Adobe, GoPro, ProtonMail, Clarity Design System, Upwork, Freelancer, Udemy, YouTube, Paypal, Nike, Google, Telegram, Weather, iStockphoto, AWS, Crunchbase.


React的利弊


React是一个JavaScript库,于2013年由Facebook开源,非常适合构建任何规模和规模的现代单页应用程序。


React的好处:


由于其简单的设计,使用JSX(类似HTML的语法)进行模板化和高度详细的文档,因此易于学习。
开发人员花费更多时间编写现代JavaScript,而不必担心特定于框架的代码。
非常快,礼貌的React的虚拟DOM实现和各种渲染优化。
对服务器端呈现的强大支持,使其成为面向内容的应用程序的强大框架。
借助`create-react-app`应用程序生成器,支持一流的渐进式Web应用程序(PWA)。
数据绑定是单向的,意味着更少的不必要的副作用。
Redux是在React中管理应用程序状态的最流行的框架,易于学习和掌握。
React实现了功能编程(FP)概念,创建了易于测试和高度可重用的代码。
使用Microsoft的TypeScript或Facebook的Flow可以使应用程序类型安全,两者都具有对JSX的本机支持。
在版本之间迁移通常非常容易,Facebook提供“codemods”来自动化大部分过程。
在React中学到的技能可以(通常直接)应用于React Native开发。


React的缺点:


React是不受干扰的,让开发人员可以选择最好的开发方式。这可以通过强有力的项目领导和良好的流程来解决。
社区对在React中编写CSS的最佳方式存在分歧,在传统样式表(CSS模块)和CSS-in-JS(即情感和样式组件)之间进行划分。
React正逐渐远离基于类的组件,这可能成为开发人员更容易使用面向对象编程(OOP)的障碍。
最初将模板与逻辑混合(JSX)可能会让一些开发人员感到困惑。


使用React的公司:

 Facebook, Instagram, Netflix, New York Times, Yahoo, Khan Academy, Whatsapp, Codecademy, Dropbox, Airbnb, Asana, Atlassian, Intercom, Microsoft, Slack, Storybook, and many more.

 

Vue.js的优点和缺点


Vue.js是一个JavaScript框架,于2013年推出,非常适合创建高适应性的用户界面和复杂的单页面应用程序。


Vue.js的好处:


赋予HTML权力。这意味着Vue.js与Angular有许多相似的特性,这有助于通过使用不同的组件来优化HTML块处理。
详细文档。 Vue.js具有非常周密的文档,可以为开发人员设置学习曲线,并且仅使用HTML和JavaScript的基本知识就可以节省大量时间来开发应用程序。
适应性强。它提供了从其他框架到Vue.js的快速切换周期,因为它在设计和架构方面与Angular和React相似。
很棒的整合。 Vue.js可用于构建单页面应用程序和更困难的应用程序Web界面。主要的是,较小的交互式部件可以轻松集成到现有基础设施中,而不会对整个系统产生负面影响。
大规模。 Vue.js可以帮助开发相当大的可重用模板,根据其简单的结构,可以在没有为其分配额外时间的情况下制作模板。
小巧的尺寸。 Vue.js的重量可以保持在20KB左右,保持其速度和灵活性,与其他框架相比,可以实现更好的性能。


Vue.js的缺点:


缺乏资源。与React或Angular相比,Vue.js的市场份额仍然很小,这意味着该框架中的知识共享仍处于起步阶段。
过度灵活的风险。有时,Vue.js在整合到大型项目时可能会遇到问题,但仍然没有可能的解决方案经验,但它们肯定会很快到来。


使用Vue.js的公司:

Xiaomi, Alibaba, WizzAir, EuroNews, Grammarly, Gitlab and Laracasts, Adobe, Behance, Codeship, Reuters.


结论


对于真正的工程师来说,选择哪个框架没有太大的区别,因为它只需要一些时间来适应新的框架。在我们公司,我们在React和Angular中积累了大量专业知识,但Vue.js也在其中。每个框架都有自己的优点和缺点,这意味着在产品开发过程中每个案例都应该有正确的选择。

 

原文:https://medium.com/@TechMagic/reactjs-vs-angular5-vs-vue-js-what-to-choose-in-2018-b91e028fa91d

本文:http://pub.intelligentx.net/react-vs-angular-vs-vuejs-what-choose-2019-updated

讨论:请加入知识星球或者小红圈【首席架构师圈】

Article
知识星球
 
微信公众号
 
视频号