转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。
原文出处:https://blog.bitsrc.io/top-5-javascript-frameworks-past-present-and-future-8b6fda39de02

随着信息技术领域的发展,企业对于JavaScript的需求变得十分广泛,为了让前端编码更快更高效,一系列前端JavaScript框架就此诞生。

前端框架的设计初衷是为脚本编程语言提供出色的支持,让代码重复可用。简而言之,框架是由一组开发人员编写的代码块,可使整个开发过程变得简单且易于实现。从业务角度看,框架能使开发人员更容易满足客户的需求,解决客户项目开发阶段所面临的各种挑战。

那么,在众多前端框架中,哪些在2020年更受关注和追捧呢?

本文罗列了几个当下最受欢迎的前端框架,排名只是根据作者自身的使用经验、日常研究、框架的语法结构和易用性等特性进行排名。

以下是框架的排名依据参考:

  1. 是否保持增长和更新。
  2. 是否在大厂和开发者社群中受到推荐,如GitHub、NPM趋势、Google趋势等。
  3. 是否具备一个规模庞大且活跃的技术社区。

5. velte.js —— 麻雀虽小,五脏俱全

在React、Vue和Angular差不多占据了Web开发的大部分江山时,Svelte横空出世,并逐渐开始吸引越来越多人的眼球。这是一个用TypeScript编写的基于组件的开源JavaScript框架,于2016年发布。

2020年以来,Svelte的使用量急剧增加。

尤雨溪曾评价道:Svelte 的核心思想在于“通过静态编译减少框架运行时的代码量”,因此其非常适合开发小而快速迭代的项目,而且能做到极致精简。

Svelte的优势:

  1. 与React不同,Svelte没有虚拟DOM。其组件完全用HTML、CSS和JavaScript编写。
  2. Svelte编译器可编译原始JavaScript模块,该模块不依赖于框架。因此,与React、Angular和Vue相比,Svelte应用程序的捆绑包尺寸非常小。
  3. Svelte不需要较高的浏览器处理能力,即可实现类似外科手术般的方式更新DOM。

4.Ember.js —— 明显提高开发人员工作效率的生产工具

Ember.js是一款用于构建现代Web应用程序且功能全面的JavaScript框架,基于双向数据绑定概念(如AngularJS和React等SSR)运行,允许开发人员将更多精力放在创建独特的业务功能上。

由于Ember不再需要编写繁琐的代码,因此,开发人员的开发效率能够明显得到提升。目前,越来越多的一流公司开始在其产品中使用Ember,如Netflix、Microsoft和LinkedIn。

Ember自发布以来,在开发人员社区中的使用率逐渐增加。

尽管Ember主要用于Web开发,但使用Ember.js搭建的桌面和移动应用程序也同样引人瞩目,而其中的代表作品就是Apple Music桌面应用程序。

3. Angular —— 一个可靠的框架

Google在2016年推出了Angular。但是,它的前身AngularJS可以追溯到2010年。在早期,React的流行将Angular甩在后面。但是,事实证明Angular仍是开发一款可靠的企业级应用的首选。

Angular受欢迎的原因:

  1. 拥有一个维持了十多年的大型生态系统。
  2. 具备全套开发工具。
  3. 允许高质量的代码生成,具有清晰的编码结构和代码一致性。
  4. 拥有出色的文档,其库为开发人员提供了大量支持。
  5. 日益增加的社区支持。

如果将Angular与React进行比较,我们可以观察到Angular的下载量并没有增加太多,并在过去两年中几乎达到饱和水平。

2 React —— 最受欢迎的框架

React是一个开源前端库,由Facebook开发团队的软件工程师于2011年创建,随后于2013年正式开源。经过9年的发展,目前它被认为是最受欢迎的前端库之一。

React为前端开发引入了一种基于组件的、响应式的、函数式的编程风格,一举改变了单页应用程序(SPA)的发展方向。

为什么 React 如此受欢迎?

  1. React 引入了基于组件级的渲染机制。
  2. 提供了强大的服务端渲染(SSR),对SEO有良好的支持。
  3. 提供了更好并发性的React Fiber,使用了更少模板代码来管理功能组件的React Hooks,以及用于获得更好渲染效果的React suspense等功能。
  4. 一旦学会了React,可以在任何地方使用它,不仅可以用于Web应用程序,同时也可以在移动应用程序中使用(React Native)。

众多优秀的功能使React成为当今最受欢迎的框架之一,而NPM的下载量也证明了这一点。

如图所示,在过去的5年里,React在下载量方面一直在前端框架中占据着主导地位。

就Stack Overflow技术问题总量趋势看,React也同样如此。

1 Vue.js —— 其受欢迎程度已经不需要多说了

其他框架

  • Meteor一度被认为是用于开发和部署Web应用程序的全栈解决方案。
  • Mithril:用于开发SPA的UI JavaScript框架,提供了开箱即用的路由和XHR实用程序,并且快速,易于实现。
  • Aurelia被认为是JavaScript的最新版本,可以扩展HTML的多种用途,包括数据绑定。
  • Polymer:一个由Google推出的开源代码库,可以为网站创建元素而无需进入复杂的层次。支持单向和双向数据绑定。

结论

本文提及的所有JavaScript库和框架都具有巨大的潜力,熟练的掌握它们,将为您的JavaScript开发带来更多好处。

如果您有兴趣了解更多的JavaScript框架和库,可以阅读以下文章链接。

排名靠前的几个JS框架发展趋势和前景的更多相关文章

  1. 前端Js框架 UI框架汇总 特性 适用范围 选择

    身为一个资深后端工程师,面对层出不穷的前端框架,总让人眼花缭乱,做一个综合解析贴,从全局着眼,让我们明白各种前端框架的应用范围,为如何选择前端框架,从不同的维度提供一些线索,做为一个长期优化贴,欢迎指 ...

  2. (转)2018几大主流的UI/JS框架——前端框架 [Vue.js(目前市场上的主流)]

    https://blog.csdn.net/hu_belif/article/details/81258961 2016年开始应该是互联网飞速发展的几年,同时也是Web前端开发非常火爆的一年,Web ...

  3. 【转】node.js框架比较

    我偶然间看到这篇文章,转这个文章并没有什么含义,仅仅是感觉总结的不错,对于新学node的友友们来说希望这篇文章为大家对 Node.js 后端框架选型带来一些帮助,学习不再迷茫,也是让我有个保存,以后参 ...

  4. 借鉴一些关于js框架的东西

    八款Js框架介绍及比较,Dojo .Scriptaculous .Prototype .yui-ext .Jquery .Mochikit.mootools .moo.fx,componentartu ...

  5. 13个精选的React JS框架

    如果你正在使用 React.js 或 React Native 创建用户界面,可以试一试本文推荐的这些框架. React.js 和 React Native 是流行的用户界面(UI)开发平台,且都是开 ...

  6. 前端Js框架汇总

    概述: 有些日子没有正襟危坐写博客了,互联网飞速发展的时代,技术更新迭代的速度也在加快.看着Java.Js.Swift在各领域心花路放,也是煞是羡慕.寻了寻.net的消息,也是振奋人心,.net co ...

  7. Node.js 框架

    Node.js的是一个JavaScript平台,它允许你建立大型的Web应用程序.  Node.js的框架平台使用JavaScript作为它的脚本语言来构建可伸缩的应用. 当涉及到Web应用程序的开发 ...

  8. js框架简明

    jquery 主要战场还是在dom这块.其它经典怀旧的2个需要了解一下,mootools, prototype.是他们启发了js向工程化,团队化,协作化发展的转变,yui虽然听说停止开发了,但他的代码 ...

  9. Vue 浅谈前端js框架vue

    Vue Vue近几年来特别的受关注,三年前的时候angularJS霸占前端JS框架市场很长时间,接着react框架横空出世,因为它有一个特性是虚拟DOM,从性能上碾轧angularJS,这个时候,vu ...

随机推荐

  1. burp suite 之 intruder(入侵者)

    intruder:包括自动提交请求的功能 登录密码 撞库 注入 脱裤 Fuzz Burp intruder包含四个模块: Target:攻击的网站目标的详情信息 Positions :用来设置攻击类型 ...

  2. TIDB 笔记

    整体架构:

  3. EasyUI 日期控件赋值

    $("#BillDateE").datebox("setValue", '2020/9/28'); $("#BillDateB").date ...

  4. spring aop 源码分析(二) 代理方法的执行过程分析

    在上一篇aop源码分析时,我们已经分析了一个bean被代理的详细过程,参考:https://www.cnblogs.com/yangxiaohui227/p/13266014.html 本次主要是分析 ...

  5. Java学习day03

    day03 课堂笔记 1.数据类型 2.总结第二章到目前为止所学内容: * 标识符 * 关键字 * 字面值 * 变量 成员变量如果没有赋值,系统会自动赋值,而局部变量不手动赋值,则会编译不通过. * ...

  6. 001 win10下安装linux子系统--Ubuntu及其图形界面

    首次启动图形界面关键步骤及相关命令: 步骤: 打开Xlunch 打开XLaunch,选择:"one large window",Display number设置成0,其它默认即可, ...

  7. Python3基础——序列类型

    开头写给自己,To Myself: 很久以来,都想要学习一门编程语言,从去年选择了python开始,反反复复重新开始了N多遍,每一次不会超过俩星期.昨天无意间翻开自己去年记的学习笔记,不禁感叹想当年我 ...

  8. c++ 在window下创建窗口的基本步骤

    1. WinMain 函数的定义: 2. 创建一个窗口 2.1 设计一个窗口类 WNDCLASS 2.2 注册窗口类 2.3 创建窗口 2.4 显示及更新窗口 3. 进行消息循环 BOOL GetMe ...

  9. SpringCache整合Redis

    之前一篇文章 SpringBoot整合Redis 已经介绍了在SpringBoot中使用redisTemplate手动 操作redis数据库的方法了.其实这个时候我们就已经可以拿redis来做项目了, ...

  10. JVM性能调优(3) —— 内存分配和垃圾回收调优

    前序文章: JVM性能调优(1) -- JVM内存模型和类加载运行机制 JVM性能调优(2) -- 垃圾回收器和回收策略 一.内存调优的目标 新生代的垃圾回收是比较简单的,Eden区满了无法分配新对象 ...