首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2020年度JavaScript开源大奖揭晓,共有6个项目获奖

自2018年以来,JavaScript开源大奖每年都会选出四个类别最有影响力的开源项目:年度突破奖、最激动人心技术应用奖、年度最有趣项目奖和对社区最有影响力贡献奖。2020年奖励了6个开源项目。

Deno和Svelte获得了年度突破奖。

Deno是一个简单、安全的现代JavaScript和TypeScript运行时,使用了V8,基于Rust开发。经过两年的开发,Deno最终在2020年5月发布了1.0版本,并准备投产使用。Deno支持WebAssembly,使用可编译到WebAssembly的语言(Rust、Go、C++等)开发的原生库可在Deno应用程序中运行。

Svelte是一个基于组件的UI框架,用于构建交互式Web应用程序,如React或Vue。但与React和Vue不同的是,Svelte在构建时会对应用程序代码进行编译,并生成小而高性能的编译代码。Svelte最近添加了TypeScript支持。据wappalyzer.com报道,《纽约时报》、Spotify、chess.com、飞利浦等很多网站都在使用Svelte。

Mock Service Worker(MSW)获得了最激动人心技术应用奖。MSW是一个针对浏览器和Node的API模拟库。MSW的工作原理如下:

Mock Service Worker与其他工具的区别在于它的用法。MSW利用Service Worker API(拦截请求进行缓存)将定义的网络级别的响应发给捕获的请求。在这种情况下,应用程序不知道底层响应是模拟的。

在开发、测试和调试时都可以启用MSW的API模拟,无需后端支持。MSW支持REST和GraphQL API。

Pose Animator赢得今年的年度最有趣项目奖。Pose Animator基于二维矢量图,根据从PoseNetFaceMesh识别出的结果实时呈现曲线动画。它从计算机图形学中借鉴了基于骨架的动画的思想,并将其应用于向量角色:

来源:GitHub项目

PoseNet是一个使用了TensorFlow.js的独立模型,支持在浏览器中进行实时姿势计算。MediaPipe Facemesh能够基于486个3D面部进行人脸识别。

对社区最具影响力贡献奖授予Perfume.js。这个库是一个Web性能库,用于度量所有以用户为中心的性能指标。Perfume.js利用了最新的Performance API(High Resolution Time)来收集现场数据,用以度量真实用户的体验。收集的数据包括第一次绘制(FP)、第一次内容绘制(FCP)、最大内容绘制(LCP)、第一次输入延迟(FID)、累计布局移位(CLS)、总阻塞时间(TBT)、导航时间、资源时间,等等。收集到的数据被输入到分析工具用于监控:

www.coinbase.com美国、意大利、印尼、尼日利亚站点的FCP。图片来源为Perfume的GitHub主页

Perfume还会在测量的数据中加入与设备能力(设备内存、CPU数量和Service Worker的状态)有关的附加信息。

最后,“生产力促进奖”颁给了Snowpack。Snowpack致力于构建恒定时间(<50毫秒)的Web应用程序。它利用了JavaScript的原生模块系统(称为ESM),并在开发期间为未打包的应用程序提供服务。Snowpack通过插件支持生产打包构建。Snowpack为avaScript、TypeScript、JSX、CSS和图像文件提供内置支持,并可通过插件支持Vue和Svelte文件。

Svelte作者Rich Harris最近在Svelte峰会上演示了与Svelte下一个版本相关的工作,其中就使用了Snowpack。Harris解释说:

我认为我们很快就会到达一个点,即在开发过程中使用打包器的项目看起来会有点过时。

JavaScript开源大奖是由GitNation发起的,每年举办一次。GitNation还负责管理React开源大奖Vue开源大奖

原文链接

JavaScript Open Source Awards 2020 Distinguishes Six Impactful Projects

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/B0mKqv3WC2YyW30daact
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券