2023.10.28前端周刊

本专栏(FE weekly news)文章随缘更新,由于精力有限,每篇周报的内容可能不多,欢迎大家关注

新闻

1. 一个致力于规范化source maps的TC39工作组正式成立

该工作组在23年7月宣布创建,近期该工作组宣布最终成立,其成员包括彭博社、Google、JetBrains、Meta、微软、Mozilla、Sentry等。工作组致力于规范化source mpas,并推动各种source map 调试器、生成器、工具去遵守这些规范。以此来实现source maps一些开发周期较长、较复杂但对开发者来说必要的功能。比如通过传递函数、变量名、debug IDs来快速定位源文件的位置信息。

2. The State of WebAssembly 2023 (scottlogic.com)

2023年的WebAssembly调查报告出炉,摘出几个我比较关心的调查问题列在下面,想看完整调查可以查看原文。

  1. 开发者开发WebAssembly相关应用时,使用哪种语言比较多?

    Rust今年仍然位列top1,这已经是它连续三年蝉联冠军了。

    JavaScript位列第二,他们对WebAssembly的使用,大多是看中了它的安全性和隔离性。

    Swift是最近才加入WebAssembly生态系统的,其实几年前苹果公司就已经提出希望WebAssembly支持Swift了,不过尽管他们已经提交了大量commit,WebAssembly仍然没有将这些代码合进来,目前他们仍然在维护他们自己的分支以供Swift使用。

  2. 开发者们用WebAssembly来开发什么?

    使用WebAssembly最多的就是web开发(Web development)。

    排在第二的是插件环境的开发(as a plug-in environment)。插件环境开发在这两年增速很快,通过WebAssembly,让用户(自定义插件开发者)可以在安全和隔离的环境中使用代码来扩展自己所需的功能,并且大大降低这些不可控代码对平台本身的影响。

  3. WebAssembly的使用比例如何?

    41%的调查参与者已经将WebAssembly用在了生产环境,28%的参与者计划在明年使用。(我对此持怀疑态度,我身边朋友没听说谁在用这个,使用比例真的有这么高吗)

  4. 你喜欢WebAssembly的原因是什么?(没全部列出来,想看全部可以查看原文)

    • 可移植性和在不同平台上运行代码的能力,可以一次编写、随处运行
    • 不同语言和web之间的互操作性,语言选择更灵活
    • 本地性能和效率
    • 安全和沙箱功能
    • 对 JavaScript 有更少的依赖
    • 在浏览器中运行复杂应用程序的潜力
    • ....

文章

1. Solid.js的开发者提出了一些减少代码体积的策略

Solid.js的开发者Ryan Carniato表示,减少js体积是一件很有意义且很有必要的事情。由此列出了几种减少js体积的方法:

  1. 代码分割/懒加载

  2. 使用那些打包出的代码更小的框架

    值得注意的是,Carniato做了测试,有些框架虽然在项目规模较小时打包出的代码体积小,但随着项目中的组件越来越多,其代码体积增速会变的很快(点名批评Svelte 手动狗头)

  3. 更多利用浏览器的内置功能(比如锚点、表单),而非全部依赖js来实现。

  4. 渐进式水合

    页面在需要时按需水合,即选择性水合。以React为例, 如果React应用还没有完全水合时,用户点击了一个部分(可能不是 React 当前正在加载或水合的部分),那么React会停止正在进行的工作,优先处理用户点击的部分。

2. Web Components Will Outlive Your JavaScript Framework

本文作者介绍了自己如何使用web components来代替各种框架(比如React)来开发应用,

并提出了一个观点:如果你想长期维护一个网站,且不想受制于开发依赖工具的变更而被迫修改你的代码,那么减少你开发时的依赖工具,尽可能使用那些不会break的原生方式去写你的代码。

相关推荐
打小就很皮...6 分钟前
React 19 + Vite 6 + SWC 构建优化实践
前端·react.js·vite·swc
Highcharts.js8 分钟前
使用Highcharts与React集成 官网文档使用说明
前端·react.js·前端框架·react·highcharts·官方文档
这是个栗子9 分钟前
AI辅助编程(二) - 通译千问
前端·ai·通译千问
VT.馒头20 分钟前
【力扣】2625. 扁平化嵌套数组
前端·javascript·算法·leetcode·职场和发展·typescript
数研小生1 小时前
Full Analysis of Taobao Item Detail API taobao.item.get
java·服务器·前端
Shirley~~1 小时前
Vue-skills的中文文档
前端·人工智能
毎天要喝八杯水1 小时前
搭建vue前端后端环境
前端·javascript·vue.js
计算机程序设计小李同学2 小时前
幼儿园信息管理系统的设计与实现
前端·bootstrap·html·毕业设计
雨季6662 小时前
Flutter 三端应用实战:OpenHarmony “极简手势轨迹球”——指尖与屏幕的诗意对话
开发语言·javascript·flutter
雨季6662 小时前
Flutter 三端应用实战:OpenHarmony “专注时光盒”——在碎片洪流中守护心流的数字容器
开发语言·前端·安全·flutter·交互