尽管设备和网络条件在逐年小幅进步,但网页本身正变得日益臃肿。数据显示,现代网页的平均大小已超过经典游戏《毁灭战士》,并且在过去十年间翻了一倍。与此同时,不同用户群体间的体验鸿沟却在持续扩大:
- 设备差距:高端苹果设备与低端安卓设备的性能差异可达9倍,而多数用户仍在使用2年以上的旧设备。
- 网络差距:富裕地区与低收入地区的网速差距高达数倍,且5G的实用价值在许多场景下仍然有限。
- 开发选择:许多开发者过度依赖高端设备进行测试,并在技术选型上出现偏差,例如过度使用 JavaScript、盲目采用SPA(单页应用) 等 前端框架 技术,忽视了其带来的运行时开销。
这些因素共同导致了“数字富人”能够流畅使用网页,而“数字穷人”却因页面卡顿、加载缓慢而被无形排挤,进一步加剧了数字不平等。
为此,Alex Russell 提出了面向2026年的网页性能预算基准,呼吁浏览器厂商、搜索引擎和广大开发者共同采取行动,通过约束网页大小、优化技术选型等方式,在设计之初就兼顾低端设备和慢速网络用户的体验,让网页回归其应有的包容性与普适性。
浏览器指纹:Cookies之后的新隐私威胁
文章回顾了Cookies的历史及其隐私风险,指出虽然浏览器在识别和阻止恶意Cookies方面已取得进步,但更隐蔽的浏览器指纹识别技术已成为新的主要威胁。
与Cookies不同,浏览器指纹识别通过收集浏览器自动提供的各种信息来创建用户的唯一标识,例如:浏览器版本、操作系统、语言、时区、安装的字体与插件、硬件信息,甚至包括Canvas指纹和窗口大小等。即使用户禁用JavaScript,这个行为本身也可能成为一个独特的识别特征。
尝试通过修改浏览器行为来对抗指纹识别同样存在问题,因为这类修改本身也可能留下可追踪的痕迹。
目前,被认为相对有效的对抗手段包括:使用VPN并定期更换节点、阻止长期存在的Cookies、使用流行的浏览器和操作系统组合、保持系统默认配置,以及使用Brave、Mullvad等内置指纹抵抗功能的浏览器。即便如此,这些措施也只能将用户被唯一识别的概率从99%降低到50%左右。
文章也指出了抵抗指纹识别的副作用,例如可能遇到更频繁的身份验证挑战,以及部分网站功能异常。最后,作者探讨了该技术的法律灰色地带,并呼吁通过新的立法来解决这一日益严峻的隐私挑战。
拥抱类型检查:JavaScript + JSDoc 的轻量级方案
并非所有开发者都青睐TypeScript。有观点认为,类型信息应作为文档注释存在,而非成为代码本身的一部分,而JSDoc注释正能满足这一需求。
实践方法很简单:在JavaScript文件的首行添加 // @ts-check 指令,然后使用JSDoc注释为变量、函数参数和返回值标注类型。配合 jsconfig.json 或 tsconfig.json 进行配置,并利用TypeScript编译器 (tsc) 或支持它的IDE(如VSCode),原生JavaScript文件就能获得与TypeScript同等的类型提示和静态检查能力,且无需额外的构建步骤。
该方案的倡导者呼吁,行业可以将“JS + JSDoc + tsc类型检查”作为默认选择,仅在框架强制要求时再引入完整的TypeScript。
工具推荐:binary-parser 与 PocketBase
- binary-parser:一个声明式的高性能二进制数据读取工具,由 Keichi Takahashi 开发。
- PocketBase:一个开源、实时后端服务,其特色是所有功能被集成于单个可执行文件中。它包含以下核心模块:
- 嵌入式实时数据库:支持定义数据模式、数据验证、实时订阅,并提供易用的REST API。
- 身份验证:内置用户管理,支持邮箱/密码和OAuth2(Google, Facebook等)登录。
- 文件存储:支持本地或S3存储,可轻松将文件关联到数据库记录,并动态生成缩略图。
- 可扩展性:可作为独立应用运行,也可通过Go或JavaScript钩子进行扩展,并能方便地集成到现有 数据库与中间件 生态中。
PocketBase 同时提供了 JavaScript 和 Dart SDK,便于前端集成。
业界动态:AI公司Anthropic收购Bun
AI领域的重要公司Anthropic已收购了JavaScript运行时Bun的团队。Bun是一个新兴的、追求高性能的JavaScript/TypeScript全栈工具链。此举由Jarred Sumner报道,可能预示着AI与开发工具生态融合的新趋势。
|