一开始,我是彼得抖音。企业应用程序设计系统SemiDesign是开源的。这是我今天听到的最大的新闻了,于是晚上回家看了看,打开了知乎。这正是我的想法。首先肯定有人要否认这个开源库是基于别人的开源库。甚至有人认为Ant-Design和semi-design基本是一样的。是一个完整的KPI项目吗?不得不说,什么是“核心技术”,其实真正的核心技术是很少的(尤其是中国相比国外)。可以说90%的程序员都是在寻找资源来完成和解决问题。(找轮子)我教一些人学习前端的时候,我会告诉他们,你要明白,如果你有问题,你应该第一时间找到业界现有的解决方案,然后找到解决方案一个最适合你当前情况的程序员,只有不到10%的程序员会设计制定一个行业标准,并在方案使用时提供轮子。比如:babel-import-pluginAnd-design和Semi-design,还有我在公司开发的组件库,都用到了。事实上,我们都认可它的一套标准和规则。很适合我们组件库的构建,所以三个都是这样搞的。那么这个插件自动转换成按需加载的那几行核心代码就算是核心技术了。许多组件库都依赖它,并遵循它的设计规则来实现按需加载。核心技术少,这也是我们国内内卷的一个真实原因。回到半设计,能用吗?当然可以用了,据说是企业级的。类似于两辆车,都可以开,而且都是豪华知名品牌的C级轿车,不会有明显的致命弱点。区别可能在于你更喜欢谁的外观,或者某个方面的特性,比如底盘、操控性?吸引您的是内饰的奢华,或劳斯莱斯小雕像。我对比了semi-design和ant-design的Table组件,他们的props字段基本一致,也是为了方便大家切换。你如何看待半设计?是KPI项目吗?这个我不能说,但是我可以确定的一点是,即使ant-design的源码被修改打包,然后开源(前提是:是否符合相应的开源协议,这也是软件开源的魅力所在),在这个过程中,参与这个开源工作的人,他们的进步是巨大的,要真正做到一件事情远比想象的困难,尤其是当他们深度参与的时候,他们会对自己有更全面的认识改进,例如:组件库的打包输出为什么要这样设计?原来是配合babel-import-plugin进行非感知的按需加载。那么babel-import-plugin插件的原理是什么呢?你要发现,哦,原来是按照配置做了一个改造~那下次可能再设计一个自己的按需导入插件,适应自己的新场景。这就是开源的意义。只要符合开源协议,即使是基于别人的封装,也会大大提高参与者的能力,同时增加团队的知名度。作为个人,我们应该怎么做?不要随便喷,有本事的你也可以根据半设计源码做一套半设计。作为一个普通的前端开发,我们应该明白semi-design的设计和ant-design有什么区别吗?例如,你可以查看它的源代码来了解和跟上行业的变化。这个不像是webpack5和vite的本质区别,看你的喜好了。还有一点大家要注意的是,字节跳动的力量不容忽视。在我看来:和其他BATJ公司相比,还处于高速发展期,未来开源的东西会越来越多,但是质量和长期发展的稳定性需要大家用时间去鉴别。github:https://github.com/DouyinFE/s...说到底,我有了孩子,当了爸爸。最近写文章的时间会比较少,但是会挤出一些时间来写,最后贴个广告,我之前的一些手写源码文章:https://github.com/JinJieTan/...记得给个star,喜欢就帮帮我吧公众号:点击阅读/点赞前端巅峰文章,关注一波
