内容
在2020年,我们将拥有许多框架和库来帮助我们进行Web开发。但是变化并不总是那么多。早在2005年,一个名叫Brendan Eich的人创建了一种称为Mocha的新脚本语言。重命名为LiveScript几个月后,该名称再次更改为JavaScript。从那时起,JavaScript已经走了很长一段路。
在2010年,我们看到Backbone和Angular成为第一个JavaScript框架,到2016年,所有网站中有92%使用JavaScript。在本文中,我们将研究三个主要的JavaScript框架(Angular,React和Vue)及其在未来十年中的地位。想建立自己的网站吗?试试这个网站建设者列表。
有关一些出色的资源,请查看我们的顶级Web设计工具列表,我们的网络托管服务综述以及出色的用户测试软件列表。
01.角度
AngularJS于2010年发布,但到2016年,它被完全重写并发布为Angular2。Angular是Google开发的功能完善的Web框架,Wix,Upwork,The Guardian,HBO等使用。
优点:
- 对TypeScript的出色支持
- MVVM使开发人员可以使用同一组数据来分离同一应用程序部分上的工作
- 优秀的文档
缺点:
- 有一点学习曲线
- 从旧版本迁移可能很困难。
- 定期引入更新,这意味着开发人员需要适应它们
下一步是什么?
在Angular 9中,Ivy是默认的编译器。已经解决了许多有关性能和文件大小的问题。它应该使应用程序更小,更快和更简单。
当您将Angular的早期版本与React和Vue进行比较时,
使用Angular时,最终捆绑包的尺寸要大得多。 Ivy还使Progressive Hydration成为可能,这是Angular团队在I / O 2019上展示的东西。ProgressiveHydration使用Ivy在服务器和客户端上逐步加载。例如,一旦用户开始与页面进行交互,组件的代码以及任何运行时都将被逐段获取。
Ivy似乎是Angular的重点,希望能使它适用于所有应用程序。从版本9一直到Angular 10,将有一个退出选项。
02.反应
React最初由Facebook于2013年发布,用于构建交互式Web界面。 Netflix,Dropbox,PayPal和Uber都使用了它。
优点:
- React使用虚拟DOM,这会对性能产生积极影响
- JSX易于编写
- 更新不会影响稳定性
缺点:
- 主要的挫折之一是需要第三方库来创建更复杂的应用程序
- 开发人员处于最佳开发方式的黑暗中
下一步是什么?
在React Conf 2019上,React团队谈到了他们一直在努力的许多事情。第一个是选择性水合作用,这是React会暂停正在执行的操作的功能,以便优先考虑与用户交互的组件。当用户与特定区域进行交互时,该区域将被水化。该团队还一直在研究Suspense,这是React用来协调代码,数据和图像加载的系统。这使组件能够在渲染之前等待某些东西。
并发模式使选择性水合作用和暂缓状态成为可能,该模式使React能够输入较低优先级的大块数据,从而专注于具有较高优先级的内容,例如响应用户输入,从而使应用程序具有更高的响应速度。团队还通过关注两个特定主题(管理焦点和输入界面),将可访问性提到了他们正在研究的另一个领域。
03. Vue
Vue由前Google员工Evan You于2014年开发。小米,阿里巴巴和GitLab都在使用它。在没有主要品牌支持的情况下,Vue在短时间内获得了开发人员的欢迎和支持。
优点:
- 尺寸很轻
- 初学者友好-易于学习
- 伟大的社区
缺点:
- 没有大型公司的支持,例如React与Facebook以及Angular与Google
- 没有真实的结构
下一步是什么?
Vue设定了自己的目标,即更快,更小,更易于维护,并使开发人员更容易定位本机(如果您在维护方面遇到困难,请考虑使用网络托管服务)。下一个版本(3.0)将于2020年第一季度发布,其中包括虚拟DOM重写,以实现更好的性能以及改进的TypeScript支持。另外还添加了Composition API,它为开发人员提供了一种新的方式来创建组件并通过功能而不是操作来组织它们。
那些正在开发Vue的人也一直在忙于Suspense,Suspense将暂停您的组件渲染并渲染回退组件,直到满足条件为止。
Vue更新的一大优点是它们保持了向后兼容性。他们不希望您破坏旧的Vue项目。在从1.0到2.0的迁移中我们看到了这一点,其中90%的API相同。
框架的语法如何比较?
自发布以来,这三个框架都发生了变化,但要理解的关键是语法及其区别。让我们看一下简单事件绑定的语法比较:
Vue: 这 上电 指令用于附加在Vue实例上调用方法的事件侦听器。指令以开头 v- 为了表明它们是Vue提供的特殊属性,并将特殊的反应性行为应用于呈现的DOM。可以内联或方法名称提供事件处理程序。
模板>按钮v-on:click =” clickHandler”>单击我/按钮> / template>脚本>导出默认{名称:“ HelloWorld”,方法:{clickHandler:function(){console.log(“我被点击了! ”); }}}; /脚本>
反应: React在JS和JSX(JavaScript的语法扩展)中添加标记和逻辑。使用JSX,该函数作为事件处理程序传递。使用React元素处理事件与处理DOM元素上的事件非常相似。但是在语法上有一些区别。例如,React事件使用camelCase命名,而不是小写。
function Button(){function clickHandler(e){console.log(“我被点击了”); }返回按钮onClick = {clickHandler}>点击我!/ button>; }
角度: 事件绑定语法由等号左侧括号内的目标事件名称和右侧带引号的模板语句组成。或者,您可以使用 上- 前缀,称为规范形式。
@Component({选择器:“ app-click-me”,模板:`button(click)=“ onClickMe()”> Click me!/ button>`})导出类ClickMeComponent {onClickMe(){console.log(“您点击了我!”); }}
人气和市场
首先,通过检查W3Techs的统计数据,来查看有关Web其余部分的三个框架的总体情况。目前,所有网站中有0.4%使用Angular,JavaScript库市场份额为0.5%。 React在所有网站中所占的比例为0.3%,在JavaScript库中所占的比例为0.4%,而Vue都在两者中所占的比例为0.3%。这似乎相当均匀,您会期望看到这个数字上升。
Google趋势: 在过去的12个月中,React在搜索字词中最受欢迎,紧随其后的是Angular。 Vue.js远远落后。但是,要记住的一件事是,与其他两个相比,Vue还很年轻。
职位搜索: 在撰写本文时,React和Angular在Indeed上的职位列表方面非常接近,而Vue则远远落后。但是,在LinkedIn上,似乎对Vue开发人员的需求更大。
堆栈溢出: 如果您查看2019年Stack Overflow开发人员调查的结果,React和Vue.js都是最受欢迎和最受欢迎的Web框架。 Angular在最爱但最想要的第三名中排名第九。
的GitHub: Vue的星数最多,为153k,但贡献者的数量最少(283)。另一方面,React有14万颗星和1,341个贡献者。 Angular只有59.6k颗恒星,但在三颗星中贡献最多的一颗是1,579颗。
NPM趋势: 上图显示了过去12个月的统计数据,您可以看到React每月的下载量高于Angular和Vue。
移动应用开发
三巨头的主要关注点是移动部署。 React拥有React Native,这已成为构建iOS和Android应用程序的流行选择,不仅适用于React用户,而且适用于更广泛的应用程序开发社区。 Angular开发人员可以将NativeScript用于本地应用程序,将Ionic用于混合移动应用程序,而Vue开发人员可以选择NativeScript或Vue Native。由于移动应用程序的普及,这仍然是关键的投资领域。
2020年值得期待的其他框架
如果您想在2020年尝试一些新事物,请查看这些JavaScript框架。
余烬: 一个用于构建基于MVVM模式工作的Web应用程序的开源框架。微软,Netflix和LinkedIn等几家大公司都在使用它。
流星: 用于开发现代Web和移动应用程序的全堆栈JavaScript平台。它易于学习,并拥有一个非常支持社区的社区。
结论
这三个框架都在不断完善,这是一个令人鼓舞的信号。每个人都有自己的看法和首选解决方案,他们应该使用哪种解决方案,但这实际上取决于项目的规模,这会使您感到更自在。
最重要的方面是他们社区的持续支持,因此,如果您打算开始一个新项目,并且以前从未使用过这三个中的任何一个,那么我相信您对他们所有人都可以放心。如果您还没有机会学习这三个框架中的任何一个,那么我建议您将其作为新年的开始学习的决心。未来将围绕这三个方面。
该内容最初出现在网络杂志上。