主要观点:
- 作者在项目中选择 React 和 TypeScript 是因为团队已有技能,但自己之前未使用过,实际使用后从 Elm & Elixir 开发者角度看待它们。
- React 虽流行但有优缺点,如包丰富但讨论质量低、选择多易头疼、状态管理模型复杂等,总体不够优雅。
- TypeScript 有大型优势但也存在问题,如后端工具不成熟、配置复杂、编译器错误消息有时冗长模糊等,实践中很多开发者难以有效使用。
- 作者认为 Elixir、Phoenix 和 LiveView 的开发者体验更好,小社区如 Elm 能发挥更大作用。
关键信息:
- React 流行,包多但讨论质量低,状态管理模型复杂,架构变化多致代码处理复杂。
- TypeScript 流行但后端工具不成熟,前端配置复杂,编译器错误消息有时不佳,ESLint 扩展不可靠。
- Elixir 类似在 BEAM 和 Erlang 之上,无需复杂配置就能正常工作。
- 作者认为小社区能提供更好体验,React 和 TypeScript 虽可能实现很多但较嘈杂。
重要细节:
- 找到现成工具可将 OpenAPI 后端规范生成前端
react-router
钩子。 - React 有多种包处理基本任务,选择多易头疼。
- ts-node 与 Node 20+ESM 组合可能工作不正常,tsx 等工具不做类型检查,Bun 不做类型检查等。
- Elixir 只需少量代码和少量测试,后端由 OpenAPI 规范驱动。
- 编译器错误消息在 Elm 中更好,TypeScript 中常需类型转换。
- 很多开发者难以有效使用 TypeScript,易出现
any
等情况。 - Elixir 扩展也有问题,但 TypeScript 更广泛使用却出现此问题更意外。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。