阅读更多

0顶
0踩

Web前端
本文是2017年 JavaScript 框架回顾系列的最后的一篇文章,主要介绍 JavaScript 的后端框架情况。

从上图中可以看到,Express 作为用 JavaScript 编写的后端服务的主流解决方案,占据了后端框架使用率的绝大部分,其次的四个最大框架对比于 Express 来说,占用率都很小。

到目前为止,我们所讨论的几乎所有框架的绝对使用量都在不断增加。自2013年以来,Express 的使用率已经增长了6000%。之所以 Express 的6000%增长在第一张图中显示成下降的状态,是因为在同一时间内,总的 npm registry 增长了67,000%。也就是说,JavaScript 社区正在以编程语言史上前所未有的速度增长。

npm 的前端使用正在爆炸式增长

目前,大约83%的 npm 开发人员正在编写运行在前端的 JavaScript,而只有41%的人正在为后端编写代码(前后端开发者有重叠的部分)。前后端开发人员的比例为约为2:1,这也表明 npm 社区的未来在于前端的开发和工具制造。

接下来我们查看其它的后端框架。

其他后端框架

下面是除 Express 之外的四个最大的后端框架,分别为:
  • Koa
  • Hapi
  • Sails
  • Next
koa

蓝色代表的是 koa 的相对使用率情况。Koa 是 Express 的开发人员使用一套更紧密的设计原则编写的,旨在创建一个更小、更富表现力同时也更健壮的 Web 框架。虽然 Koa 具有不低的使用量,但其增长速度还不是很快。

Hapi

Hapi 是一个用于构建应用和服务的丰富框架,Hapi 使得开发者更专注于编写可复用的应用逻辑,而不必把时间花费在基础设施的搭建上。2014年底,Hapi 有一个短暂的繁荣时期,然而自此之后,Hapi 的使用率就一直处于下滑状态。

Sails

Sails 是 JavaScript 的 Ruby on Rails 克隆。尽管最初在2012年年底推出时,Sails 非常受欢迎,但它却也遵循着“半衰期”的衰退模式,这也表明 Sails 不再被新项目采用。

Next.js

Next.js 是一个基于 React 的通用 JavaScript 框架,同时也是一个较新的框架。

Zeit 的开发团队在 React 的基础上创建了 Next.js。Next.js 提供了一种很方便的方式来创建新的 Web 应用。当前 Next.js 的使用率尽管还很低,但是却一直保持着上升的趋势,值得关注。

Npm 中的前后端对比

前面已经提到,当前前端开发者的数量远超后端开发者的数量,但这种情况是否反映在 npm 的前后端安装包数量上呢?

尽管前后端的安装包也存在重叠的情况,但是整体数量还是后端安装包数量高于前端。

npm 中的前端使用情况

2013年以前,npm 中的前端框架使用量非常大,Backbone 的流行也是促成这种情况的原因之一。但是,随着 Express 和其它服务器端框架的持续增长,Backbone 变得不那么流行了。

npm registry 的前端使用率在经过两年的下滑之后,2015年开始再次开始增长。

跟踪 npm 前端的具体使用情况

为了弄清楚 npm 前端的具体使用情况,我们将关注于提供前端代码的一些库,主要包括:
  • Bable
  • Webpack
  • Browserify
  • Bower
  • RequireJS
  • SystemJS
Bable

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

Webpack

Webpack 是专门为浏览器提供 JavaScript 代码的工具。React 一直使用 Webpack 为浏览器服务做准备,很长一段时间,React 和 Webpack 都保持着相同的增长趋势。

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

Browserify

在 WebPack 成为流行的 JavaScript 代码工具之前,Browserify 一直是浏览器端转化服务器端 JavaScript 的重要工具。Browserify 也曾在2015年中期保持很高的受欢迎程度,但是从2016年开始,随着 Webpack 的逐渐流行,Browserify 的受欢迎度出现了急剧下滑的现象。

这也许和两个工具的设计目的有关。Browserify 为浏览器带来了 Node.js API surface(包括用于许多后端的API),Webpack 则是一个更通用的模块系统和编译工具,用于加载图片、CSS和其它前端资源。因此,对于非 Node.js 开发者来说,Webpack 更为有用。随着 npm Registry 前端使用的急剧增加,Webpack 已经成为一个非常有吸引力的选择。

Bower

浏览器端模块化 JavaScript 的另一个解决方案是 Bower,Bower 将模块引入了浏览器。尽管 Bower 客户端是由 npm Registry 托管和安装的,但是 Bower 却是一个完全独立的非 npm 模块。

虽然 Bower 的开发人员认为其客户端具有许多优秀的特性,但是他们还是赞同 CommonJS(大多数 npm 包所使用的 JavaScript 模块的格式)是一种更为灵活和流行的解决方案。Bower 的受欢迎程度自2014年起开始出现了持续的下滑。

RequireJS 和 SystemJS

Bower 的模块并不是 CommonJS 的唯一选择,RequireJS 是另一种具有模块格式的可选方案。RequireJS 在2013年初很受欢迎,但自2014年之后,开始与 Bower 一同出现下滑。2015年发布的 SystemJS 增长很缓慢。

Webpack 和 Express

目前,我们判断 npm 前端使用量的最可靠依据就是 Webpack。相比于 Express 的相对使用率,可以看到,Webpack 在三年时间内,相对使用率迅速攀升到了 Express 的一半。

我们大胆预测 Webpack 将继续增长,甚至可能会超过 Express,这也与我们所见到的 Webpack 的新用户比例一致。几年后,npm 将是一个主要的前端工具。

总结

npm 生态系统中前端和后端的使用量增长,对于 JavaScript 的整体而言都是一个好消息。JavaScript 语言所具有的灵活性和易用性,是一种很大的优势。

也许 JavaScript 的广泛采用,正是由于 JavaScript 的内置​​特性很少,使得 JavaScript 语言在被使用时,有了很多的其它选择。

现在 JavaScript 使用量正在急剧增长,npm 也在与之同步增长。

原文链接:https://www.npmjs.com/npm/the-state-of-javascript-frameworks-2017-part-3-back-end-frameworks
  • 大小: 32.9 KB
  • 大小: 60.3 KB
  • 大小: 60.7 KB
  • 大小: 64.9 KB
  • 大小: 71.7 KB
  • 大小: 31.1 KB
  • 大小: 37.8 KB
  • 大小: 41.2 KB
  • 大小: 60.9 KB
  • 大小: 49.5 KB
  • 大小: 41.7 KB
  • 大小: 40.8 KB
  • 大小: 47.5 KB
  • 大小: 32.4 KB
  • 大小: 34.6 KB
来自: 博客园
0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 留言板评论回复

    jsp,servlet,mysql,主要功能就是用户评论的增删查

  • 留言区

    有什么事,尽管在下面评论。

  • CSDN:解决粉丝网友之关于索取资料(手动获取/自动获取)、关于请教编程问题寻求答案的几点说明

    CSDN:解决粉丝网友之关于索取资料(手动获取/自动获取)、关于请教编程问题寻求答案的几点说明。

  • 2017 java 前台框架_2017年 JavaScript 框架回顾 -- 后端框架详解

    本文是2017年 JavaScript 框架回顾,主要介绍 JavaScript 的后端框架情况。 从上图中可以看到,Express 作为用 JavaScript 编写的后端服务的主流解决方案,占据了后端框架使用率的绝大部分,其次的四个最大框架对比...

  • 2017年 JavaScript 框架回顾 -- 前端框架

    本文翻译自:https://www.npmjs.com/npm/state-of-javascript-frameworks-2017-part-1 转载请注明出自:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 概述: 对于 JavaScript ...

  • 2017 年 JS 框架回顾:后端框架

    可快速关注)英文:Laurie Voss 译文:葡萄城控件www.cnblogs.com/powertoolsteam/p/the-state-of-javascript-frameworks-2017-part-3-back-end-frameworks.html本文是2017年 JavaScript 框架回顾系列的最后的一篇...

  • 我的技术回顾那些与ABP框架有关的故事-2017年

    推荐阅读:我的技术回顾那些与ABP框架有关的故事-2015年从ABP框架国内社区发展回顾.NET技术变迁-2016年从2022年来回顾ABP框架,我们会发现无论是商业模式还是架构设计思路,...

  • 留言板

    Welcome 咳咳…虽然没什么人来,但是你有问题,想加友链,QQ什么的统统都可以在下面留言,QQ:1050106988 (slongle)

  • 留言板功能

    1.实现获取留言  2.获取更多留言 3.留言(不刷新加载到html,写入数据库) 4.回复留言(不刷新加载到html,写入数据库) HTML部分全部代码如下: 吃饭最有趣 $().ready(function() { //获取留言信息 getComment(); //查询更多

  • 【程序功能设计】先写一个在线留言本,实现用户的在线留言功能,留言信息存储到数据库,要求书籍数据表内容以及使用PHP编码完成。

    文章目录一、考点1、数据表设计分析数据表结构留言板有哪些信息需要存储?2、数据表创建语句3、选择PHP连接数据库的方式1)PDO【推荐使用】2)MySQLi3)MySQL库4、编码能力1)PDO的基本操作2)操作数据库代码3)代码实现① 准备一个表单 form.html② 接收数据 store.php二、解题方法根据考题所出功能,先分析应该存储哪些信息,设计好数据表,这一步很关键,如果编码时才发现...

  • 回顾2017年JavaScript状况

    回顾2017年JavaScript状况 (A Look Back at the State of JavaScript in 2017) 在2017年JS状况调查结果之前,我们的专家小组回顾了过去的一年 (In advance of the 2017 State of JS survey results, our panel of ...

  • npm 发布 2017 年 JavaScript 框架报告

    of-javascript-frameworks-2017-part-1npm 的联合创始人兼首席运营官 Laurie Voss 近日发布了 2018 年的第一个 JavaScript 现状报告,这一系列报告包含三部分,将会提供 JavaScript 发展趋势和实践的完整回顾。...

  • 增加留言版块——在线留言板1

    今天上午自己正事没有干,倒是用php写了一个小的在线留言板,然后时间也比较紧迫,这里面就有一个站内搜索的小技术,感觉实际上也比较简单,但是还是可以顺着这个思路在以后扩展用的。 好了,废话不多,先看看留言板有什么功能: 新建留言,评论留言,查看评论,删除留言,站内搜索,分页显示。 这里先上增加留言版块的代码: 这里面把填写信息和留...

Global site tag (gtag.js) - Google Analytics