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的原生方式去写你的代码。

相关推荐
m0_738120722 分钟前
渗透基础知识ctfshow——Web应用安全与防护(第一章)
服务器·前端·javascript·安全·web安全·网络安全
持续前行11 分钟前
通过 npm 下载node_modules 某个依赖 ;例如 下载 @rollup/rollup-linux-arm64-gnu
前端·javascript·vue.js
Embrace92435 分钟前
React Native + Realm 离线方案处理
javascript·react native·react.js·realm
chenyingjian1 小时前
鸿蒙|能力特性-统一文件预览
前端·harmonyos
毛骗导演1 小时前
OpenClaw 沙箱执行系统深度解析:一条 exec 命令背后的安全长城
前端·架构
天才聪1 小时前
鸿蒙开发vs前端开发1-父子组件传值
前端
卡尔特斯1 小时前
Android Studio 代理配置指南
android·前端·android studio
李剑一1 小时前
同样做缩略图,为什么别人又快又稳?踩过无数坑后,我总结出前端缩略图实战指南
前端·vue.js
Jolyne_1 小时前
Taro样式重构记录
前端
恋猫de小郭1 小时前
Google 开源大模型 Gemma4 怎么选,本地跑的话需要什么条件?
前端·人工智能·ai编程