技术开发 频道

Angular 5 vs. React,哪位大佬领先一步?

  【IT168 资讯】选择一个最适合您Web应用程序的JavaScript框架可不是一件容易的事,特别是在Angular 5 和React之间进行抉择。Marius Hofmeister博士和Stephan Rauh博士在这篇文章里谈到了与其他框架相比Angular 5和React的优势,以及应该在何时使用它们。

Angular 5 vs. React,谁更领先一步?

  JAXenter:你好Stephan,Marius。感谢您抽出时间来做这个采访。在JavaScript框架的大世界中,Angular 5 和React已被前端开发人员广泛采用。与Ember.js,Vue.js,Polymer等其他框架相比,这两个框架的优点是什么?

  Marius Hofmeister和Stephan Rauh:这两个框架都有各自的优势和庞大的追捧者群体。由于我们的客户的需求,因此我们专注于Angular和React。Angular.js和React.js已经强烈的推动了市场发展,并且取代了许多成熟的框架。我们偏爱Angular 5 和React的原因不单单限于技术方面,他们都有一个人数客观并且积极活跃的的社区。此外,Angular 5 和React都是由大公司发展和推动的,这意味着投资他们是安全的。

  提到的另外三个框架有很多共同之处。Polymer中的主要元素由组件体现,也是React和最近版本的Angular的例子。到目前为止,我们还没有机会与Ember.js合作,但结合我(Stephan)阅读到的博客文章,Ember.js似乎是一个与Angular没有太大区别的框架,但更侧重的是对用户的指导。因此,Ember.js的操作与Angular有关,就像Angular与React的操作相关:它以牺牲灵活性为代价提供更快的开发,并给予开发人员严格的指导方针。

  Vue.js是一个令人满意的新框架,是 Angular.js的轻量级版本。像Ember.js一样,我们没有机会真正的使用Vue.js,所以我们需要依赖第三方的信息。我的一位前同事(Stephan)表示,Vue.js和Angular完全相同。但是,无论它是否还有市场机会,它这都是一个全新的谈论热点。有一点是可以肯定的:它一定会给React和Angular带来冲击。

  每个已经建立的大型框架的创始人和提交者都会跟踪竞争对手的动向,并且来证明自己的价值。这样一来,每个产品都会变得更好。

  JAXenter:您的会议在国际JavaScript会议上被适当地命名为“Angular 5 VS React”。那么这些工具之间的主要区别是什么?

  Marius Hofmeister和Stephan Rauh:从哲学思想上说,Angular是一个全面的框架,几乎可以说是对前端开发的每个方面都有解决方案。另一方面,React主要用于构建组件并正确高效地展示它们。路由、验证、与后端的通信等都是React故意忽略的任务。

  但这只是理论上的说法。在实践中又是另一回事。使用React的每个开发人员都有自己的库来完成上述任务,最终就会有一个像Angular一样完整的框架。唯一的区别是在最开始时搜索正确的库,并且在更新React后有一个非功能库的风险。有了Angular,就会得到一些包。或者换句话说:在Angular,您通过牺牲灵活性来换取安全性。

  JAXenter:可能在有许多用例中,其中一个框架比另一个框架更好。但有没有都不合适的情况?

  Marius Hofmeister&Stephan Rauh:从本质上讲,您在任何情况下都可以使用这两种框架:在办公环境中实现经典应用程序器工况下,只要数据量不会太高,Angular会更具有优势。

  如果一个应用程序包含了过多的对话框元素,而且性能仍然是关键因素,那么React更为合适。我们的看法是,在开发交互式网站时,React特别受欢迎。其原因之一可能是所产生的React.js应用程序尺寸较小。

  如果您的目标是对移动设备甚至台式电脑提供良好支持,那么我们建议您不要使用Angular和React。当然,任何事情都是可能的,但是在理想情况的支持下,没有什么比原生开发更有意义。

  JAXenter:有没有什么新项目是您建议用户需要密切关注的?

  Marius Hofmeister和Stephan Rauh:Vue.js是一个很有前景的项目。它似乎比Aurelia有更具影响力。GitHub上超过70000多颗星星显示了社区对Vue.js的兴趣。

  如今,建立一个好的框架是不够的,工具链和生态系统比框架本身重要得多。 一个例子是大多数现代IDE都支持Angular和React本机。Angular CLI在项目开始时给您一个开端,而Redux DevTools有时间调试器。新框架必须要跟上这些的步伐。

  JAXenter:在国际JavaScript大会上,您演讲的要点是什么?

  Marius Hofmeister和Stephan Rauh:在我们的会议中,我们展示了在选择Angular和React时,技术方面并不是唯一的决定性的因素。当然,这不是说技术因素不重要。当我(Stephan)在我的博客(BeyondJava.net)上发布他们时,从“废话”到“你是对的”,我收到了各种各样的反应。

  Angular和React解决同样的问题使用的方式却不一样。你需要考虑的一件事是你的团队:它有多年的JavaScript经验么?如果有,那么React可能是最好的选择。

  具有强大Java背景的团队通常更适用于Angular。TypeScript是原因之一,因为它具有Java开发人员在JavaScript中缺少的结构性特征。

  实际上,在使用带有TypeScript的现有JavaScript库时,确实存在一些问题。像Definitelytyped这种类型的项目会很方便,但还远不够完美。这可能是Aurelia和Vue.js如此受欢迎的另一个原因。

  还有很多关于MVVM范例的讨论,因为它包含了Angular开发人员喜欢使用的许多结构。React设法克服了像MCV和MVVM这样的范例。Angular和React之间的抉择,很多情况下都取决于团队的偏好。

0
相关文章