Now vibe coding, so learning hammer FE ?
《Gr8r Studio:一款平静、结构化的项目管理工作台》

标签:
#开源项目管理 #Web前端开发 #任务看板 #纯ES模块 #Vite构建

总结:
Gr8r Studio 是一个开源的项目管理应用,提供首页仪表盘、收件箱、我的任务和多视图项目管理(看板/列表/表格/日历/时间线/文件),以及成员、团队、动态和设置等完整功能;它完全用原生 JavaScript ES 模块和 CSS 构建,无任何 UI 框架和运行时依赖,仅由 Vite 打包。

文章要点:
1. 功能齐全:包含仪表盘、收件箱、我的任务,以及看板、列表、表格、日历、时间线、文件六种项目视图。
2. 零框架零依赖:纯 JS ES 模块 + CSS 实现,不引入任何 UI 框架或运行时依赖。
3. 结构清晰:src 目录按 styles、core(状态与主题)、ui、shell(路由与布局)、views、overlays、features、actions 分层组织。
4. 工程化完善:内置 ESLint + Prettier 校验,CI 在每次推送和 PR 时跑 lint、格式检查和生产构建。
5. 可直接预览:仓库附带演示数据(data/seed.js)和 README 截图,vercel.json 配置了一键构建部署到 Vercel。
6. 上手门槛低:仅需 Node.js 18+(.nvmrc 固定 22),适合作为学习现代前端工程化的参考项目。

URL:https://github.com/gr8rstudio/gr8r-studio
《框架还重要吗?》

标签:
#编程 #Web开发 #AI编程 #前端框架 #React #软件工程 #技术趋势 #VibeCoding

总结:

这是一篇探讨在 AI 编程时代 Web 框架是否仍然重要的深度分析文章。作者 Brooks Lybrand 作为拥有三年开源框架开发经验的前端工程师,针对"模型已经足够好,框架选择不再重要"的流行观点进行了系统性反驳,论证了框架在提供抽象、结构和约束方面的核心价值,并呼吁行业继续创新和构建新框架。

文章要点:

1. **对"React 已赢"论的质疑**:作者指出当前流行观点认为由于 LLM 训练数据中 React 代码最多,模型最熟悉 React,因此无需尝试其他框架。但他认为这种逻辑存在矛盾——如果框架真的不重要,那连 React 都不需要,直接用 Web Components 或让 AI 生成原生代码即可。

2. **框架的本质价值**:作者将框架的价值精炼为三点:**提供抽象(Abstractions)、结构(Structure)和约束(Constraints)**。这些价值不仅适用于人类开发者,对 AI 编程同样关键——良好的抽象能避免 AI 重复造轮子或创建混乱的临时方案;清晰的结构帮助 AI 生成可维护的代码;明确的约束(如类型检查、测试)能防止 AI 在迭代中破坏系统。

3. **AI 时代框架的隐性存在**:引用 React 核心团队成员 Ricky Hanlon 的观点"你要么使用框架,要么构建框架",作者强调即使不显式选择框架,AI 在生成代码时也会隐式地创建框架。与其让 AI 生成一个缺乏维护、充满临时补丁的"隐性框架",不如使用经过实战检验、文档完善的开源框架。

4. **开发者体验(DX)的重构**:通过分析 HMR(热模块替换)、TypeScript 和 useEffect 等具体技术,作者说明某些传统 DX 功能对人类开发者的价值正在转变,但对 AI 编程仍至关重要。例如 TypeScript 的类型约束能有效防止 AI 在复杂应用中引入错误,而 useEffect 这类强大但易误用的抽象则应该避免让 AI 随意使用。

5. **框架战争的终结与新机遇**:作者认为 2013-2024 年的"框架战争"已经结束,人们不再渴望为框架争论,但这不意味着框架不再重要。他指出当前框架领域仍存在明显不足,特别是缺乏真正全栈、基于 Web 标准、易于 AI 协作且代码可理解的 JavaScript 框架。

6. **对未来的呼吁**:尽管承认 AI 正在重塑软件开发,且没人知道其长期影响,作者仍坚持认为认为"所有问题都已解决"是一种颓废的态度。他呼吁继续构建新框架,探索更好的抽象和模式,而不是停留在"现有框架足够好"的舒适区。

URL:
https://brookslybrand.com/posts/do-frameworks-matter-anymore/

> 个人觉得有点片面化,remix 脱离 react 转而用 preact 自创轮子 Do Frameworks Matter Anymore?
《浏览器主线程很昂贵:高性能前端优化实战指南》

标签:
#前端 #Web性能 #浏览器原理 #JavaScript #渲染管线 #WebWorker #动画优化 #交互优化 #性能调优

总结:

本文深入剖析了浏览器主线程作为稀缺资源的工作原理,指出前端性能问题的根源往往不是代码速度慢,而是主线程被长时间占用导致界面冻结。文章系统性地介绍了两大类优化策略:在主线程上"精打细算"(拆分、批处理、优先级排序、延迟执行),以及"完全不用主线程"(利用合成器线程、Web Worker、消除不必要的工作),并通过大量交互式 Demo 帮助读者直观理解每种技术的实际效果。

文章要点:

1. 主线程是性能瓶颈的核心:主线程同时负责运行 JavaScript、样式计算、布局、绘制和事件处理,所有工作排队串行执行。60Hz 屏幕每帧预算约 16.6ms,实际可用仅约 10ms,超过 50ms 的任务会导致界面卡顿。

2. 拆分(Splitting):将大任务切割成小片段,通过 setTimeout 或 requestAnimationFrame 让出主线程,让浏览器在间隙处理渲染和输入。注意过度拆分会产生额外开销,且 JSON.parse 等原子操作无法拆分。

3. 批处理(Batching):将频繁触发的事件(如滚动、输入)合并执行,使用防抖(debounce)和节流(throttle)减少重复劳动。React 的虚拟 DOM 本质上也是一种批处理机制。

4. 优先级排序(Prioritizing):通过自定义队列(基于 MessageChannel)实现任务插队机制,确保用户当前关注的操作(如点击预览图片)优先执行,采用"空闲时预处理,紧急时优先处理"的策略。

5. 延迟执行(Deferring):非必要工作延后处理,包括代码分割、使用 IntersectionObserver 实现虚拟列表(只渲染可视区域内容)、离屏时暂停动画等,避免一次性处理全部数据。

6. 利用合成器线程:使用 transform 和 opacity 代替 top、left、width 等触发布局的属性做动画,让动画在合成器线程运行,即使主线程繁忙也能保持流畅。

7. FLIP 动画技术:对于必须改变布局的动画(如列表重排),先测量初始和最终位置,通过反转和播放 transform 来实现平滑过渡,将布局计算限制为仅一次,动画过程交给合成器。

8. Web Worker 处理重计算:将图片处理、大数据解析等纯计算任务转移到 Worker 线程,通过 postMessage 的 Transferable 对象(如 ArrayBuffer)实现零拷贝数据传输,避免主线程冻结。

9. 消除不必要的工作:当数据流入速度超过处理能力时,采用丢弃(旧日志)、合并(只保留最新值)、跳过(缓存 memoization)三种策略,从源头减少工作量。

10. 避免布局抖动(Layout Thrashing):不要交替读写布局属性(如 offsetWidth),应先批量读取再批量写入,强制浏览器反复计算布局会严重阻塞主线程。

URL:
https://kciter.so/posts/the-expensive-main-thread/en/ The Browser's Main Thread Is Expensive | kciter.so
《CSS 单位完全参考手册》

标签:
#前端开发 #CSS #响应式设计 #Web排版 #容器查询 #视口单位 #字体相对单位 #CSS数学函数

总结:

这是一本由 Mykola Ptushchuk 编写的交互式 CSS 单位参考手册,涵盖从基础像素到现代容器查询单位的所有 CSS 度量单位。全书共 7 章,每个单位都配有实时浏览器演示,可在线调整参数观察实际效果,并提供完整 PDF 下载。

文章要点:

1. 全书结构清晰,覆盖七大单位家族:从绝对单位(px)、字体相对单位(em/rem/ch/cap 等)、视口单位(vw/vh 及小/大/动态视口变体)、容器查询单位(cqi/cqw 等)、百分比、数学函数,到角度单位,形成完整的 CSS 度量体系地图。

2. 视口单位家族详解:现代移动端浏览器 UI 会动态收缩/展开,因此视口单位分为默认(等价于大视口)、小视口(sv,假设浏览器控件展开)、大视口(lv,假设控件收起)和动态视口(dv,实时状态)四大家族,解决了 100vh 在移动端全屏布局中常见的"被地址栏遮挡"难题。

3. 容器查询单位让组件真正可移植:cqi/cqw 等单位测量的是组件所在的"查询容器"而非整个视口,使同一个卡片组件在 300px 侧边栏和 700px 主栏中能自动呈现不同布局,无需媒体查询或额外类名,实现了"组件响应自身上下文"而非"响应整个页面"的范式转变。

4. 字体相对单位不止 em/rem:除了常见的 em(当前元素字体大小)和 rem(根元素字体大小),还有 ch(数字 0 的字宽,适合设置最佳阅读行宽如 65ch)、cap(大写字母高度,适合图标与标题对齐)、lh(当前行高作为长度)等精细排版单位,以及对应的根元素变体(rch/rex/rcap 等,2026 年 1 月才在 Firefox 中补齐,至此全浏览器支持)。

5. CSS 数学函数是单位的粘合剂:calc() 可混合不同单位(如 100% - 240px),clamp() 实现流体排版(如 clamp(2rem, 5vw + 1rem, 4rem)),min()/max() 取极值,还有三角函数(sin/cos/tan)可用于无 JS 的圆形布局,指数函数(pow/sqrt)可构建模块化字号比例系统。

6. 实用选型建议:正文用 rem 尊重用户偏好,组件内部比例用 em 保持缩放一致性,line-height 推荐无单位写法(如 1.5)以便作为乘数继承,clamp() 的流体值中务必包含 rem 项以确保缩放无障碍性。

7. 交互式学习体验:每个单位都配有可拖拽、可滑动的实时演示,直接在浏览器中观察单位变化效果,将抽象概念转化为直观体验,并支持下载完整 PDF 离线阅读。

URL:
https://cssunits.com/ CSS Units — The Complete Reference
《视觉回归测试:你可能还没跑起来的最重要测试》

标签:
#前端测试 #视觉回归测试 #自动化测试 #质量保证 #Web开发

总结:

文章系统介绍了视觉回归测试(Visual Regression Testing)的概念、重要性、工作原理、主流工具及实践建议。核心观点是:即使功能测试覆盖率100%,应用仍可能在视觉上"看起来完全损坏"。视觉回归测试通过截图对比基线,捕捉传统测试无法发现的视觉缺陷,在AI生成代码时代尤为重要。

文章要点:

1. 为什么视觉测试不可或缺:单元测试、集成测试和E2E测试只验证功能逻辑,不检查实际视觉呈现。CSS类名测试是代码异味,因为即使类名正确,实际渲染仍可能因样式冲突、加载失败等出问题。

2. 工作原理超直观:在真实浏览器中渲染页面/组件并截图,与基线快照对比。匹配则通过,不匹配则在CI/CD中标记失败,需人工审核确认是否为预期变更。

3. 能抓住哪些"隐形"Bug:组件一处修改意外影响其他使用位置、CSS变更导致的布局错位、响应式问题、跨浏览器渲染差异、字体/图片加载失败等。作者曾靠它避免了一个SVG图标在20处地方颜色错误的生产事故。

4. 三大主流工具怎么选:Percy(适合全页截图,与Playwright/Cypress/Puppeteer兼容,UI体验好但用量大时贵);Chromatic(Storybook生态,组件级截图,免费 tier 友好);Vitest Browser Mode(内置截图测试,但缺少审核UI,适合组件级)。

5. 接入CI/CD很轻松:通常在现有E2E测试中插入一行代码即可,如Playwright中调用percySnapshot()或Chromatic的takeSnapshot(),无需重构测试架构。

6. 避免" flaky 测试"的实用技巧:确保页面完全加载后再截图;用CSS隐藏动画区域;对动态数据(如日期、"5天前")设置忽略区域;避免对内容过多的整页盲目截图,要有选择性地测试。

7. AI时代的刚需:随着AI生成代码的普及,视觉回归测试将变得更加关键,能帮助团队快速发现AI改动带来的意外视觉副作用。

URL:
https://howtotestfrontend.com/resources/visual-regression-testing-introduction-guide Visual Regression Testing: The Most Important Test You're Not Running
《前端状态管理的真相与迷思》

标签:#前端 #Web开发 #React #状态管理 #Redux #Zustand #Jotai #MobX #CRDT #离线优先 #实时协作 #前端架构

总结:
作者犀利指出,React生态中流行的"状态管理"库(Redux、Zustand、MobX等)本质上只是状态传播与通知系统,而非真正的状态管理。真正的状态管理必须包含时间维度与顺序概念,能正确应用变更并解决冲突。作者推荐转向Y.js、Zero、Fluid等基于CRDT或OT的时序感知系统,它们天然支持离线优先与实时协作,才是前端数据层的未来方向。

文章要点:
1. 那些我们天天用的Redux、Zustand、MobX,本质上更像"消息广播员"而不是"状态管家"——它们能通知组件更新,却搞不定时间顺序和冲突解决
2. React自己也不是状态管理系统,整个前端圈把这个词用得太随意,导致大家一直在用错误的工具硬撑复杂场景
3. 真正的状态管理必须懂"时间"和"顺序",就像分布式系统用向量时钟给事件排队,没有时间概念就谈不上管理
4. 值得庆幸的是,Y.js、Zero、Fluid这类基于CRDT和操作变换的工具已经相当成熟,它们天生会处理冲突,离线和实时协作都是顺手的事
5. 当我们把数据层从"发通知"升级到"管时序"后,离线优先和实时协作不再是昂贵的附加功能,而是正确架构带来的自然馈赠

URL:
https://infrequently.org/2026/07/state-management
《前端框架基准测试平台》

标签:#前端 #Web开发 #FrameworkBenchmarks #PerformanceTesting #JavaScriptFrameworks #React #Vue #Svelte #SolidJS #Preact #Qwik #Lit #Angular #BundleSize #BuildTime #LighthouseScores #HMR #NPMStats #StackMatch

总结:
这是一个全自动化的前端框架基准测试平台,由开发者Alicia Sykes维护。项目用同一个天气应用在React、Vue、Svelte等12+个主流框架中实现,每晚自动跑分对比包体积、Lighthouse评分、加载速度、CPU内存占用、构建时间及HMR热更新速度。还整合了GitHub和NPM社区数据,并自带Stack Match智能推荐工具。所有原始数据开源可下载,帮你告别选型纠结!

文章要点:
1. 同一个天气应用,12+种框架实现——React、Vue、Svelte、Solid.js、Qwik、Lit等主流选手全部到场,公平对决
2. 每晚自动跑分,数据新鲜出炉——包体积、Lighthouse性能分、FCP/LCP/TTI加载指标、CPU内存占用、构建时间、HMR速度全覆盖
3. 社区数据一目了然——GitHub Stars、NPM月下载量、依赖数量、维护者人数、TS支持情况、许可证信息全整理好了
4. 自带Stack Match智能推荐工具——填填项目偏好,就能get最适合你的框架,选型不再拍脑袋
5. 完全开源透明——所有原始数据以JSON格式开放下载,测试用Playwright统一验证,结果可信可复现

URL:[https://framework-benchmarks.as93.net/](https://framework-benchmarks.as93.net/) Framework Benchmarks
《为什么我放弃Next.js和RSC,回归传统SPA与独立后端》

标签:#前端 #Web开发 #React #NextJS #React_Server_Components #SPA #架构设计 #安全 #TanStack #Hono

总结:

作者回顾了自己从Next.js忠实用户到拥抱App Router/RSC,最终回归传统SPA+独立后端的完整历程。文章深入分析了RSC架构带来的心智负担、序列化开销和安全风险,结合2025-2026年多起严重CVE漏洞,论证了将渲染框架与安全边界解耦的必要性,并分享了当前基于React Router+Vite+Hono的简洁技术栈。

文章要点:

1. Next.js的黄金时代:Pages Router时期心智模型清晰,服务端/客户端边界一目了然,文件路由简单易懂,部署零成本
2. App Router带来的混乱:Server/Client Component区分成为负担,"use client"指令传染性强,开发/构建/生产环境缓存行为不一致,服务端客户端边界变得不可见
3. 安全漏洞敲响警钟:2025年CVE-2025-29927中间件绕过(CVSS 9.1)、2025年底RSC核心包10分满分漏洞CVE-2025-55182、2026年初多起Server Function DoS漏洞,攻击面集中在服务端渲染和反序列化环节
4. TanStack并非避风港:2026年5月TanStack遭遇供应链攻击,42个包被投毒,说明换框架不能免疫风险,减少依赖面才是关键
5. 序列化是根本原因:RSC的"无缝"本质是分布式系统的序列化问题,函数、类实例、错误栈都无法透明穿越边界,反序列化不可信输入成为高危攻击面
6. 当前架构选择:React Router框架模式+Vite纯SPA(仅营销页预渲染)+ Hono独立后端,API通过显式HTTP调用,无RSC负载,无服务端序列化
7. 安全设计原则:认证授权在API层强制执行,前端中间件只做UX跳转,CORS/CSRF/验证码/限流全部在可控的后端实现,与渲染框架彻底解耦
8. 核心收获:架构清晰可指认、无序列化税、前端攻击面趋近于零、后端语言自由选型、依赖更少爆炸半径更小——"无聊"在软件工程里是赞美

URL:https://dev.to/zulikram/why-i-walked-back-from-nextjs-and-rsc-to-a-plain-spa-and-a-separate-backend-4k8p
 
 
Back to Top