LocalStorage vs. IndexedDB vs. Cookies vs. OPFS vs. WASM-SQLite | RxDB - JavaScript Database
本文对比了五种主流浏览器本地存储技术。Cookies容量极小且随请求发送;LocalStorage速度极快但阻塞主线程且限5MB;IndexedDB支持原生JSON和索引,适合大文件但API复杂;OPFS是专为大数据集设计的二进制文件系统,WebWorker模式下性能翻倍;WASM-SQLite功能强大但需下载近1MB的二进制文件且初始化慢(约0.5秒)。开发者应根据数据复杂度、多标签页支持和性能需求进行技术选型或组合优化。
CSS finally adds vertical centering in 2024 | Blog | build-your-own.org
本文介绍了 2024 年主流浏览器全面支持在默认流布局(Flow layout)中直接使用 align-content: center; 来实现一行代码垂直居中,不再强求依赖 Flexbox 或 Grid,也无需包裹额外的子容器。
作者回顾了以往垂直居中的 8 种历史方法(如 table-cell、绝对定位、Flexbox等),分析了 CSS 属性命名的混乱设计,并指出这一新特性让常规的垂直居中终于回归到最直观、 saner 的原生实现。
There are a lot of ways to break up long tasks in JavaScript. | Alex MacArthur
文章探讨了在JavaScript中将耗时长的任务拆分到事件循环多个tick中的各种方法,以避免阻塞主线程并提升UI响应度。作者对比分析了7种方案的优缺点及浏览器兼容性:包括经典的递归与Async/Await结合 setTimeout、新兴且功能强大的 scheduler.postTask() 和 scheduler.yield()、针对特定场景的 requestAnimationFrame 与 MessageChannel,以及最推荐用于非主线程任务的 Web Workers。
What are Signals? | Playful Programming
本文详细介绍了前端流行的响应式状态管理机制——Signals(信号)的底层实现原理。
- 核心要素: Signals 包含状态且可写可订阅;Computed 属派生状态,只读可订阅;Effects 无状态,仅用于订阅并执行副作用(如更新 DOM)。
- 自动追踪: 现代 Signals 引入全局单例监听器,在执行副作用时隐式、自动地收集依赖,消除了繁琐的依赖数组。
- 无 glitch 优化: 机制通过追踪当前写入状态,确保所有关联的依赖信号完全解析后再执行 Effect,从而消除暂态错误,实现“无缝抖动”的数据流。
The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 (Still No Excuses!) @ tonsky.me
文章梳理了开发人员必须掌握的 Unicode 与 UTF-8 核心知识。要点包括:目前互联网 98% 采用 UTF-8 编码;Unicode 建立字符与代码点的映射,而 UTF-8 是变长字节编码;代码点并非基本书写单元,人类感知的独立字符是扩展字形簇(Glyph Cluster);不能单纯通过字节或代码点计算字长或截取字符串;字符串比较前须进行规范化(Normalization);部分操作和渲染依赖区域设置;开发中应始终使用成熟的 Unicode 库处理文本。