2022 JavaScript调查:TypeScript持续主导,Vite和Tauri大受欢迎

news2024/11/27 18:35:10

StateOfJS 最新发布了 2022 年 JavaScript 现状调查报告指出,Solid 和 Qwik 等新兴前端框架正在挑战 React 的权威。该报告基于对近 40,000 名 Web 开发人员的调查,数量几乎是去年的两倍。

图片

JavaScript 可能发展得很快,但 JavaScript 开发人员的发展速度貌似更快,因为许多相对较新的特性已经显示出了很高的采用率。报告把 JavaScript 的特性分成了语言、浏览器 API 和其他特性三个部分。下图根据分类划分,显示了各种特性的采用率;外圈的尺寸代表了了解这个特性的用户数量,内圈的尺寸代表了实际使用这个特性的用户数量。

图片

其中,Nullish Coalescing 使用率最高,达到了 81.7%。其次分别为 Top Level await ()(67.5%)、String.prototype.replaceAll()(64.6%)、Progressive Web App(64.4%)。

JavaScript 2022 大调查以象限图表示了 JavaScript 各技术这几年来的发展情况。每条线的使用时间从 2016 年到 2022 年。更高的分数意味着更多的人使用了这项技术;而右边的分数意味着更多的用户想要学习它,或已经使用过并且会再次使用它。

图片

1、JavaScript 现状 —— 前端框架

React 仍然是使用最广泛的前端框架,使用率为 81.8%,领先于第二名 Angular 的 48.8% 和第三名 Vue 的 46.2%;Svelte 的使用率从 2019 年的 7.8% 增长到 21%。开发人员最感兴趣的框架是 Svelte (69.8%)。在渲染框架中,Next.js 排名第一(48.6%),领先于 Gatsby 23%,但 “兴趣” 使 Next.js 与 SvelteKit 和 Astro 大致持平。

Svelte 和 Solid 在留存率方面处于领先地位,分别为 89% 和 90%。React 的留存率从 2019 年的 89% 下降到 83%,而 Angular 的留存率在此期间略有增长,达到 42%,但这仍远低于 2016 年的 68%。

2、JavaScript 现状 —— 后端框架(服务端)

在服务端,排名靠前的渲染框架是 Next.js,占 48%;其次是 Gatsby 占 23%,Next 占 18%。然而,Astro 和 SvelteKit 分别以 92% 的留存率高居榜首,其次是 Next.js,为 90%。Gatsby 的留存率从 2019 年的 90% 下降到 2022 年的 38%。     

3、JavaScript 现状 —— 测试

Jest 以 68.3% 的使用率蝉联最常用的单元测试框架榜首位置;但 Vitest 和 Testing Library 等新兴工具也不甘示弱,留存率分列榜一榜二。

4、JavaScript 现状 —— 移动和桌面

Electron 和 React Native 的使用率最高,各占 35% 左右。和其他领域一样,新兴技术 Tauri 的留存率依旧是最高的;这是一个相对较新的开源工具包,用于使用 HTML、CSS 和 JavaScript 等 Web 技术构建跨平台桌面应用程序。Tauri 在 7 月发布了 1.0 版,其核心库是用 Rust 编写的,该项目的重点是提高安全性和减少资源使用。Tauri 应用程序具有一个 Rust 二进制文件,用于管理窗口、webview 和对操作系统的调用。与更知名的 Electron 相比,Tauri 更小、更快,并且越来越受欢迎。

5、JavaScript 现状 —— 构建工具

在 2021 年的报告中,Vite 不仅以 98% 的满意度首次亮相,且第一年的使用率就已达到了 30%。2022 年的 Vite 表现依旧不俗,留存率为 98.4%,兴趣为 81.7%,使用率约为 50%。Webpack 仍然以 84.8% 的使用率领先,但 Vite 赢得了 “采用率最高的技术” 的调查,得分逐年上升。

6、JavaScript 现状 —— Monorepo 工具

此次调查也展示了有关 monorepo 工具的数据。其中,pnpm、Turborepo 和 Nx 的留存率最高,Rush 和 Lerna 最低。受访者对 Turborepo、pnpm 和 Nx 的兴趣最浓厚;但使用率方面基本相反,Yarn Workspaces 最高,为 26.3%。

图片

此外,在回答有关 JavaScript flavors 问题的 27,000 人中,98.9% 的人表示他们使用 TypeScript。第二名是 Elm,只有 2.3%。 关于 JavaScript/TypeScript 平衡方面,有 20.7% 的受访者表示仅使用 TypeScript 编写代码,而仅使用 JavaScript 的受访者比例为 8.2%。

图片

受访者使用最多的非 JavaScript 语言是 Python,其次是 PHP、Java、Rust、Go、C# 和 C/C++。

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

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

相关文章

4. Shuffle 5. 内存的管理

4. Shuffle (1) Shuffle 的原理和执行过程 在Scala中,Shuffle是指对集合或序列进行随机打乱或重新排列的操作。它可以用于打乱集合中元素的顺序,以便在后续的操作中获得更好的随机性或均匀性。 在Scala中,可以使用scala.util.Random类的shu…

只会Excel制表?搭配上这个工具,让你的办公效率无限翻倍

在每次考试之后,老师们通常需要进行繁重的工作,包括使用Excel汇总学生的考试成绩、计算平均分和成绩排名等。然而,现在学校不允许公布学生成绩,这给老师们增加了额外的工作量和麻烦。一些老师采取了将学生成绩表截成一条一条的成绩…

使用HummerRisk进行K8s安全合规检测

1.简介 HummerRisk 是开源的云原生安全平台,以非侵入的方式解决云原生的安全和治理问题。核心能力包括混合云的安全治理和云原生安全检测。 今天我们来通过 HummerRisk 云原生安全检测能力来对Kubernetes进行安全合规检测 2.检测步骤 ①首先创建一个Kubernetes账…

spring复习:(19)单例bean是在哪里被加入到一级缓存的?

AbstractBeanFactory的doGetBean方法&#xff1a; 如果是第一次调用getBean时&#xff0c;会执行到下边的代码&#xff1a; getSingleton的代码如下&#xff1a; public Object getSingleton(String beanName, ObjectFactory<?> singletonFactory) {Assert.notNull(bea…

windows安装mysql8.0.23版本成功示例-免安装

windows安装mysql8.0.23版本成功示例 一.通过mysql-installer-*.msi安装包的方式1.安装准备1.1 官网下载地址1.2 选择合适的版本点击下载 2.安装mysql 二.通过mysql-8.0.23-winx64.zip压缩包免安装方式1.安装准备1.1 下载官网压缩包1.2 解压后配置文件my.ini信息1.3 配置my.ini…

共筑开源新长城 龙蜥社区走进开放原子校源行-清华大学站

6 月 28 日&#xff0c;以“聚缘于校&#xff0c;开源共行”为主题的 2023 年开放原子校源行活动在清华大学成功举行。本次活动由开放原子开源基金会和清华大学共同主办&#xff0c;来自各行业的 22 位大咖共聚校园共话开源。龙蜥社区技术专家边子政受邀进行技术分享&#xff0…

安达发|如何选择性价比高的APS软件?

生产计划和调度决不是越精确越好。理论上&#xff0c;APS可以调度每一分钟&#xff0c;可以调度每一个人&#xff0c;每一台设备的每一个动作。这只对自动化生产线有意义。 我国企业管理水平参差不齐。许多工业企业可能不像一百年前的泰勒时代那样管理得那么好。对于一些工业企…

搭载率突破40%!智能数字座舱比拼,车企还有降本空间吗?

进入2023年&#xff0c;汽车行业的「降本」风潮&#xff0c;驱动产业链上下游开始思考智能化、电动化的投入产出。除了显性的硬件成本&#xff08;继续堆料&#xff0c;强调性价比&#xff0c;还是减配&#xff09;&#xff0c;软件及背后的开发成本&#xff0c;对于车企来说&a…

C++STL:关联容器之map和multimap

文章目录 1. map概述成员函数创建C map容器的几种方法迭代器map获取键对应值的几种方法map insert()插入数据的4种方式map emplace()和emplace_hint()方法 2. multimap概述成员函数创建C multimap容器的方法 1. map 概述 作为关联式容器的一种&#xff0c;map 容器存储的都是…

自研组件-createIntersectionObserver实现图片懒加载组件

项目&#xff1a;taro3vue3 描述&#xff1a;图片懒加载通过滚动距离的计算进行加载&#xff0c;这里记录下用createIntersectionObserver来实现 createIntersectionObserver介绍任意门 原理比较简单&#xff0c;通过监听图片&#xff0c;出现在显示区域内就渲染图片&#xf…

Qt Creator常用快捷键及技巧

1.[Qt Creator常用快捷键及技巧提升编码效率] (https://blog.csdn.net/luoyayun361/article/details/105431913) 介绍了一些小技巧比如: 自动补全函数快捷注释函数前输入/** 回车自动补全注释alt 整列进行编写或者 左右移动,非常有用某一行的复制 ctrlaltup (或者down)向上向…

远程CentOs安装了MySQL,本地的Nvaicat/SqlYog无法正常连接?

#1、创建新用户 mysql> CREATE USER ‘username’‘%’ IDENTIFIED BY ‘userpassword’; #给普通用户远程连接的权限&#xff1a; #2、授权 myuser 用户对指定库的所有表&#xff0c;所有权限并设置远程访问 mysql> GRANT ALL ON 指定库.* TO ‘username’‘%’; #3、更…

查看域名的ip地址

1."winr" -- ping www.baidu.com 2."nslookup www.baidu.com"

点云数据标注方法研究

1.点云可视化工具 1.1 cloudcompare下载安装 sudo snap install cloudcompare 启动方法: #open pointcloud viewer cloudcompare.ccViewer #open the main software cloudcompare.CloudCompare 使用上述第一条命令&#xff0c;读取的点云某一帧数据&#xff0c;我的点云格…

作为帮助文档使用,语雀和Baklib哪个更适合?

语雀和Baklib都是常见的在线文档协作工具&#xff0c;它们都提供了方便的文档编辑、协作和分享功能。然而&#xff0c;它们在一些方面存在差异&#xff0c;这取决于你的具体需求和使用场景。 下面将对语雀和Baklib进行综合比较: 1. 功能和编辑体验 语雀和Baklib都具有强大的…

Golang学习之结构体和内存对齐、map设计思路

Golang学习之结构体和内存对齐、map设计思路 结构体和内存对齐内存对齐如何确定一个结构体的对其边界 map设计思路哈希表与扩容bmap的结构练习map扩容规则 结构体和内存对齐 cpu要想从内存读取数据&#xff0c;需要通过地址总线&#xff0c;把地址传输给内存&#xff0c;内存准…

【ONE·Linux || 地址空间与进程控制(一)】

总言 进程地址空间和进程控制相关介绍。 文章目录 总言1、进程地址空间1.1、程序地址空间初识1.1.1、介绍程序地址空间划分及地址空间初步验证1.1.2、地址空间再次综述演示1.1.3、两个补充问题&#xff1a; 1.2、地址空间是什么1.2.1、阶段认识一&#xff1a;故事引入1.2.2、阶…

redis浅析

一 什么是NoSQL&#xff1f; Nosql not only sql&#xff08;不仅仅是SQL&#xff09; 关系型数据库&#xff1a;列行&#xff0c;同一个表下数据的结构是一样的。 非关系型数据库&#xff1a;数据存储没有固定的格式&#xff0c;并且可以进行横向扩展。 NoSQL泛指非关系…

论文笔记:AugGPT: Leveraging ChatGPT for Text Data Augmentation

AugGPT&#xff1a;利用 ChatGPT 进行文本数据增强 摘要1 介绍2 相关工作2.1 数据增强2.2 小样本学习2.3 超大型语言模型2.4 ChatGPT&#xff1a;现在与未来 3 数据集3.1 亚马逊数据集3.2 症状数据集3.3 PubMed20k数据集 4 方法4.2 使用 ChatGPT 进行数据增强4.3 小样本文本分类…

Vue3通透教程【十五】补充TS开发环境搭建问题

文章目录 &#x1f31f; 写在前面&#x1f31f; Node中搭建TS开发环境&#x1f31f; 验证环境&#x1f31f; 写在最后 &#x1f31f; 写在前面 专栏介绍&#xff1a; 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章&#xff0c;应粉丝要求开始更新 Vue3 的相关技术文章&#…