AI编程实践与工具测评
发布时间:2026-10-13 | 浏览:1
你的 H5 在鸿蒙上跑的是两年前的浏览器内核——HarmonyOS 7 把 ArkWeb 从 Chromium 132 一步跳到 144
打开鸿蒙手机上的 App,点进一个 H5 页面,页面里那个 :has() 选择器没生效、CS…
SvelteKit 3 进 RC:svelte.config.js 这个文件直接没了,$lib 改名 #lib——13 个破坏性变更锁定,升级窗口就是现在
SvelteKit 3 进 RC 了:svelte.config.js 这个文件直接没了,$…
恶意包平均活不过 3 天,但你装它的速度是 0 秒——npm 终于把「新版本先冷静 24 小时」做成了默认能力
导语:供应链投毒的窗口期其实很短——多数恶意版本在上架后几小时到几天内就会被下架。问题在于,…
输入框里那段要标红的文字,你还在往 contenteditable 上搬——Chromium 152 让原生 input 自己支持高亮了
给 input 或 textarea 里的某一段文字加高亮,这件事在浏览器里整整卡了十几年。…
服务器开了 HTTP/3,日志里可能一行 h3 都没有——QUIC v2 进 Firefox 155,协商这一步补齐了
你在 nginx 上开过 HTTP/3 吗?开完打开网站,感觉快了点,然后就没然后了。但如果…
TypeScript 7 是快了,但 vue-tsc、ESLint、编辑器一个都用不上——今天一个 override 把 Go 引擎塞回了旧 API 底下
TypeScript 7 把编译器搬进 Go 之后,最尴尬的不是「快不快」,而是「你根本用不…
配了三年动画,今天才发现 View Transitions 从来不是给整个页面准备的——element.startViewTransition() 把这件事彻底变了
写播放器的人都知道 View Transitions 好用,但一用就发现整个页面都被它接管了…
卡片底部的按钮永远对不齐,你还在用 JS 量高度——CSS subgrid 今年 3 月刚进 Baseline
同一排卡片,标题一行、两行的都有,底部的按钮就参差不齐——这个对齐问题,你十有八九是用 JS…
加个 MCP 服务器又去手改 JSON?Claude Code 自带的 mcp 命令早就够用了
给 Claude Code 加一个 MCP 服务器,很多人的第一反应还是打开 .mcp.js…
文章目录不再靠 IntersectionObserver 死盯——Chrome 用一行 scroll-target-group 让浏览器自己认「读到哪了」
一篇文章的侧边目录,你想让它随着阅读高亮当前章节、把读过的章节打个勾、没读到的置灰。这个需求…
用户在手机上想把这页分享出去,你那一排微信微博按钮其实一个都点不对——浏览器早就自带系统分享面板了
先说结论:移动端分享这件事,你不需要再堆一排第三方社交按钮,也不需要引任何 SDK。浏览器里…
traceId 一进 await 就断线,前端只能层层穿参——今天 TC39 用 AsyncContext 把上下文传播彻底原生化了
你写了一段带 traceId 的请求,日志打得好好的。结果代码一进 await,下游函数里 …
WebAssembly 里跑一次大整数运算比原生慢 2 到 7 倍——Firefox 155 用四条指令把 128 位整数补进了 Wasm
WebAssembly 里跑一次大整数运算,比原生慢 2 到 7 倍——这个数字在今天之前一…
聊天气泡每次都被软键盘盖住,你监听 visualViewport.height 算了半天——今天这件事在 viewport meta 里用一行 HTML 配完
你的聊天界面底部有个固定输入框,用户一点,软键盘弹上来,输入框要么被压在键盘底下,要么页面莫…
你为了页面切换动效装了一个几十 KB 的库——其实浏览器今天自带了,而且 GPU 加速、零依赖
你为了页面切换动效装了一个几十 KB 的库——其实浏览器今天自带了,而且 GPU 加速、零依…
WebAuthn Level 3 成了 W3C 正式推荐标准:passkey 终于能在你登录时被静默创建,注销也不再靠猜
8 月 25 日,W3C 把 Web Authentication Level 3 正式发布…
写了十年 React,你的状态其实一直住在服务器上——HTML over WebSockets 让 SPA 回到一个代码库
你团队里那套 React SPA,代码量最大的部分从来不是业务,而是「把服务器上的状态搬进浏…
配了三年 npm 发包,今天才知道那个 legacy token 一直是个定时炸弹
2026 年 3 月,axios 的维护者被攻击者拿下账号,发布了两个带后门的版本:axio…
长列表卡了八年,你以为只能靠装虚拟滚动库救场?今天两行 CSS 让浏览器自己跳过了不需要渲染的内容
长列表页卡了八年,你以为只能靠虚拟滚动库救场?今天两行 CSS 让浏览器自己跳过了不需要渲染…
你以为动画播着就不能动 DOM?今天这件事被 moveBefore() 从根上原生化了
配了三年前端,每次想在用户操作时优雅地把一个元素挪到另一个位置,都要先问自己一个问题:这个元…
表头要吸顶、首列要吸左,你写了多少行滚动同步 JS——单轴滚动容器让 sticky 在两个轴各认各的祖先
表格横向能滚了,表头却永远吸不住——你为这个坑写过多少次滚动同步 JS,然后在一个新浏览器上…
写过前端的人都踩过这个坑——每次以为 npm install 只是装依赖,今天 npm v12 把 16 年来默认执行别人代码的那扇后门彻底锁死了
每次 npm install 跑完,你的机器上其实已经执行了一堆你不认识的代码——只是你不知…
Vercel 自家仪表盘跑 next dev 从 21.5GB 内存掉到 2GB——Next.js 16.3 把开发内存和 CI 构建一起重写了
Vercel 自家仪表盘跑 next dev,编译完 50 个路由,内存从 21.5GB 掉…
配了八年浮动层,每次定位都要靠 JS 算坐标——今天 CSS anchor() 把这件事彻底原生化了
每次给浮层(tooltip、下拉菜单、弹出卡片)定位,都是同一套流程:先调 getBound…
服务器还在给你发 gzip,浏览器早就不想解了——zstd 进 Baseline 半年,你可能一个字节的带宽都没省下来
如果你的服务端还在无脑发 Content-Encoding: gzip,那么从 2026 年…
border-box 是从 IE6 的怪异模式里翻回来的,它默认不继承——你抄了十年的全局重置,只写对了一半
先说结论:box-sizing: border-box 救过无数人的布局,但有两个细节几乎没…
字节的跨端框架今天换了个活法:AI 生成的界面,可以一行代码都不执行
Lynx 4.0 把"AI 生成界面"从口头约定变成了两条工程约束:一份机器可读的能力清单,…
VS Code 代码库类型检查 125.7 秒压到 10.6 秒——TypeScript 7 把编译器整个搬进了 Go
大项目里 tsc --noEmit 跑两分钟,你已经学会不盯着它看了。这次不是加两个语法糖,…
你以为跨平台框架能省一半人力——今天 Shopify 用 12 周把这件事彻底翻了
React Native 跑了六年,刚刚把底层重写做完、新架构全面接管,就在这个最成熟的节点…
Chrome 155 把 insertAdjacentHTML 一大家子全换了:七个新方法加流式插入,HTML 终于能边下边拼进 DOM
insertAdjacentHTML 这个用了二十多年、参数靠字符串位置来猜的 API,Ch…
覆盖率报告说这行跑过了,删掉它测试照样绿——Vitest 4 把 V8 的假阳性从 15% 压到接近 0
覆盖率报告说这行跑过了,删掉它测试照样绿——Vitest 4 把 V8 的假阳性从 15% …
写过 SPA 的人都踩过这个坑——路由配了三层拦截两套事件,今天浏览器用一个 API 把这件事彻底原生化了
写 SPA 的人大概都踩过这个坑——每次配路由都要装 @reach/router 或者 re…
写过 React 的人都在抱怨调试靠手动点,今天 DevTools 8.0 把 Suspense 溯源和 AI 探测彻底原生化了
写过 React 的人都在抱怨调试靠手动点,今天 DevTools 8.0 把 Suspen…
写过 UI 的人都踩过这个坑——在 iPhone 上写 height: 100vh,每次都多出来一截。今天三个 CSS 单位把这件事彻底修了
写过 UI 的人都踩过这个坑——在 iPhone 上写了 height: 100vh,打开一…
dev server 每重启一次,插件就多留一份监听——Vite 8.3.0 用 closeServer/closePreviewServer 两个 hook 收尾,还告诉你这次是重启还是关停
写一个 Vite 插件,最容易被忽略的不是 transform 写错,是它什么时候该把占用的…
选完了,可 select 按钮里还是只有一行冷淡的纯文本——把 selectedcontent 放进 button,选中的图标和标签就能出现在关闭态里
用户点开下拉、选了「带图标的建筑」那一项,菜单关上之后,按钮里却只剩一行冷冰冰的纯文本「建筑…
写过三年前端,每次子元素状态一变化就要写一个 MutationObserver——今天 CSS :has() 把这件事彻底原生化了
写过三年前端,每次子元素状态一变化就要写一个 MutationObserver——今天 CS…
只给 LCP 图加一个 fetchpriority=high,Google 实测 2.6s 掉到 1.9s——但 90% 的站点把它加错了元素
2026 年,还有大约 38% 的移动站点过不了 2.5 秒的 LCP 门槛。很多人第一反应…
你以为给 popover 加个滑入动画只能靠 JS?今天一个 CSS 伪类把它彻底原生化了
写前端的人大概都干过这件事:页面上要加一个下拉提示或者浮层,先想「用哪个库」,然后 npm …
恶意包平均活不过 3 天,但你装它的速度是 0 秒——npm 终于把「新版本先冷静 24 小时」做成了默认能力
导语:供应链投毒的窗口期其实很短——多数恶意版本在上架后几小时到几天内就会被下架。问题在于,…
折叠动画还在给 max-height 塞 9999px?CSS 终于让 height: auto 参与过渡了
折叠面板每次展开都要给 max-height 塞个 9999px,这大概是前端最出名的一条「…
写过浮层的人都踩过这个坑——每次写 tooltip 都要 npm install 一个库,今天浏览器把这件事彻底原生化了
写过浮层的人都踩过这个坑:写个下拉菜单,要 npm install Floating UI;…
一个包能绑十个发布身份,你却还在 CI 里揣着一根永不过期的 token——npm 9 月 3 日把信任发布的规则改了
一个包现在能绑定十个"发布身份",可你的 CI 里可能还躺着一根永不过期的 publish …
写完了八年 CSS,每次想给折叠面板加个展开动画都要靠 JS 读 scrollHeight——今天这件事被一行 CSS 彻底原生化了
写完了八年 CSS,每次想给折叠面板加个展开动画都要靠 JS 读 scrollHeight—…
装了 PWA 才发现,用户根本不知道有新消息——图标上一个未读角标,浏览器三年前就自带了这个 API
装了 PWA 才发现,用户根本不知道有新消息——图标上一个未读角标,浏览器三年前就自带了这个…
装依赖要查供应链信任,删依赖却直接放行——pnpm 这次把 remove 和 update 也一起收编了
你给 pnpm install 配了 minimumReleaseAge 和 trustPo…
中文标点前后那一格宽的空,你用负 margin 抠了十年——CSS 一个属性把它交给字体自己算了
中文页面里那一格莫名其妙的白,终于不用你手动抠了。 你有没有注意过这个细节:一段以中文引号「…
你以为动画卡是 Reanimated 有 bug?今天发现其实是 Shadow Tree 的节点从来没人清理
Discord 迁移 React Native 新架构后,Android 动画帧率直接掉了一…
React 19.3 把「这个组件别在服务端渲染」变成了一行 API——那些 mounted 标志位可以删了
每个 React SSR 项目里,大概都躺着一段这样的代码:`const [mounted,…
列表动画最烦的就是给每个元素起名字——Safari 18.4 今天让浏览器自己生成
做列表动效的时候,想让每个卡片独立过渡,就要给每个元素写一个唯一的 view-transit…