要学习、实践和思考的还是有不少的,而且已经逐渐很难从他人那里获取到经验了,像是在一些渺无人烟的领域进行探索,感觉在前端单一技术体系上也还有很多的成长空间。然后就是今年整年一共三千多个 Contribution,感觉还是很不错的保持了持续学习的劲头。
技术路线分为三条主要路径:「Schema 描述体系与其视图化的可能性」、「Monaco 的运用与下一代编辑器」、「Monorepo 上的现代化构建工具」。
从最开始使用的 https://github.com/shigma/schemastery 到 https://github.com/colinhacks/zod 来实现的 https://github.com/zodui/zodui,再到后面自己逐步实现的类 Zod Schema DSL 工具 https://github.com/typp-js/typp,逐渐认知到如果需要一个保持高扩展性的工具还是得自己上手设计、实现与建设。
首先我要解决的问题从开始到最后都没有变,如何在数据范式确定的情况下为其生成对应的 UI,并保证联动性与扩展性,这样子在下一个 AI 的时代我们也能更好的利用它去提升我们的开发效率。在这个目标的开发过程中我逐渐发现了有些力不从心,我们缺少一个足够小的核心来实现我们的描述系统、缺少一个足够类型完备的描述工具、缺少一套可控和开放的下游生态。Zod 和 Schemastery 给我带来的是一种可能性的视野,让我看到在一个可见的未来我们能通过类似的工具来实现我们的目标。
这俩年写了有四五个 Playground 了,每一次都能收获不少的东西:
language.typescript
那块的 API 基本玩了个遍,基本算是熟练掌握 monaco 了。太痛苦了,实在是太痛苦了。我没用过一个能在 Monorepo 下面用着舒服的构建工具,DX 都还停留在上个时代,就算是最近出来的模仿作品也没有创新性,换汤不换药,改个 builder、调个插件就发布了出来,到底开发过程中有什么问题实际上没有真正的去解决。
基于 imports、exports 与 import attribute 等特性,我们可以设计一套全新的构建工具从而去解决我们在 Monorepo 开发过程中遇到的各种 DX 问题。