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完美集成,使用 ...
随机推荐
- JAVA入门[5]-初步搭建SpringMVC站点
一.新建Module 1.新建Module,类型如下图所示: 2.为项目添加Spring框架支持,操作步骤如下: 首先在Module右键->Add Framework Support: 2.Sp ...
- Android查缺补漏(View篇)--在 Activity 的 onCreate() 方法中为什么获取 View 的宽和高为0?
在 Activity 的 onCreate() 方法中为什么获取 View 的宽和高为0 ? @Override protected void onCreate(Bundle savedInstanc ...
- 【CSS3】动画
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Spring框架(三) JDBCTemplate,声明式事务,自动装载(注解)
JDBCTemplate 按照标准正常项目的结构 结构图: model层 dao层 实现 dao:(DateBase Access Object) 数据访问对象,dao层只用来访问数据库和模型层 s ...
- ES6模板字符串
ES6支持模板字符串,简单写法如下 //html界面 <!DOCTYPE html> <html> <head> <meta charset="ut ...
- 将自己的域名代理到Gitpages
相信有很多程序员都有自己的域名,甚至很多人还有自己的服务器.去年我也买了半年的阿里云,在tomcat里面发war包,相当于一个正式的项目.但是很多前端程序员应该要求很简单,就是能将静态的html发布就 ...
- 瞎j8封装第二版之数据库连接池
写得很蛋疼,本来想支持多线程的,奈何对多线程和连接池理解着实太菜: 所以,起码是能拿到连接了... 但是还是不太懂这个连接池 我也是半抄别人的,以后再搞一搞这个吧. 先是配置文件 理想是很丰满的,奈何 ...
- 怎么选择公司???MVC加jquery-easyui 后端工程师
代码管理 Git 架构 MVC 这样的项目扩展性强,维护性强!!! 别很老的asp.net 不用框架!!!
- asp.net core 2.0+sqlsugar搭建个人网站系列(0)
一些废话 马上就要过年了,回顾这一年最大的收获就是技术有了很大的提升,其他的方面没有什么改变,现在还是单身小屌丝一枚. 这一年来学习的主要重点就是asp.net core,中间也使用 core+EF做 ...
- My Go Resolutions for 2017(from Russ cox's blog)
我的2017年Go决议 一年之季始于春,我认为写一些今年我希望在Go上做的东西是有意义的. 我每年的目标是帮助Go开发人员.我想确保我们在Go团队中所做的工作对Go开发者有重大的积极影响.可能听起来很 ...