前言
mx-design 是一个目标很奇葩的 react 组件库,它的目的有三个:
-
是通过写 react 组件库教程,让每一个想独立开发react组件库的团队都能在教程 + 仓库代码的帮助下,定制化自己的react组件库
-
积累出一套react组件库教程,因为无论从功能,代码质量等方面,mx-design完成后,是完全可以跟国内大厂的组件库竞争的,所以组件库教程的质量也不是很多玩具教程能比的
-
后续将组件库示例网站打造成一个前端技术训练场,比如后期会加上自研的前端监控,CI/CD(甚至包括k8s的自动化部署和维护,用minikube代替)等等绝大部分前端功能,把你所学能够有一个实践的应用。
为什么要自己造轮子
做的一些项目ant design满足不了,比如说
- 对于 UI 来说,UI 的标准基本跟 ant 完全不兼容,样式全部要重写,这个工作量,你懂得
- 对于产品来说,有非常多有个性,定制化的组件,往往还伴随着严苛的性能要求,ant 也是很难满足的,因为这样的组件往往伴随着对源码的修改
- 有人可能说 fork 一份 ant design 的代码,自己改,首先你们业务不可能给你这么多时间去慢慢改,然后既然你都打算做好一份组件库了,为什么不多参考几个国内外的,做一个更好的轮子呢?
还有就是所谓的技术成长,在业务项目里,大家懂得都懂,根本不可能给你时间去慢慢成长的,所有的东西都是快!快!快,有现成的管他好坏先用,然后出了问题再说。
以至于在我的开发经历中,业务写成是屎山是太常见的事了,无论大小厂都是屎山基地。。。
大多数人在业务上都很能获得成长,所以不得不自己想办法
目前 mx-design 迭代状态
迭代的速度比较慢,一是我自己有业务开发,投入时间有限,二是我对选择组件比较严苛,我会对比国内外多个组件库的组件源码,然后把他们我觉得能用的优点放在自己的组件里。(所以慢慢地我逐渐发现自己在慢慢的变成组件库方面的专家,这也是你加入的一个理由,确实能学到的东西,一个人能顶一个资深开发团队!这个拿到面试中一下子就区别了你和别的面试者)
后续规划
第一版规划
今年年底,把 form 和 table 相关的一些组件更新完毕,基本上这个组件库第一版就成型了。
第二版规划
然后会拿每个组件去对比国内的组件库的功能,然后把没有的功能加上,把能创新的功能上了。
同时还有一个重点,就是文档要丰富起来。
第三版规划
此时会快速拓展组件。
其它规划
会将文档网站作为一个前端技术的应用案例,比如会加上前端监控(后需要自研),k8s(用minikube代替,资源不够。。。)做自动化部署和维护,报警等等。
也就是最终这个网站会是一个全链路,从UI设计,前端,后端,运维一体化,自动化的前端应用。这个路很长,慢慢走呗。
当然,比如组件库做完,还可以会出小册或者别的平台的视频教程,这算是国内最好的教程了,因为大家可以看github仓库的代码,现有组件的能力已经能跟很多大厂的组件Pk了。
建立研究小组
所以我想建立很多小组,比如 Message 组件小组,Table 组件小组等等,几个同学专门负责一类组件的创新。
分享会
然后定期有分享会,每个小组会把自己那部分知识拿出来分享,然后所有的人就可以共享整个组件库的所有组件的知识,而且我们的组件一定是不仅能拿到生产环境,而且要超过很多国内的组件库。
当然,所有在我们组件库技术群的同学,都是可以来听的,没有在研究小组里也可以。
寻求伙伴
如果有意愿的同学,附上自己对哪些组件,或者某方面的技术方案感兴趣,欢迎私聊或者评论区留言。