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

相关推荐
小蚂蚁i8 分钟前
把 TypeScript 内置工具类型彻底搞懂,顺便自己封几个好用的
前端·typescript
维基框架9 分钟前
当Prompt编辑变成训练过程:SkillOpt的逆直觉方案
前端
KaMeidebaby14 分钟前
卡梅德生物技术快报|小 RNA 适配体合成 + 多方法亲和力表征全流程标准化操作手册
前端·网络·数据库·人工智能·算法
爸爸61921 分钟前
07 ArkTS 基础类型与接口定义:从 TypeScript 到鸿蒙的类型升级
javascript·华为·typescript·harmonyos·鸿蒙系统
OpenTiny社区1 小时前
Coding Agent 到底是怎么工作的,它又为什么会在复杂代码库里失真?
前端·github·agent
奇奇怪怪的1 小时前
Graph RAG:知识图谱增强检索
前端
默_笙1 小时前
🌏 MCP 是 AI 界的 USB-C:一个协议让所有模型都能用上所有工具
前端·javascript
以和为贵1 小时前
🔥前端也能搞懂流式输出:从 SSE 到打字机效果
前端·人工智能·架构
阿成学长_Cain2 小时前
Linux telinit 命令详解:运行级别切换|关机重启|系统维护一站式掌握
linux·运维·前端·网络
Patrick_Wilson3 小时前
最佳实践是有保质期的:从一次 CDN external 白屏事故说起
前端·性能优化·前端工程化