技术开发 频道

搞前端比后端多两倍,这意味着哪个有前途?

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

搞前端开发的比后端多两倍,这意味着哪一个更有前途?

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

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

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

搞前端开发的比后端多两倍,这意味着哪一个更有前途?

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

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

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

搞前端开发的比后端多两倍,这意味着哪一个更有前途?

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

  其他后端框架

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

  ·Koa

  ·Hapi

  ·Sails

  ·Next

搞前端开发的比后端多两倍,这意味着哪一个更有前途?

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

  Hapi

搞前端开发的比后端多两倍,这意味着哪一个更有前途?

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

  Sails

搞前端开发的比后端多两倍,这意味着哪一个更有前途?

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

  Next.js

搞前端开发的比后端多两倍,这意味着哪一个更有前途?

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

  npm的前端工具使用历史

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

搞前端开发的比后端多两倍,这意味着哪一个更有前途?

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

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

  ·Babel

  ·Webpack

  ·Browserify

  ·Bower

  ·RequireJS

  ·SystemJS

搞前端开发的比后端多两倍,这意味着哪一个更有前途?

  Babel

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

  Webpack

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

搞前端开发的比后端多两倍,这意味着哪一个更有前途?

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

  Browserify

搞前端开发的比后端多两倍,这意味着哪一个更有前途?

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

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

  Bower

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

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

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

  RequireJS和SystemJS

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

搞前端开发的比后端多两倍,这意味着哪一个更有前途?

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

  曾经是主要力量的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正在登月。

0
相关文章