主要观点:探讨为何大多数人选择 React 和 JavaScript 作为“默认”前端解决方案,即使对于无需额外客户端交互性的页面和 SaaS 产品也是如此。
关键信息:
- 原因包括大家都在这么做,公司容易招聘到懂 React 的前端人员,现有团队习惯使用 React 等。但也有人认为 React 导致页面加载慢、体积大、新增功能成本高,且对于大多数非复杂项目,传统 HTML 加少量 JavaScript 更合适。
- HTMX 能将状态置于后端,减少复杂度,但有人认为其会迫使重新考虑问题,而 Electric Clojure 等可能是解决方案。
- 不同公司的前端架构不同,如 Netflix 前端和后端工程师分工明确,而 Facebook 要求 UI 工程师具备后端开发能力。
- React 虽历经框架和工具更迭仍受欢迎,但存在缺乏稳定性保证等问题,而 Gleam 等其他技术也有其优势。
- React 提供的模块化样式组件以及 Tailwind 的流行,使得组件使用更简单,WebComponents 虽有进展但浏览器和用户采用缓慢。
- 对于初学者,常见建议是先学 HTML/CSS/JS 再学框架,且简历驱动开发也倾向于 React。大型团队为降低成本更倾向于有 React 前端而不是全栈开发。
- 若页面突然需要“额外客户端交互性”,从一开始使用支持网站和应用的框架更方便添加动态功能。
- React 有诸多优点,如写声明式和可组合代码、有统一的 HTML 组合模型、生态好等,但也不是完美的。
- Facebook 推广 React 以及 Google 未大力推广 Angular 等因素也影响了 React 的流行。
- 从项目管理角度,选择 React 及其生态系统是安全的,方便管理和优化代码。
- 管理应用状态的位置影响技术选择,对于复杂应用,客户端管理状态更有优势,但对于简单网站,客户端管理状态可能得不偿失。
- 对于性能重要的项目,服务器端渲染存在效率低、用户体验差等问题,而 LiveView 等中间方案有前景。对于一些无需额外客户端交互性的页面,SSR 实施效果好,SPA 往往糟糕。
- 信任、方便和享受使得作者选择 React、Angular 和 Vue,且喜欢后端渲染带来的分离关注点。
重要细节:列举了多个开发者的观点和经验,包括他们在不同项目中使用各种技术的经历和感受,如 Simonw 认为大多数项目不应使用 SPA 框架,r0b 用纯 JavaScript 写的 Web 扩展多年无需更新等。还提到了一些工具和技术,如 Monodraw 用于画图表,Paint holding 可改善页面加载时的白屏问题等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。