2017年 JavaScript 框架回顾 -- 前端框架
概述:
对于 JavaScript 社区来说,npm 的主要功能之一就是帮助开发者发掘所需的 npm Registry 中的库和框架。npm 强大的搜索功能能够帮助找到一组相关的软件包,同时其内置的的文档和使用统计信息,可以帮助开发者决定使用哪一种软件包。
选择过程中,一个重要的评估因素就是社区对软件包项目的持续支持:是否正在积极的维护?是否有足够大的社区来维持项目?
评估的过程中,软件包的普及程度是一个重要的考量因素。不论是通过博客文章还是教程的方式,一个具有大型社区的软件包意味着有更多的开发者可以帮助你解决问题。一个大型的社区也意味着在遇到错误之前,找到修复错误的可能性更大。如果你们是一个大型的团队,那么使用流行的软件包,也能让你更容易的招聘到熟悉这些软件的开发人员。
使用 npm 的下载统计数据,可以让开发者了解到使用和维护软件包的人数。一旦将软件包加入软件中,那么软件包将拥有非常长的寿命,因为开发者一旦安装了软件包,就很少会将其从软件包中删除掉,正是由于这种非常低的“流失”,安装包的使用几乎不会降低。而且随着 npm 用户数的不断上升,npm Registry 中的软件包数量也在不断增加。
在考虑软件包的流行程度时,开发者应该关注的是软件包的相对流行程度,即软件包的下载数量占 Registry 中所有软件包的下载数量百分比,而不必关注软件包的绝对增长率,因为软件包的绝对下载量都是不断增加的。
Registry 的整体数据

npm Registry 中所有软件包下载的总和表明,npm 生态系统正在经历爆炸式的持续增长。JavaScript 越来越受欢迎,npm 也正在被更多的 JavaScript 社区所采用。
目前,大约75%的 JavaScript 开发者都在使用 npm,而且这个数字还在上升,同时现在大约有1000万 npm 用户。
下面我们以软件包所占 npm Registry 中所有软件的百分比来作为度量的标准。
前端框架

下面我们分析前端框架中最为流行的几种:
- Backbone
- React/Preact
- Angular
- Ember
- Vue
Backbone

Backbone 是最早的 JavaScript Web 应用程序框架之一。在早5年中,Backbone 占据了 npm Registry 下载量的近1%。但是从2013年起,Backbone 开始急剧下降,而且一直持续下降的趋势。即便如此,Backbone 每月仍有75万次下载,这也是一个相当大的使用量。
React

从上图可以看出,React 自2014年以来,经历了大幅增长。2017年,React 已经成为了最受欢迎的前端框架。React 并不是构建 Web 应用程序的完整端到端的解决方案。React 是针对应用程序的特定需求,而精心设计的解决方案。并且 React 可以轻松地为应用程序的其它部分提供多种替代解决方案。由于这种模块化的特性,React 已经形成了一整套相关软件包的生态系统,可以解决应用程序其它部分的问题。
Web 开发人员正在积极采用 React,而其他领域(如移动和桌面应用程序开发)的开发人员也在使用 React。
Preact

Preact 是 React 的小兄弟,是一个独立开发的 React 替代品。相比于 React,Preact 牺牲了旧版浏览器与性能和尺寸改进的兼容性。虽然 Preact 的总体使用率比较低,但是 Preact 还是赢得了很多开发者的关注,同时其未来的潜力不容小觑。
Angular

Angular 是一个完整的框架,是一个用于构建Web应用程序的完整解决方案。Angular 是 React 之后的第二大流行框架,是 Ember 或 Vue 受欢迎程度的两倍。
Angular 主要由 Google 构建和维护。虽然,2017年 Angular 的相对流行程度并没有明显增长,但是它拥有一个庞大的社区、Google 的巨大资源和对其的持续支持,所以 Angular 仍是值得开发者持续使用的。
Ember

Ember 是一个由各种大公司形成的完整框架,但它没有主要的企业支持者。从 npm 的数字看来,Ember 在2016年下滑后,又在2017年逐渐出现上升。
Vue

Vue 是由曾经在 Angular 工作过的 Google 前工程师创建的,与 Ember 的流行程度大致相同,Vue 在绝对流行度方面略低于 Angular 的一半。Vue 的增长速度远远超过 Ember 和 Angular,预计 Vue 会在2018年超过 Ember。
2017年前端框架情况

上图显示了2016年10月至2017年10月的12个月期间,各个框架的绝对受欢迎程度及其增长情况。从总体情况中,可以得到以下结论
- Preact 虽然很小,但发展最快。
- Vue 的成长速度也非常快。
- Ember 在过去的12个月里受欢迎程度有所上升。
- Backbone 已经不再那么受欢迎了。
- 当用户从1.x转移到2.x时,Angular 的受欢迎程度保持不变。
- jQuery 仍然非常受欢迎,但用户使用量越来越少。
- React 既庞大又在快速增长。
本文是2017年 JavaScript 框架回顾的第一篇,后续还有 React 生态环境介绍和后端框架两篇文章,敬请期待。
原文链接:https://www.npmjs.com/npm/state-of-javascript-frameworks-2017-part-1
转载请注明出自:葡萄城控件
相关阅读:
2017年 JavaScript 框架回顾 -- 前端框架的更多相关文章
- 2017年 JavaScript 框架回顾 -- 后端框架
本文是2017年 JavaScript 框架回顾系列的最后的一篇文章,主要介绍 JavaScript 的后端框架情况. 从上图中可以看到,Express 作为用 JavaScript 编写的后端服务的 ...
- Javascript库,前端框架(UI框架),模板引擎
JavaScript库:JQuery,undoscore,Zepto 纯Javascript语言封装, 前端框架(UI框架):Bootstrap,Foundation,Semantic UI,Pure ...
- 2017年 JavaScript 框架回顾 -- React生态系统
前一篇文章中,我们介绍了2017年 JavaScript 框架的整体情况.我们也了解到在众多的前端框架中,目前最为庞大又在快速增长的当属 React 了,本文就来重点介绍 React 的生态系统. 首 ...
- 超实用!9个目前流行的MATERIAL DESIGN前端框架
http://www.uisdc.com/material-design-frameworks-top-9 谷歌推出的Material Design风格已见有一些APP UI采用,视觉和交互体验都很棒 ...
- 5大JavaScript前端框架简介
译者按: 简要介绍五大前端框架特性 原文: Top 5 JavaScript Frameworks 译者: Fundebug 为了保证可读性,本文采用意译而非直译.另外,本文版权归原作者所有,翻译仅用 ...
- JavaScript前端框架的思考
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:现在JavaScript前端框架层出不穷,尤其Angular进入到2.x时候之后,我们 ...
- 2017年JavaScript框架---Top5
前言 个人观点,供您参考 观点源自作者的使用经验和日常研究 排名基于框架的受欢迎度, 语法结构, 易用性等特性 希望大家能够基于此视频找到最适合自己的框架 下面介绍的都是严格的前端框架和库 前言 To ...
- 前端框架——BootStrap学习
BootStrap简单总结下:1.栅格系统,能够很好的同时适应手机端和PC端(及传说中的响应式布局) 2.兼容性好 接下来是对BootStrap学习的一些基础案例总结和回顾: 首先引入:bootstr ...
- javascript模块加载框架seajs详解
SeaJS是一个遵循commonJS规范的javascript模块加载框架,可以实现javascript的模块化开发和模块化加载(模块可按需加载或全部加载).SeaJS可以和jQuery完美集成,使用 ...
随机推荐
- 为 NativeScript 项目添加 iOS / Android 平台 API 的智能感知
使用 NativeScript ,我们可以很容易的调用平台的原生 API,在开发过程中,我们可以添加这些 API 的 d.ts 文件来提供智能感知,帮助我们更方便的构建媲美原生的 APP. 首先通过 ...
- SSM学习(三)--集成spring mvc
spirng mvc是一个mvc框架,与struts2类似,都是基于Servlet封装而成的框架,所以要了解spring mvc或者struts2比需先了解Servlet,本篇我们先把spring m ...
- Java filter中的chain
一.Filter Filter:用来拦截请求,处于客户端和被请求资源之间,是为了代码的复用性.Filter链,在web.xml中哪个先配置就先调用哪个 二.FilterChain(过滤链) 服务器会按 ...
- String类为什么要用final修饰(面试回答)
String是所有语言中最常用的一个类.我们知道在Java中,String是不可变的.final的.Java在运行时也保存了一个字符串池(String pool),这使得String成为了一个特别的类 ...
- Java并发编程有多难?这几个核心技术你掌握了吗?
本文主要内容索引 1.Java线程 2.线程模型 3.Java线程池 4.Future(各种Future) 5.Fork/Join框架 6.volatile 7.CAS(原子操作) 8.AQS(并发同 ...
- 【java提高】Serializable(一)--初步理解
Serializable(一)--初步理解 一 序列化是干什么的? 我们知道,在jvm中引用数据类型存在于栈中,而new创建出的对象存在于堆中.如果电脑断电那么存在于内存中的对象就会丢失.那么有没有方 ...
- SQL_Server 常用语句以及语法整理
下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE, ...
- sourceTree每次拉取代码和提交代码都需要输入密码
今天新安装的sourceTree导入项目,拉取代码的时候一直提示让我输入git密码,每次拉取和提交的时候都需要重新输入密码,甚是麻烦,在网上,搜索,解决办法五花八门,这里提供一种简单有效的方法供大家参 ...
- java 设计模式-缺省适配器模式
本文转载地址:http://www.cnblogs.com/iyangyuan/archive/2013/03/11/2954808.html 在程序设计过程中,读者很可能遇到这样一种困境:设计了一个 ...
- discuz管理员登录进入后台管理马上跳转到登录界面
昨天尝试了一下这个discuz论坛,感觉还可以.今天刚刚用管理员账户进入后台管理,准备改一改界面熟悉一下,过不了10秒钟.老是马上就退出来了.我想起来了,昨天是在阿里云服务器上面直接登录这个管理员账号 ...