颤抖吧腿子 2020-05-25
无论您是要开发前端Web应用程序还是后端Web应用程序,JavaScript无处不在。 有许多出色的JavaScript框架,而几乎每天都有新的JavaScript框架出现。
如果您想开始从事JavaScript开发的职业,或者您是一位经验丰富的JavaScript开发人员,并且现在想提高自己的技术技能,那么应该学习哪个框架? 在这里,我根据以下标准列出了最重要的JavaScript框架:
另外,我将包括用于前端和后端开发的框架。
我在此列表中添加了纯JavaScript框架,但React和Node.js除外。 React是仅实现视图层的库。但是实际上,React Core库是整个React生态系统的一部分,其中包括其他React库(例如React Router)和第三方库。此外," JavaScript的状态"和" Stack Overflow开发人员调查"等声誉卓著的网站将React列为Web框架类别。我还感到,如果不包括最基本的Web框架/库,我只能部分地了解JavaScript的情况。
此外,Node.js是JavaScript运行时,而不是框架。但是Node.js提供了一个完整的基于JavaScript的后端开发生态系统,许多排名(例如" Stack Overflow开发人员调查")通常将Node.js与Ruby on Rails,Django一起归入后端框架类别。 ,PHP Laravel。我知道有些纯粹主义者可能不喜欢它,因此我强烈反对将React和Node.js包含在此列表中。但是,为了全面了解JavaScript,我明智地选择了将React和Node.js包含在此列表中。
1. React
React并不是最早的基于JavaScript的破坏性Web框架之一。 但这是最具破坏性和影响力的基于JavaScript的Web框架。 Jordan Walke和一组Facebook工程师于2013年创建了React,将其作为具有单向数据流的基于组件的Web框架,并永远改变了前端Web开发。 它还引入了许多其他概念,例如函数式,声明式编程,不可变状态,这在前端开发中并不常见。 React的另一个突破是引入了虚拟DOM,它提供了更好的用户体验和性能提升。
今天,React是迄今为止最主要的Web框架,并且没有很快消失的迹象。
5个主要功能:
人气:
每周有800万次下载,React是迄今为止下载次数最多的前端JavaScript框架。 另外,最近五年的NPM趋势表明,React在前端框架中是明显的赢家,在其他框架方面具有领先优势:
> Source: NPM trends
它是GitHub中排名第二的JavaScript框架,贡献者数量第二高:
> Source: GitHub
" JavaScript状况"调查使React在满意度和意识方面处于最高位置:
> Source: The State of JavaScript, 2019
2019年StackOverflow开发人员调查将React列为Web开发中第二大最常用的框架:
> Source: StackOverflow Developer Survey, 2019
它也是2019年最受欢迎的前端框架:
> Source: StackOverflow developer survey, 2019
2. Node.js
尽管曾尝试过在服务器端开发中使用JavaScript,但它们并不是很流行。 在2009年,Ryan Dahl创建了异步的,事件驱动的服务器端JavaScript运行时Node.js,并将JavaScript引入了后端开发的未知领域。 Ryan Dahl使用了流行的JavaScript Engine V8和C ++库。 从那时起,Node.js和JavaScript的普及率直线上升。 借助Node Package Manager NPM和无数的框架/库,Node.js超越了许多其他已建立的服务器端框架。 由于其异步事件驱动的特性和轻量级的,快速的运行时,Node.js特别适合于I / O繁重的应用程序,例如Web,IoT,Serverless。
今天,Node.js不再是框架,而是服务器端JavaScript开发的整个生态系统。 通过许多创新(例如NPM,模块系统),Node.js成为了将JavaScript改进为一种编程语言并提高JavaScript受欢迎程度的主要动力之一。
5个主要功能:
人气:
尽管Node.js是JavaScript项目中排名第三的,但它在GitHub中的贡献者数量最多:
> Source: GitHub
StackOverflow开发人员调查2019已将Node.js放在其他框架类别的首位:
> Source: StackOverflow developer survey, 2019
此外,2019年Stack Overflow开发者调查将Node.js放置为第六最受欢迎的框架:
> Source: StackOverflow developer survey, 2019
从最近十年的Google趋势数据来看,很明显,Node.js已经超越并超越了其他流行的服务器端框架,例如PHP Laravel,Django和ASP.NET。
> Source: Google Trends
3. Vue.js
在现代网络框架由Giant Tech公司支持的情况下,Vue.js是一个例外。 2014年,前Google工程师Evan You决定将AngularJS(视图层)的好部分和React(虚拟DOM)的好部分结合起来,并创建了Vue.js。 如今,Vue.js是最流行的基于JavaScript的Web框架之一。 Evan You的主要设计目标之一是降低基于JavaScript的前端开发的障碍。 Vue.js是最简单的前端框架之一,开发人员可以在其中轻松编写SPA应用程序。
开发人员可以将Vue.js用作带有路由的端到端框架,状态管理(如Angular)或仅用作视图层(如React)。 它还提供了像Angular这样的双向数据绑定,以及额外的反应性,以及像React一样使用Virtual DOM进行渲染。
5个主要功能:
人气:
Vue.js是最受欢迎的GitHub项目,如下所示:
> Source: GitHub
Vue.js最近在业界得到了广泛采用,这可以从NPM的大量下载和赶上Angular上看出:
> Source: NPM trends
根据2019年StackOverflow Developer调查,Vue.js在所有Web框架中排名第七:
> Source: StackOverflow developer survey, 2019
此外,2019年StackOverflow开发人员调查将Vue.js列为第二受欢迎的Web框架:
> Source: StackOverflow developer survey, 2019
" JavaScript状况"调查将Vue.js的兴趣排在第二位:
> Source: The State of JavaScript, 2019
4. Angular
在AngularJS中,Google在2010年创建了最早的基于JavaScript的热门前端框架之一。但是,一旦Facebook发布React,它就暴露了AngularJS的设计缺陷,并迅速成为过时的框架。 结果,Google团队创建了一个全新的SPA框架,并于2016年以Angular的形式发布。尽管Angular和AngularJS具有相似的名称,但实际上它们是两个不同的框架。 与React不同,它是一个端到端框架,具有"开箱即用"的支持,可以开发企业级Web应用程序。 此外,Angular是第一个包含TypeScript的重要框架,并且在使TypeScript流行方面发挥了重要作用。
今天,在炒作和兴趣方面,Angular落后于React,Vue.js或Svelte。 但是,这是一个久经考验且可靠的企业级框架,将在社区中使用很多年。
5个主要功能:
人气:
如果我们考虑GitHub星号,那么它是第4最受欢迎的JavaScript框架,如下所示:
> Source: GitHub
Angular已在行业中被广泛采用,从而弥补了其不受欢迎的不足,因为它在NPM下载方面领先于广受欢迎的Vue.js:
> Source: NPM trends
2019年StackOverflow开发者调查在所有Web框架中将Angular排名为第三位:
> Source: StackOverflow developer survey, 2019
根据2019年的JavaScript状态调查,Angular在知名度方面排名第二:
> Source: The State of JavaScript, 2019
5. Experss
当Node.js于2009年出现时,TJ Holowaychuk已基于简约的Web Framework Sinatra创建了Express.js。 它是开发Web应用程序和REST API的简约Web框架。 它也很少自以为是,而且速度很快。 许多其他基于JavaScript的Web框架都基于Express。
如今,Express.js是最流行的基于JavaScript的Web应用程序框架。
5个主要功能:
人气:
这是最流行的基于JavaScript的后端框架,从GitHub明星那里可以明显看出:
> Source: GitHub
每周,Express.js的下载量超过一千万,是迄今为止下载量最高的JavaScript框架:
> Source: NPM trends
" JavaScript状况"调查连续三年(2017年,2018年,2019年)将Express.js评为顶级JavaScript服务器端框架:
> Source: The State of JavaScript, 2019
2019年StackOverflow开发人员调查将Express评为2019年最受欢迎的Web框架和最受欢迎的JavaScript后端框架第5名:
> Source: StackOverflow Developer Survey, 2019
6. Next.js
React是一个非常简单的框架,其中React-Core仅提供视图层。 始终需要基于React的端到端,自以为是的框架。 Tim Neutkens和荷兰Zeit公司的一组软件工程师创建了Next.js,将其作为React和Node.js之上的端到端,更高级别的Web框架。 Next.js同时提供用于Web,桌面和移动设备的服务器呈现和静态网站。
5个主要功能:
人气:
就GitHub明星而言,它是第六受欢迎的JavaScript框架和第二受欢迎的JavaScript后端框架:
> Source: GitHub
在过去的几年中,Next.js的受欢迎程度猛增,下载量不断增长表明:
> Source: NPM trends
根据" JavaScript的现状" 2019年的报道,Next.js连续两年(2018年,2019年)成为第二令人满意的JavaScript后端框架:
> Source: The State of JavaScript, 2019
7. Meteor
2012年,一组工程师创建了Meteor,它是基于Node.js的同构,开源的全栈JavaScript框架。 它还支持为Web,移动,桌面平台构建端到端应用程序,并与React,Vue.js,Angular,Svelte等流行的前端框架很好地集成。 它也是一个"包含电池"框架,具有对企业级应用程序开发的"开箱即用"支持。
5个主要功能:
人气:
根据GitHub明星的数量,它是第七大最受欢迎的JavaScript框架:
> Source: GitHub
尽管状态不断下降,但" JavaScript状态"调查已将Meteor列为第七大最受欢迎的JavaScript框架:
> Source: The State of JavaScript, 2019
8. Svelte
在2016年,一位Guardian软件工程师Rich Harris提出了开创性的想法,即开发一个没有特定于框架的运行时的JavaScript框架,并发布了Svelte。 想法是使用Svelte编译器,该编译器将特定于框架的代码编译为普通的JavaScript,HTML,CSS,并将编译后的代码呈现给浏览器。 尽管该概念在软件开发中并不陌生,但在前端开发中却是未知领域。 Svelte的另一个重要贡献是增加了对反应性的一流支持,从而在没有虚拟DOM的情况下带来了更快,更好的性能。 如今,它可以说是最热门的前端框架,在业界具有巨大的吸引力和吸引力。
5个主要功能:
人气:
Svelte自2018年发布第2版以来一直很受欢迎,就GitHub明星而言排名第8:
> Source: GitHub
从NPM趋势可以明显看出,在过去的几年中,Svelte的行业采用率正在上升。
> Source: NPM trends
社区和行业都对Svelte表现出了极大的兴趣,这显然是" JavaScript状态"调查将Svelte在兴趣方面排名第一的原因:
> Source: The State of JavaScript, 2019
9. koa
在2013年,由TJ Holowaychuk领导的Express.js的核心成员创建了Koa,它是一种轻量级,现代,表达性强且健壮的中间件框架,用于Web应用程序和API。 Koa是高度模块化的,带有没有中间件的微型Core。 但是,中间件可以作为单独的模块使用。
5个主要功能:
人气:
Koa还是一个非常流行的基于JavaScript的后端框架,在GitHub明星方面排名第9:
> Source: GitHub
从每周的大量下载中可以明显看出,Koa在该行业中也被大量使用:
> Source: NPM trends
JavaScript状态调查将Koa列为第五个最令人满意的JavaScript后端框架:
> Source: The State of JavaScript, 2019
10. Ember.js
受Ruby on Rails原则" Convention over Configuration"的启发,Apple的Yehuda Katz在2012年将Ember.js创建为一个备受好评的端到端框架。Ember.js是一个严格向后兼容的框架,未引入重大突破。 自成立以来。 在那个时代的其他框架(Backbone.js,AngularJS)流行度下降的地方,Ember.js仍在提供可靠,高效的框架来满足现代前端开发的需求。
5个主要功能:
人气:
Ember.js是JavaScript框架中排名第十的GitHub项目:
> Source: GitHub
Ember.js最近受到业界的关注,并且每周有超过100000次下载:
> Source: NPM trends
根据" JavaScript状况"调查,Ember.js在知名度方面排名第四: