Now vibe coding, so learning hammer FE ?
这篇文章介绍了如何通过 JavaScript 检测 Safari 浏览器及其 iOS 版本,推荐使用特性检测和引擎映射的方法,而不是依赖容易伪造的 User-Agent 字符串。
https://evilmartians.com/chronicles/how-to-detect-safari-and-ios-versions-with-ease
https://evilmartians.com/chronicles/how-to-detect-safari-and-ios-versions-with-ease
这篇文章是关于现代CSS颜色的实用指南第一部分,主要介绍了CSS颜色的新特性,包括新的颜色函数(如
https://piccalil.li/blog/a-pragmatic-guide-to-modern-css-colours-part-one/
rgb()、hsl()的语法更新)、颜色空间(如srgb、display-p3、rec2020)以及如何使用这些新特性来实现更广色域和更一致的颜色表现,同时提供了实际示例和最佳实践建议。https://piccalil.li/blog/a-pragmatic-guide-to-modern-css-colours-part-one/
#文章 核心网页指标的历史——这是一份全面记录核心网页指标多年来发展历程的编年史,回顾了这一倡议的演变过程及其对网页性能产生的更广泛影响。值得一提的是,得益于核心网页指标的共同作用,Chrome 用户总共节省了相当于三万年的等待时间!
https://addyosmani.com/blog/core-web-vitals/
https://addyosmani.com/blog/core-web-vitals/
#React 19.2 useEffectEvent允许开发者使用一个始终能看到最新状态和属性的函数,而不会导致包含该函数的Effect重新运行。作者期待看到这个钩子在未来如何被使用。
https://www.nico.fyi/blog/quick-look-use-effect-event
https://www.nico.fyi/blog/quick-look-use-effect-event
#React #文章 介绍了如何在使用 React 的
https://kurtextrem.de/posts/react-uses-hydration
<Suspense> 进行服务器端渲染(SSR)时,通过 useSyncExternalStore 避免水合不匹配问题,但指出其会触发非并发渲染导致用户体验问题。作者提出通过 useDeferredValue 实现并发的 `useSyncExternalStore`,优化用户体验和性能,并提供了实践示例。https://kurtextrem.de/posts/react-uses-hydration
#React 隆重推出 React 基金会
多年来,关于谁“拥有/控制”React,以及如果这种情况发生变化可能会带来什么影响等问题一直备受关注。在 2025 年的 React 大会上宣布,React 和 React Native 的控制权将从 Meta 转移至一个独立的基金会,该基金会最初将得到包括亚马逊、Expo、Meta 和微软在内的多家企业成员的支持。
https://react.dev/blog/2025/10/07/introducing-the-react-foundation
多年来,关于谁“拥有/控制”React,以及如果这种情况发生变化可能会带来什么影响等问题一直备受关注。在 2025 年的 React 大会上宣布,React 和 React Native 的控制权将从 Meta 转移至一个独立的基金会,该基金会最初将得到包括亚马逊、Expo、Meta 和微软在内的多家企业成员的支持。
https://react.dev/blog/2025/10/07/introducing-the-react-foundation
#AI #文章 AI不是来替代工程师的,而是来“被管理”的。
只有把AI当作“极快但无知的初级开发者”,用工程化手段管理它,才能真正放大人类团队的交付能力,而不是陷入“AI写代码,人类擦屁股”的陷阱。
https://chrisloy.dev/post/2025/09/28/the-ai-coding-trap
只有把AI当作“极快但无知的初级开发者”,用工程化手段管理它,才能真正放大人类团队的交付能力,而不是陷入“AI写代码,人类擦屁股”的陷阱。
https://chrisloy.dev/post/2025/09/28/the-ai-coding-trap
#AI #文章 直到现在,代理们都是“蒙着眼睛写代码”。他们虽然能快速生成代码,却看不到那个按钮是否真的可以点击,也无法了解你的 Lighthouse 评分到底是什么样的,更搞不清楚为什么你的 API 调用会失败。
这个新工具通过将 Chrome 开发者工具与基于 Puppeteer 的 MCP 服务器连接起来,解决了这一问题,任何人工智能都可以调用该服务器。这样一来,你的代理就有了“眼睛”,能够深入到沙盒化的 Chrome 配置文件中进行探索,并完成一些有趣的事情,例如:
1. 像开发者一样进行调试—通过 MCP 直接检查 DOM、查看控制台日志并审查网络请求,让您的代理能够真正排查运行时错误,而无需盲目猜测。
2. 自动化用户流程—通过模拟真实用户行为,点击按钮、填写表单、上传文件,并重现漏洞。
3. 运行性能审计—触发 Chrome 性能跟踪,并提取可操作的指标,例如 LCP 和 TBT。现在,你可以再次把糟糕的 Lighthouse 分数归咎于 React,而不是 AI 了。
https://developer.chrome.com/blog/chrome-devtools-mcp?hl=zh-cn
这个新工具通过将 Chrome 开发者工具与基于 Puppeteer 的 MCP 服务器连接起来,解决了这一问题,任何人工智能都可以调用该服务器。这样一来,你的代理就有了“眼睛”,能够深入到沙盒化的 Chrome 配置文件中进行探索,并完成一些有趣的事情,例如:
1. 像开发者一样进行调试—通过 MCP 直接检查 DOM、查看控制台日志并审查网络请求,让您的代理能够真正排查运行时错误,而无需盲目猜测。
2. 自动化用户流程—通过模拟真实用户行为,点击按钮、填写表单、上传文件,并重现漏洞。
3. 运行性能审计—触发 Chrome 性能跟踪,并提取可操作的指标,例如 LCP 和 TBT。现在,你可以再次把糟糕的 Lighthouse 分数归咎于 React,而不是 AI 了。
https://developer.chrome.com/blog/chrome-devtools-mcp?hl=zh-cn
#AI #文章 直到现在,代理们都是“蒙着眼睛写代码”。他们虽然能快速生成代码,却看不到那个按钮是否真的可以点击,也无法了解你的 Lighthouse 评分到底是什么样的,更搞不清楚为什么你的 API 调用会失败。
这个新工具通过将 Chrome 开发者工具与基于 Puppeteer 的 MCP 服务器连接起来,解决了这一问题,任何人工智能都可以调用该服务器。这样一来,你的代理就有了“眼睛”,能够深入到沙盒化的 Chrome 配置文件中进行探索,并完成一些有趣的事情,例如:
1. 像开发者一样进行调试—通过 MCP 直接检查 DOM、查看控制台日志并审查网络请求,让您的代理能够真正排查运行时错误,而无需盲目猜测。
2. 自动化用户流程—通过模拟真实用户行为,点击按钮、填写表单、上传文件,并重现漏洞。
3. 运行性能审计—触发 Chrome 性能跟踪,并提取可操作的指标,例如 LCP 和 TBT。现在,你可以再次把糟糕的 Lighthouse 分数归咎于 React,而不是 AI 了。
https://developer.chrome.com/blog/chrome-devtools-mcp?hl=zh-cn
这个新工具通过将 Chrome 开发者工具与基于 Puppeteer 的 MCP 服务器连接起来,解决了这一问题,任何人工智能都可以调用该服务器。这样一来,你的代理就有了“眼睛”,能够深入到沙盒化的 Chrome 配置文件中进行探索,并完成一些有趣的事情,例如:
1. 像开发者一样进行调试—通过 MCP 直接检查 DOM、查看控制台日志并审查网络请求,让您的代理能够真正排查运行时错误,而无需盲目猜测。
2. 自动化用户流程—通过模拟真实用户行为,点击按钮、填写表单、上传文件,并重现漏洞。
3. 运行性能审计—触发 Chrome 性能跟踪,并提取可操作的指标,例如 LCP 和 TBT。现在,你可以再次把糟糕的 Lighthouse 分数归咎于 React,而不是 AI 了。
https://developer.chrome.com/blog/chrome-devtools-mcp?hl=zh-cn
#文章 Chrome 129 刚支持的“CSS 类型算术”允许不同单位值直接四则运算:单位÷单位得纯数、单位×或÷纯数仍得单位,结果自动带类型校验,从此可原生把
https://css-tricks.com/css-typed-arithmetic/
calc(70px / 10px) 当成 7 来用,无需预处理器。https://css-tricks.com/css-typed-arithmetic/
#文章 探讨了本地优先应用未能广泛流行的原因,主要是因为同步数据难度大。作者介绍了分布式系统中事件排序和冲突解决的两大挑战,并提出了混合逻辑时钟(HLCs)和无冲突复制数据类型(CRDTs)作为解决方案。同时,强调了SQLite在本地优先应用中的优势,并提出了相关开发建议。
https://marcobambini.substack.com/p/why-local-first-apps-havent-become
https://marcobambini.substack.com/p/why-local-first-apps-havent-become
#React 这篇文章《约束的纪律:Elm 教会我关于 React useReducer 的经验》探讨了作者从 Elm 语言的设计哲学中获得的启发,以及如何将这些启发应用到 React 的 useReducer 中,以写出更严谨、可维护的代码。
https://cekrem.github.io/posts/the-discipline-of-constraints-elm-usereducer-lessons/
https://cekrem.github.io/posts/the-discipline-of-constraints-elm-usereducer-lessons/
#React #文章 这篇文章的核心观点是:当你看到一段代码,用 useEffect 去监听外部数据、然后用 useState 去更新组件状态时,你真正想要的很可能是 useSyncExternalStore 。
https://swizec.com/blog/you-may-be-looking-for-a-useSyncExternalStore/
https://swizec.com/blog/you-may-be-looking-for-a-useSyncExternalStore/
#React 这个vercel的组件补齐了现代AI响应最后一块拼图!Mermaid 图表自定义配置:支持自定义 Mermaid 图表的配置选项。
https://github.com/vercel/streamdown/releases/tag/streamdown%401.3.0
https://github.com/vercel/streamdown/releases/tag/streamdown%401.3.0
#CSS Styled-Components 维护模式:一个 40%更快的分支:Styled-Components 目前处于维护模式,Sanity 团队分支了它,并利用 React 18 的 useInsertionEffect 钩子(以及其他因素)使其速度大幅提升。Sanity 和 Linear 都在使用这个分支作为临时解决方案,直到他们完全迁移到更好的方案。
https://www.sanity.io/blog/cut-styled-components-into-pieces-this-is-our-last-resort
https://www.sanity.io/blog/cut-styled-components-into-pieces-this-is-our-last-resort
#React #文章 文章的核心观点是:React 之所以在今天占据主导地位,并非因为其技术优势,而是因为它被视为“默认选择”。这种“默认选择”的文化正在阻碍前端生态系统的创新。
https://www.lorenstew.art/blog/react-won-by-default/
https://www.lorenstew.art/blog/react-won-by-default/
#文章 Jake Archibald 写了关于 fetch streams 很棒,但不适合测量上传/下载进度。
https://jakearchibald.com/2025/fetch-streams-not-for-progress/
https://jakearchibald.com/2025/fetch-streams-not-for-progress/