Web开发

首页 » 常识 » 诊断 » 搞前端比后端多两倍,这意味着哪个有前途
TUhjnbcbe - 2023/9/26 19:31:00


  npm的作用是帮助程序员查找满足需求的JavaScript库和框架,近日,npm连发三份调查报告,总结了JavaScript生态圈近一年来大大小小的变故,本文主要针对后端框架展开。


  


  后端的故事很简单:Express是编写后端服务的主流解决方案,其余几个大框架相对于Express来说都太小了。


  另一个清晰的模式是,Express在逐渐趋于稳定。过去,所有npm下载量的1.5%基本都是Express,现在,这个数字是0.15%的十分之一。然而,与不断下滑的Backbone和Flux相比,Express算是趋于稳定了。


  本文讨论的几乎所有框架相较于几年前都是增长的,比如Express从年初以来已经增长了%。之所以这些增长看起来好像是下降了一样,是因为在同一时间内,注册npm机构的库和工具等增长了67,%,基数变大了。


  


  换句话说,JavaScript正在以史上前所未有的速度增长着。


  写前端的程序员是写后端的二倍,未来哪一部分会更火?


  目前,大约83%的npm开发人员在编写前端JavaScript,而只有41%的程序员在为后端编写代码(这些数字之间有重叠)。前后端开发人员比例为2比1,这说明什么?调查认为,这强烈表明未来前端开发和工具应用将更有前途。


  


  在深入研究这个结论之前,让我们先来看看其他常用的后端框架。


  其他后端框架


  除了Express之外的四大后端框架是:


  ·Koa


  ·Hapi


  ·Sails


  ·Next


  


  这里,Koa是Express的继承者,是用一套更紧密的设计原则对Express的重写。获得可观使用量的同时,增长速度不是很快。


  Hapi


  


  Hapi在年底经历了短暂的鼎盛时期。巧合的是,这就发生在npm社区转换自己的网站使用Hapi之后,所以有可能npm的代言是有效的。然而,自此以后,Hapi一直处于下滑状态,npm自己的网站也正在转移。


  Sails


  


  顾名思义,Sails就是JavaScript的RubyonRails的克隆。虽然最初在年底推出的时候非常流行,但是它遵循着常见的半衰期衰退模式,这表明它不再被新项目所采用。


  Next.js


  


  Next.js是一个相对较新的框架,并且比其他三个讨论的要少得多,它的使用模式有点混乱,所以这里跟踪了它的采用情况,Next.js显示出一些稳定增长,值得一试,尤其是因为它使用了React。


  npm的前端工具使用历史


  在年及以前,npm中前端库的使用量非常庞大,从Backbone的流行就可以看出来。但是,在Express和其他服务器端架构持续增长的同时,Backbone开始走下坡路。


  


  自年以来,npm注册管理机构的前端使用率再次增长。但是前端和后端在JavaScript之间的界限是模糊的,部分原因是Webpack和Babel这样工具的使用。


  为了试图弄清楚npm的前端使用情况,我们将看看用来提供前端代码的库,包括:


  ·Babel


  ·Webpack


  ·Browserify


  ·Bower


  ·RequireJS


  ·SystemJS


  


  Babel


  Babel是一个转译器,用于将更现代的JavaScript版本转换为与Node.js中的服务器端JavaScript以及与浏览器兼容的JavaScript旧版本。虽然Babel非常受欢迎,但它被用于前端和后端应用程序,不是前端使用的可靠代理。


  Webpack


  另一方面,Webpack是专门为浏览器提供JavaScript代码的工具。它的使用率一直与React不相上下。


  


  不过,在年中,Webpack的使用率开始超过React。这表明,Web开发人员已经开始更广泛地采用Webpack,而不仅仅是React应用程序。


  Browserify


  


  在Webpack流行之前,Browserify开创了在浏览器中使用服务器端JavaScript的过程。这在年中非常受欢迎,但年开始急剧下滑。


  对此可能的解释可以在两个工具的设计目标中找到。Browserify将Node.jsAPI(包括用于许多后端API的填充)包含到浏览器中。Webpack是一个更通用的模块系统和编译工具,可以加载图片,CSS和其他前端资源。因此,对于不是Node.jsDevs的开发者来说,Webpack更为有用。


  Bower


  浏览器端模块化JavaScript的另一个解决方案是Bower。Bower不仅是将模块放入浏览器的另一种方式,它也是一个完全独立的非npm模块,尽管Bower客户端本身是由npm注册中心托管和安装的。


  虽然Bower的开发人员认为客户端本身具有许多优秀的特性,但他们同意CommonJS是大多数npm包所使用的JavaScript模块格式,是一种更灵活和流行的解决方案。但最终,还是开始逐渐下滑。


  (有趣的是,编写Bower早期版本的Andreacute;Cruz创建了npms.io,这个开源的JavaScript模块搜索引擎被npm所采用,现在npm的官方搜索功能已经启用,Andreacute;自己也是npm用户。)


  RequireJS和SystemJS


  RequireJS是另一种具有自己模块格式的替代装载机,在年初颇受欢迎,但与Bower同时开始下滑。


  


  年发布的SystemJS增长缓慢,直到年中期,从未真正获得过推动力。


  曾经是主要力量的Bower败给了Browserify,后者丢失了Webpack的份额,Webpack偷走了SystemJS的份额。JavaScript生态系统在过去5年的变化清楚表明,很难预测5年后JavaScript将会成为什么样。React现在看起来占统治地位,但是随时都有可能被新人取代。


  Webpack和Express


  目前,npm前端使用的最可靠代理可能是Webpack。与Express相比,Webpack从三年前的快速增长,现在已经达到了Express受欢迎程度的一半。


  


  尽管在瞬息万变的JavaScript世界中做出预测是一件危险的事情,但npm社区认为Webpack将继续增长,甚至超过Express,这与目前所看到的新用户比例一致。


  几年后,npm可能被认为是一个主要的前端工具,这对于JavaScript来说是个好消息。npm生态系统的所有增长,无论是前端还是后端,对于整体JavaScript都是一个好消息。


  


  如果简单概括,调查结果就四个字:平稳增长。众多框架和工具的强劲增长组成了一门语言的繁荣,JavaScript正在登月。

1
查看完整版本: 搞前端比后端多两倍,这意味着哪个有前途