主要观点:
- 作者从事前端开发二十多年,一直使用 ClojureScript,认为其语言优美且可在服务器上使用。
- React 虽带来美好理念但在大规模应用中存在问题,如 VDOM 差异计算成本高。
- 介绍了在 ClojureScript 前端开发中优化的方法,如 memoization 和组件化。
- 强调要在开发者生产力和运行时性能之间找到平衡,自己在开发渲染库 shadow-grove 的过程中得出了一些结论。
关键信息: - ClojureScript 前端开发的经验和教训,包括不同优化方法的效果和局限性。
- 对比纯
(render state)
模型与 memoization 和组件化的差异及优势。 - 提到构建平衡的前端框架的挑战,以及应更多地讨论权衡。
重要细节: - 以简单的输入框和 div 示例展示不同方法的计算量差异,如从纯 JS 的 1 次操作到 ClojureScript 中的多次“WTHJH?”询问。
- 介绍 memoization 是让函数在相同参数时返回相同结果以减少比较量。
- 组件化是更高层次的 memoization,可避免重复调用函数,但也存在问题,如组件可能需要不必要地重新渲染。
- 作者的渲染库 shadow-grove 采用的一些优化方法,如利用宏 bypass 虚拟 DOM 创建等。
- 强调要意识到不同解决方案的权衡,不要只关注优点而忽视成本。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。