我与开源不再擦肩而过!【DevUI】

507 阅读4分钟

开篇点题!

参加开源拿下的战利品,战果丰富

image.png

在参与DevUI开源组件库一段时间后,收获到来自官方的快递,再次给官方来个三连,以前好像还真没听过开源能收到奖杯、抱枕的或者是礼物的。

加入开源起因

  • 在好几个月前,公司业务有一小段时间的淡季,就想学点新东西提升下,比如vue3、vite等
  • 一直就想做点开源的东西,但是还没想到或者说确定要做点什么..

加入开源时机

加入DevUI正合乎我最近的想法:既能搞搞开源,又能学习新技术,简直一箭双雕!

有一天早上打开了掘金看文章,发现DevUI刚刚发了一篇招募组件成员的文章,点进去一看,此时vue版的DevUI当时只有10个核心成员左右。再仔细一波了解后, 发现DevUI已经有成熟的ng版本开源出来了,而目前在招募的Vue版的DevUI主要使用技术栈是Vue3+ts+vite+jsx, 让我直呼:赶紧掏出手机微信加DevUI小助手微信进入开发群。

加入开源经过

  1. 由于之前写过一个比较简单的图片预览组件,想先来一手认领图片预览组件(ImagePreview),小助手拉进群了解后,发现认领组件只要到gitee上评论一下认领就好了,只要被回复确认你就是组件田主了,愉快地开发就妥了。

  2. 因为我当时还算比较早期,有很多组件可以选择,比如table、form之类的都可以选择(当然这些复杂度比较高的组件就留给巨佬们去研究了哈哈),后面选了ImagePreview后感觉一个组件不够呀..随手再来个比较简单的badge组件,认领后毫无意外第二天就被确认了,即时就可以开始落实近期的想法了。

  3. 在开始开发的时候当时基本只有一个骨架,有些还不是很完善,比如提交规范、DevUI脚手架等(这些当时都有码友们在支撑,都是刚刚加入开发),所以开发过程或者提交过程会遇到代码冲突、甚至有时项目本地没跑起来等问题,期间大概经历了一个开源项目的孵化过程,感觉收获还是不错的。

  4. 过了一小段时间有个老哥@ie把脚手架完善的差不多了,当时我也是随手看了一波源码(又学到了),写的是真不错,通俗易懂,一会就看完了,又拿下一个技能(窃喜),有需要的老哥直接去文章看教学

  5. 自己开发组件过程中,由于之前公司有个小项目我用vue3重构了一遍,又写过一点react项目,所以实际开发起来遇到的问题并不是特别多,功能主要按照ng版的DevUI来开发(相当于有原型和交互了)。

  6. 由于之前的组件实现又依赖于其他组件,其他组件田主暂时还没开发完成的情况下,有一些功能手动实现了个简单版。额,当我写这篇文章的时候我才想起来还没替换回可复用的组件操作,自以为开发完了,接下来又可以来一手pr了。(可能最近业务比较繁忙,这文章这么点字都写了几天~)

  • 认领组件、提交代码、开发规范等在DevUI仓库上目前都有比较完善的文档,甚至直接在群上问也不是什么问题,群里很多大佬解答,有需要的码友直接浏览就好了

DevUI发展

  • 目前DevUI的组件基本已经名下有主了,偶尔少数会因为有的田主比较忙没时间开发而释放出来(码友们可以蹲一蹲),距离第一个正式版本越来越近了,群上已经有体验版链接体验目前已经有的功能了,加入DevUI开源社区的人数也在逐渐增加。
  • React版的DevUI也在悄然动工
  • dashboard版似乎月底上线
  • 后续还会有后台管理系统等持续开源出来

总结

加入开源有时候确实会因为工作原因,可能每天加班回到家已经是深夜了,会感觉到“我业务都没时间搞,还搞开源呢!”, 会消耗自己的一些业余时间。但当我加入开源并且贡献了自己的东西后,发现获得更加有意义的一些东西,如学习新技术 之余,能认识更多开源码友,开阔视野(有时候在群上不说话就能学到很多东西,哈哈)

结语

目前DevUI中,Kagol大佬和村长基本每周都会在B站直播,将组件开发、工程化、如何开源等主题,有需要的码友们也可以 去B站白嫖一波