开源经历,我是如何成为腾讯开源组件库tdesign核心贡献者的。

5,407 阅读4分钟

这两天收到了腾讯开源组件库tdesign的纪念周边,这个纪念T恤还挺有意思的,还有一个大鼠标垫我没拍照。

微信图片_20230110110056.jpg

微信图片_20230110110109.jpg

微信图片_20230110110116.jpg

微信图片_20230110110125.jpg

缘起

去年7月的时候,我像往常一样在知乎冲浪,突然看到了这个话题,腾讯为什么不开源前端ui框架?

微信图片_20230110110511.jpg 想起来,腾讯好像是没有开源ui框架(小程序除外),像element-ui,antd已经成为市场主流了,看了第一个回答,贺老介绍了腾讯的tdesign,抱着好奇的心态,点进了tdesign的github,当时组件库应该刚开源不久,在issues里面有个组件认领计划,当时有个timeline组件需要招募人开发,我当时本来就想做组件库,并且也想参与到一些大型开源项目,这不正是机会吗?于是我毫不犹豫就在评论区认领了这个组件,然后打开设计图,花了一个周末的时间,完完全全还原了设计图,看着自己写的组件,相当满意,然后信心满满的提交了pr,心想就等着合并了,然后我也成为了腾讯开源组件库的贡献者了。

过程坎坷

在提交了pr之后,因为github的ci任务一直报错,项目负责人加了我微信,然后手把手教我怎么解决冲突,在和他沟通之后,我再一次的提交了pr,心想这次肯定能合并了吧,没想到没过几天,项目负责人联系我说,我写的timeline组件,腾讯内部的同事会接手,意思是我的代码没用了,我也成不了贡献者了,负责人也给我说了抱歉,我虽然心有不甘,但也只能就此作罢,他说后面有新的组件,也欢迎参与恭喜。

另一条赛道

自从上次pr被拒绝之后,我一直在关注tdesign(vue3版),一直心想着要开发新组件,突然有一天,在issues列表又出现一个单元测试认领计划,因为组件库刚开源不久,很多组件都是开发完,但没有经过单元测试,我打开这个issue,发现居然用的是最新的vitest(唯一的缺点是用的js,没用ts),当时就勾起了我的兴趣,如果开发组件不行,那我就给组件写单元测试,不也是一样吗?当时只有几个组件做了测试,所以我索性一次性认领10个组件,当时我也刚接触vitest,看了文档,自己写了一些demo,正查个真实项目实战呢,话不多说,撸起袖子就是干,花了几天的时间把10个组件的单元测试写完了,又一次信心满满的提交了pr,没想到第二天我的pr就被合并了,我成为了tdesign的贡献者,当时真的很兴奋和开心,然后又看了issue,发现还有很多组件没有认领,就这样我又开始认领,然后写测试,提交pr,有些pr当天就能合并,好像已经成为了习惯,直到组件被认领完了,后面我看统计,不知不觉差不多一半组件的单元测试都是我写的,我还是很自豪的。后面负责人联系我,说要把推荐为核心贡献者,然后送一套周边,听到核心贡献者,就更开心了,我居然成了腾讯开源项目的核心贡献者,哈哈哈。

开发过程

写测试的过程中,会有一些用例过不了测试,就顺手修了一些小bug,组件代码还是贡献了的。

关于开源

很多同学想参与开源,但自己又有很多担心,自己能力不够,经验不够,代码写的不够优雅,其实都没关系的,只要你有一颗开源的心,大胆的去参与,哪怕是修改文档的错别字,也是贡献。有句话是这么说的,当你把项目fork下来的时候,你就已经走上开源之路了。

tdesign

tdegisn是腾讯开源的企业级设计体系。涵盖vue,react,微信小程序,移动端,pc端。欢迎大家使用和参与贡献。
官网:官网地址
github: github

新的希望

2023年,我还会参与各种项目的开源,不光是对自己的磨练和成长,也是回馈社区了,新年的一年,大家一起加油,越来越好。