angular js 使用pdf.js_排名靠前的几个JS框架发展趋势和前景

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

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

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

那么,在众多前端框架中,哪些在2020年更受关注和追捧呢?本文罗列了几个当下最受欢迎的前端框架,排名只是根据作者自身的使用经验、日常研究、框架的语法结构和易用性等特性进行排名。

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

  1. 是否保持增长和更新。

  2. 是否在大厂和开发者社群中受到推荐,如GitHub、NPM趋势、Google趋势等。

  3. 是否具备一个规模庞大且活跃的技术社区。

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

fba57ed1-dc1b-eb11-8da9-e4434bdf6706.png

在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 —— 明显提高开发人员工作效率的生产工具

ffa57ed1-dc1b-eb11-8da9-e4434bdf6706.png

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

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

Ember自发布以来,在开发人员社区中的使用率逐渐增加。尽管Ember主要用于Web开发,但使用Ember.js搭建的桌面和移动应用程序也同样引人瞩目,而其中的代表作品就是Apple Music桌面应用程序。

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

01a67ed1-dc1b-eb11-8da9-e4434bdf6706.png

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

Angular受欢迎的原因:

  1. 拥有一个维持了十多年的大型生态系统。

  2. 具备全套开发工具。

  3. 允许高质量的代码生成,具有清晰的编码结构和代码一致性。

  4. 拥有出色的文档,其库为开发人员提供了大量支持。

  5. 日益增加的社区支持。

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

2. React —— 最受欢迎的框架

03a67ed1-dc1b-eb11-8da9-e4434bdf6706.png

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 —— 其受欢迎程度已经不需要多说了

05a67ed1-dc1b-eb11-8da9-e4434bdf6706.png

其他框架

  • Meteor:一度被认为是用于开发和部署Web应用程序的全栈解决方案。

  • Mithril:用于开发SPA的UI JavaScript框架,提供了开箱即用的路由和XHR实用程序,并且快速,易于实现。

  • Aurelia:被认为是JavaScript的最新版本,可以扩展HTML的多种用途,包括数据绑定。

  • Polymer:一个由Google推出的开源代码库,可以为网站创建元素而无需进入复杂的层次。支持单向和双向数据绑定。


觉得本文对你有帮助,请分享给更多人:)

08a67ed1-dc1b-eb11-8da9-e4434bdf6706.jpeg

关注[ 前端小玖 ]加星标,点赞和在看就是最大的支持


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/370982.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工厂设计模式案例研究

我有一份工作来检查我们的项目代码质量。 如果我在项目中发现任何障碍,必须将其报告给我的团队负责人。 我发现了很多漏洞,我认为可以在博客上进行讨论。 不是嘲笑作者,而是一起学习和改进自己。 像这段代码一样,这是我在我们的代…

【javascript】DOM操作方法(3)——document节点属性

document.doctype //document.documentElement //来获取html元素 document.defaultView //返回document对象所在的window对象 document.body //返回当前文档的<body>节点 document.head //返回当前文档的<head>节点 document.activeElement //返回当前文…

debian dhcp服务启动不了_DHCP服务器配置

DHCP &#xff1d; Dynamic Host Configuration Protocol 基于TCP/IP&#xff0c;用于动态配置工作站网络接口&#xff0c;使工作站的网络接口管理自动化。DHCP服务器软件dhcpd网站&#xff1a;http://www.isc.org安装方法&#xff1a;#tar -zxvf dhcp-4.0.0.tar.gz#cd dhcp-4.…

泽西岛的JSON模式生成

因此&#xff0c;在上一篇文章中&#xff0c;我讨论了一个允许在WADL中使用JSON-Schema的建议&#xff0c;这篇文章探讨了如何使它与最近构建的Jersey一起使用。 在1.16发布之前&#xff0c;您将必须下载/参考1.16SNAPSHOT。 如果您使用的是Maven&#xff0c;那么假设您已经有…

C++map类型 之 简单介绍

一&#xff1a;map的前世今生&#xff08;1&#xff09;从关联容器与顺序容器说起。关联容器通过键&#xff08;key&#xff09;存储和读取元素。而顺序容器则通过元素在容器中的位置顺序存储和訪问元素&#xff08;vector,queue,stack,list等&#xff09;。关联容器&#xff0…

MySql Socket 完成数据库的增查Demo

需求: 利用MySql数据库结合前端技术完成用户的注册(要求不使用Web服务技术),所以 Demo采用Socket技术实现Web通信. 第一部分:数据库创建 数据库采用mysql 5.7.18, 数据库名称为MyUser, 内部有一张表 user.字段有 Id,UserName,Psd,Tel 第二部分:数据库连接与Socket通信 创建控…

oracle导数卡死,oracle-审计导数

1、因审计需求&#xff0c;需要将MySQL、Oracle数据库中需要的表数据导入到SqlSERVER进行审计。2、之前的方法&#xff1a;A. oracle组将表dump下来&#xff0c;进行压缩&#xff0c;传送到oracle导数服务器(中转服务器)&#xff0c;再进行还原&#xff0c;然后修改表结构&…

苹果桌面主题_看腻了手机自带的桌面主题,试试这个

在这个看脸的时代&#xff0c;颜值似乎越来越重要了。尤其是我们每天都要看到的手机桌面&#xff0c;如果它的颜值好一点&#xff0c;也许我们的心情会更好&#xff0c;所以有不少人都用手机自带的主题来美化桌面&#xff0c;但是对于喜欢个性的我们&#xff0c;手机自带的主题…

Java SE 11:推动Java向前发展

介绍 在我看来&#xff0c;这篇文章提出了Java语言应该如何发展以保持其作为首选语言的地位。 它还提供了一些我喜欢但有时&#xff08;可能永远不会&#xff09;成为Java一部分的功能&#xff0c;由于我将要解释的某些原因&#xff0c;这些功能有时我已经爱上了。 我真的很想…

python之property属性

Property的概念&#xff1a;property是一种特殊的属性&#xff0c;访问它时会执行一段功能&#xff08;函数&#xff09;&#xff0c;然后返回值。 import mathclass Circle:def __init__(self,radius):#园的半径radiusself.radiusradiusproperty#areaproperty(area)def area(s…

Hexo使用细节及各种问题

解决markdown图片不显示(返回403 forbidden)、添加本地图片无法显示、修改文章page模板、同时部署发布同步到多个仓库站点(Github、coding、gitee 码云) 图片不显示 在使用过程中&#xff0c;会发现有的引用图片无法显示的问题。但是如果直接复制图片地址到浏览器打开的话显示…

oracle的等保,Oracle等保测评相关指令

Oracle用户管理:SQL*Pluscreate user 用户名 identified by 密码; //创建用户grant 权限(dba管理员&#xff0c;resource普通用户&#xff0c;connect访客) to 用户名; //授权drop user 用户名 cascade; //删除用户&#xff0c;加cascade会把用户创建的所有东西删除Linux设置用…

Spring3 + JPA2 + Java EE6 App Server =配置混乱

Spring很棒&#xff0c;JavaEE6很棒&#xff0c;最新的JavaEE6 Application服务器也很棒。 这篇文章不是Spring Vs JavaEE6上的专栏文章&#xff0c;而是我在JBoss AS-7.1 App Server上移植Spring3 JPA2&#xff08;Hibernate&#xff09;应用程序的经验。 我的应用程序要求非…

python面向对象进阶(1)

面向对象进阶 isinstance(obj,cls) 检查是否obj是类cls的对象class Foo(object): passobj Foo() isinstance(obj,Foo)issubclass(sub,super) 检查sub是否是super的派生类class Foo(object): passclass Bar(Foo): passissubclass(Bar,Foo) 反射python面向对象中的反射&#xff…

智能小车37:异常在ARM、JAVA、硬件里的实现

几乎所有编程语言都有异常&#xff0c;可以说有程序就有异常。今天学习Arm的中断(异常)处理,联想到Java的异常,硬件中如何实现等问题&#xff0c;下面给大家分享一下。 一、Arm的中断。 1.触发异常 2.保存现场 3.cpu进入异常工作模式&#xff0c;程序指针(pc)跳入异常入口&…

c++builder提高批量动态创建panel的速度_骑行时影响速度的事项有哪些 怎样有效提高骑行速度 单车租赁信息...

撇开人的因素在自行车的组件中对车速影响最大的几项是什么?车重?自锁?轮组?传动?我的个人感受&#xff0c;从提高幅度上来讲&#xff0c;而不是重要性上来讲一、自锁起码提高你50%的速度&#xff0c;我不用自锁和别人一起走AVS25就很辛苦了&#xff0c;用了自锁&#xff0…

ansys matlab 调用,matlab 调用ansys (转载)

问题的提出&#xff1a;我们经常会需要用ansys计算一些东西&#xff0c;之后再用matlab来处理计算的结果。当修改某些参数重复上述过程的时候&#xff0c;就比较容易出现问题——比如ansys模型中的参数和matlab程序中参数的一致性问题等。这时可以考虑采用下面的协同工作的方法…

本地存储之sessionStorage

源码可以到GitHub上下载&#xff01; sessionStorage&#xff1a; 关闭浏览器再打开将不保存数据 复制标签页会连同sessionStorage数据一同复制 复制链接地址打开网页不会复制seessionStorage内的数据 清除缓存加载当前页对页面无影响 1) 同源策略限制。若想在不同页面之间对同…

哈希三道题

两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按任意…

zemax光学设计超级学习手册_穿越十年的一个ZEMAX光学设计案例

目前超过两千人的光学与光学设计方面的微信公众号&#xff0c;欢迎您&#xff01;穿越十年的一个ZEMAX光学设计案例作者&#xff1a;窗台小绿萝CAD&#xff0c;这个词已经深入到学习、工作很多年&#xff0c;翻译过来就是Computer Aided Design&#xff0c;计算机辅助设计。随着…