无论您是开发前端Web应用程序还是后端Web应用程序,JavaScript无处不在。有很多很棒的JavaScript框架,而且几乎每天都有新的出现。如果你想从事JavaScript开发,或者你是一位经验丰富的JavaScript开发人员,现在想提高你的技术技能,你应该学习哪个框架?在这里,我根据以下标准列出了最重要的框架:JavaScript框架:基于可靠站点的流行(GitHub、JavaScript状态、NPM趋势、Google趋势)。主流化并建立在社区和行业中。一个庞大而充满活力的社区为他们提供支持。仍然很强大,不会像jQuery或AngularJS那样消失。此外,我将包括用于前端和后端开发的框架。我已将纯JavaScript框架添加到此列表中,但React和Node.js除外。React是一个只实现视图层的库。但实际上,ReactCore库是整个React生态系统的一部分,包括其他React库(例如ReactRouter)和第三方库。此外,“TheStateofJavaScript”和“StackOverflowDeveloperSurvey”等知名网站将React列为Web框架类别。我还觉得我只是部分了解JavaScript的情况,而没有包括最基本的Web框架/库。此外,Node.js是一个JavaScript运行时,而不是一个框架。但Node.js提供了一个完整的基于JavaScript的后端开发生态系统,许多排名(例如“StackOverflow开发人员调查”)经常将Node.js与RubyonRails、Django一起放在后端框架类别中。,PHP拉维尔。我知道一些纯粹主义者可能不喜欢它,所以我强烈反对在此列表中包含React和Node.js。但是,为了全面了解JavaScript,我明智地选择将React和Node.js包含在此列表中。1.ReactReact并不是第一个具有破坏性的基于JavaScript的Web框架。但这是最具颠覆性和影响力的基于JavaScript的Web框架。JordanWalke和Facebook工程师团队在2013年创建了React,作为一个基于组件的Web框架,具有单向数据流,并永远改变了前端Web开发。它还引入了许多其他概念,例如函数式、声明式编程、不可变状态,这些在前端开发中并不常见。React的另一个突破是引入了虚拟DOM,它提供了更好的用户体验和性能改进。如今,React是迄今为止最主要的Web框架,并且没有任何迹象表明它会很快消失。5个主要特性:React是最简单的框架之一,其中React-Core只是一个基于组件的视图层库。React的口号是:“Learnonce,writeanywhere”。软件工程师可以使用React进行Web开发(React)、移动应用程序(ReactNative)、桌面应用程序(Electron)和后端开发(使用Node.js)。React提供一流的服务器端渲染(SSR)和出色的SEO支持。科技巨头Facebook的需求推动了React的发展。好的一面是,React功能已经过26亿Facebook用户的测试。React不断改进自己,最近推出了React-Fiber(更好的并发性)、Reacthooks(更少的样板代码)、Suspense(更好的渲染)。流行度:React每周有800万次下载,是迄今为止下载量最大的前端JavaScript框架。此外,过去五年的NPM趋势表明,React是前端框架中明显的赢家,领先于其他框架:>来源:NPMtrends它是GitHub中排名第二的JavaScript框架,排名第二贡献者人数:>来源:GitHub“JavaScript现状”调查将React置于满意度和知名度的首位:>来源:2019年JavaScript现状2019年StackOverflow开发人员调查将React列为Web开发中第二大最常用的框架:>来源:StackOverflow开发者调查,2019年也是2019年最流行的前端框架:>来源:StackOverflow开发者调查,20192很受欢迎。2009年,RyanDahl创建了Node.js,一个异步的、事件驱动的、服务器端JavaScript运行时,并将JavaScript引入了后端开发的未知领域。RyanDahl使用流行的JavaScript引擎V8和C++库。从那时起,Node.js和JavaScript的流行度直线上升。借助NodePackageManagerNPM和无数的框架/库,Node.js超越了许多其他已建立的服务器端框架。由于其异步事件驱动的特性和轻量级、快速的运行时,Node.js特别适用于I/O密集型应用程序,如Web、IoT、Serverless。今天,Node.js不再是一个框架,而是一个完整的服务器端JavaScript开发生态系统。通过许多创新(例如NPM、模块系统),Node.js一直是改进JavaScript作为编程语言和提高JavaScript流行度的主要驱动力之一。5个主要特点:Node.js是一个异步的、事件驱动的JavaScript框架,用于构建可扩展的网络应用程序。Node.js是跨平台的,将Java的“一次编写,随处运行”提升到一个新的水平。它可以在Windows、Linux、macOS、iOS、Android和许多其他平台上运行。Node.js由于其相对较小的体积和较快的启动速度而被大量用于无服务器计算。Node.js由OpenJS基金会运营,是一个不受单一技术公司控制的开源框架。如今,几乎所有科技巨头(IBM、微软、Netflix)都在使用和支持Node.js。它原生支持JavaScript和所有其他“编译为JS”的语言,如TypeScript、CoffeeScript、Dart。Node.js还支持网络的下一件大事:WebAssembly。受欢迎程度:尽管Node.js是第三大JavaScript项目,但它在GitHub中的贡献者数量最多:>来源:GitHubStackOverflow开发人员调查2019将Node.js置于“其他框架”类别的首位:>来源:StackOverflow开发人员2019年调查此外,2019年StackOverflow开发人员调查将Node.js列为第六大最受欢迎的框架:>来源:StackOverflow开发人员调查,2019年从过去十年的Google趋势数据来看,很明显,Node.js已经超越并超越了其他流行的服务器端框架,如PHPLaravel、Django和ASP.NET。>来源:GoogleTrends3.Vue.jsVue.js是GiantTech公司支持的现代Web框架中的一个例外。2014年,前Google工程师EvanYou决定结合AngularJS(视图层)的优点和React(虚拟DOM)的优点,创建了Vue.js。如今,Vue.js是最流行的基于JavaScript的Web框架之一。EvanYou的主要设计目标之一是降低基于JavaScript的前端开发的门槛。Vue.js是最简单的前端框架之一,开发人员可以在其中轻松编写SPA应用程序。开发人员可以将Vue.js用作具有路由、状态管理(如Angular)或仅用作视图层(如React)的端到端框架。它还像Angular一样提供双向数据绑定,并提供额外的反应性,并像React一样使用VirtualDOM进行渲染。5个主要特性:Vue.js提供渐进式应用程序开发和一流的文档。如果你有一个庞大的遗留JavaScript代码库,你可以使用Vue.js逐步现代化你的代码库。Vue.js既可以用作端到端框架,也可以用作具有状态管理的视图层。它提供反应式双向数据绑定(如Angular)和虚拟DOM、事件源(如React)。Vue.js对JavaScript和TypeScript有同等的支持。Vue.js在即将推出的Vue.js3.0中得到了重大改进和改进。流行度:Vue.js是最受欢迎的GitHub项目,您可以在这里看到:>来源:GitHubVue.js最近在业界得到了广泛的采用,NPM上的大量下载量和赶超Angular就是明证:>来源:NPMtrends根据2019年StackOverflow开发人员调查,Vue.js在所有Web框架中排名第七:>来源:StackOverflow开发人员调查,2019此外,2019年StackOverflow开发人员调查将Vue.js列为第二受欢迎的Web框架:>来源:StackOverflow开发者调查,2019年“JavaScript状态”调查将Vue.js排在第二位:>来源:TheStateofJavaScript,20194.Angular在AngularJS中,Google创建了最早的基于JavaScript的流行前沿之一——端框架。然而,Facebook发布React后,它暴露了AngularJS的设计缺陷,并迅速成为一个过时的框架。因此,谷歌团队创建了一个全新的SPA框架,并于2016年将其命名为Angular发布。尽管名称相似,但Angular和AngularJS实际上是两个不同的框架。与React不同,它是一个端到端的框架,具有“开箱即用”的支持,可用于开发企业级Web应用程序。此外,Angular是第一个包含TypeScript的重要框架,并在使TypeScript流行起来方面发挥了重要作用。今天,Angular在炒作和兴趣方面落后于React、Vue.js或Svelte。然而,这是一个久经考验的真正企业级框架,社区将使用多年。5个主要特性:Angular.js是一个端到端的框架,具有“开箱即用”的支持,可用于开发企业应用程序。在AngularCLI中,它拥有JavaScript环境中最好的命令行工具之一。使用TypeScript并将模板与样式和业务逻辑分开,它特别适合企业级的大型代码库。从本质上讲,它是最安全的前端框架,具有DOM清理等内置功能。尽管Google不像Facebook支持React那样支持Angular,但它仍然投入了足够的资源,使Angular仍然是一个有吸引力的创新框架。最近,它添加了延迟加载、差异加载以改善模块的加载时间。在Angular9中,它发布了一个新的渲染引擎Ivy,以改善启动时间、响应时间并减少包大小。受欢迎程度:如果我们考虑GitHubAsterisk,那么它是第四大最受欢迎的JavaScript框架,如下所示:广受欢迎的Vue.js:>来源:2019年NPM趋势StackOverflow开发人员调查将Angular在所有Web框架中排名第三:>来源:StackOverflow开发人员调查,2019根据StateofJavaScript2019Survey,Angular排名第二:>来源:TheStateofJavaScript,20195.Experss当Node.js在2009年问世时,TJHolowaychuk已经基于简约的Web框架Sinatra创建了Express.js。它是用于开发Web应用程序和RESTAPI的简约Web框架。它也很少自命不凡,而且速度很快。许多其他基于JavaScript的Web框架都是基于Express的。如今,Express.js是最流行的基于JavaScript的Web应用程序框架。5主要特点:Express.js几乎是默认的JavaScript服务器端框架。Express是一个包含中间件、路由、模板的完整应用程序框架。Express通过支持超过14个模板引擎的View系统来支持MVC模式。它还提供强大的路由。Express还支持内容协商。流行度:这是最流行的基于JavaScript的后端框架,从GitHubstars可见一斑:>来源:GitHub每周下载量超过1000万,Express.js是迄今为止下载量最大的JavaScript框架:>来源:NPMtrends"StateofJavaScript”调查将Express.js连续三年评为顶级JavaScript服务器端框架(2017年、2018年、2019年):>资料来源:TheStateofJavaScript,2019年StackOverflow开发人员调查将Express列为第五大最受欢迎的Web框架以及2019年第5大最受欢迎的JavaScript后端框架:>来源:StackOverflow开发人员调查,20196。Next.jsReact是一个非常简单的框架,其中React-Core仅提供视图层。始终需要一个基于React的端到端的、固执己见的框架。TimNeutkens和荷兰Zeit公司的软件工程师团队在React和Node.js之上创建了Next.js作为端到端、更高级别的Web框架。Next.js为Web、桌面和移动设备提供服务器呈现和静态网站。5个主要特点:Next.js建立在两个最流行和最严格的JavaScript框架之上:React和Node.js。它还提供“构建一次,随处运行”,即Next.js可以在Web、移动和桌面上运行。Next.js提供出色的服务器端渲染,具有出色的SEO支持和快速启动。它提供自动代码拆分和基于文件系统的路由。它还支持易于使用的数据获取和内置CSS支持。人气:就GitHubstar而言,它是第六大最受欢迎的JavaScript框架和第二大最受欢迎的JavaScript后端框架:>来源:GitHubNPM趋势根据“JavaScript状态”2019年报告,Next.js已连续两年(2018年、2019年)成为最令人满意的JavaScript后端框架第二名:>来源:JavaScript状态,20197。Meteor2012年,一个一组工程师创建了Meteor,一个基于Node.js的同构、开源全栈JavaScript框架。它还支持为Web、移动、桌面平台构建端到端应用程序,并与React、Vue.js、Angular、Svelte等流行的前端框架很好地集成。它也是一个“内置电池”的框架,具有“outofthebox”支持企业级应用程序开发。5个主要特点:Meteor是一个全栈框架,用于开发完整的堆栈:前端到后端。对于前端开发,它有自己的模板引擎。但开发人员可以将Meteor与其他流行的前端框架一起使用,例如Angular、React、Vue.js或Svelte。它是一个跨平台框架,用于开发Web、移动和桌面应用程序。Meteor有一个集成的JavaScript堆栈,可以轻松实现各种集成技术(例如MongoDB数据库、React前端)。它是一个同类平台,在客户端和服务器端共享相同的API。受欢迎程度:根据GitHub星数,它是第七大最受欢迎的JavaScript框架:>来源:GitHub“StateofJavaScript”调查将Meteor列为第七大最受欢迎的JavaScript框架,尽管它的地位在下降:>来源:TheStateofJavaScript,20198.Svelte2016年,Guardian软件工程师RichHarris提出了开发没有框架特定运行时的JavaScript框架的开创性想法,并发布了Svelte。这个想法是使用Svelte编译器,它将特定于框架的代码编译成纯JavaScript、HTML、CSS,并将编译后的代码呈现给浏览器。虽然这个概念在软件开发中并不新鲜,但在前端开发中却是一个未知领域。Svelte的另一个重要贡献是增加了对反应性的一流支持,这可以在没有虚拟DOM的情况下实现更快更好的性能。如今,它可以说是最热门的前端框架,在业界拥有巨大的吸引力和牵引力。5个主要特点:它是一个编译时框架,不需要任何特定于框架的运行时。它在所有框架中具有最小的包大小。Svelte通过反应式编程执行DOM渲染,通常比VirtualDOM更快。因此,Svelte提供了所有框架中最快的渲染速度。Svelte和React-Core一样只是一个View层,它是一个不受限制的框架。Svelte具有出色的SEO支持,同时支持客户端和服务器端渲染。开发人员可以使用Svelte开发Web应用程序、跨平台移动应用程序开发或桌面应用程序开发。受欢迎程度:自2018年发布第2版以来,Svelte一直很受欢迎,在GitHub星级方面排名第8:>来源:GitHub从NPM趋势可以明显看出,在过去几年中,Svelte的行业采用率一直在上升。>来源:NPMtrends社区和行业都对Svelte表现出了极大的兴趣,这显然是“JavaScript状态”调查将Svelte排在第一位的原因:>来源:JavaScript状态,20199。koaat2013年,由TJHolowaychuk领导的Express.js核心成员创建了Koa,这是一个轻量级、现代、富有表现力且健壮的Web应用程序和API中间件框架。Koa是高度模块化的,带有一个没有中间件的微型核心。但是,中间件可作为单独的模块使用。5个关键特性:Koa有一个轻量级、更小的核心,没有开箱即用的中间件包。Koa具有高度模块化的架构,并提供可插拔的中间件模块。Koa以类似堆栈的方式支持级联中间件,允许在下游执行操作并在上游处理响应。Koa使用async/await而不是回调,并支持更简洁、更具表现力的错误处理代码。在性能方面,它优于Express.js。流行度:Koa也是非常流行的基于JavaScript的后端框架,在GitHubstars中排名第9:>来源:GitHub从每周大量的下载量可以看出,Koa在业界的使用量也很大:>来源:NPMtrendsStateofJavaScript调查将Koa列为第五大最令人满意的JavaScript后端框架:>来源:TheStateofJavaScript,201910。Ember.js的灵感来自于RubyonRails原则“ConventionoverConfiguration”,Ember的AppleYehudaKatz。js在2012年创建了Ember.js作为一个广受好评的端到端框架。Ember.js是一个严格向后兼容的框架,没有引入重大突破。自成立以来。在那个时代的其他框架(Backbone.js、AngularJS)流行度下降的情况下,Ember.js仍在提供可靠、高效的框架来满足现代前端开发的需求。5个主要特点:一个端到端的固执己见的内聚框架,强调“配置约定”。Ember不是一家科技巨头,而是得到了LinkedIn、雅虎等几家科技巨头的支持。因此,它不是由一家公司的需求驱动的。Ember的数据库最好是一次跨多个源访问数据并建立异步关系的数据库。在拥有所有JavaScript框架中最好的CLI的EmberCLI中,帮助构建和生成所有必要的代码,具有正确的结构,包括所有依赖项。在其最新版本EmberOctane中,它引入了HTML优先和组件优先的方法,改进了对状态管理和反应性的支持。流行度:Ember.js是JavaScript框架中排名第10的GitHub项目:>来源:GitHubEmber.js最近获得了业界关注,每周下载量超过100,000次:>来源:NPMtrends根据“JavaScript状态”调查,Ember.js受欢迎程度排名第四:>来源:TheStateofJavaScript,2019
