likes
comments
collection
share

揭秘,unibest诞生过程;浅谈,开源真不容易

作者站长头像
站长
· 阅读数 9

揭秘,unibest诞生过程;浅谈,开源真不容易

大家好,我是 unibest 作者菲鸽,今天带给大家一篇新文章《揭秘,unibest诞生过程;浅谈,开源真不容易》。

unibest 背景

去年开始我接手了公司的一个 uni-app 项目,框架比较老旧,有 5 个痛点:

    1. 项目技术栈使用的是 vue2 + uView1.x,没能使用用vue3,这是一个小小的痛点。
    1. 项目打包依赖 HBuilderX,无法自动化CICD,也是一个痛点。
    1. 项目里面一堆魔法数字和字符串,并且没有任何注释和说明,巨大的痛点。
    1. 项目里面业务逻辑从来不写注释,根本不知道为啥要这样写,全靠猜,超级无敌大痛点。
    1. 项目我司找外包写的一个项目,中标团队是京东,京东又 包中包 找了另外一个外包公司,这个外包公司的程序员能力太差,架构水平低些,技术栈老旧;写出来的代码一坨屎,期间还换了几波人,最终成为屎山代码。

PS: 第5点,前端还好,还能玩得转。后端代码更加屎山,听后端说根本改不动,一个逻辑七弯八绕的,链路贼长;100多个微服务,只有30多个用得上,又不敢随意去掉;没有统一的网关服务;前后端通过 cookie 认证;等等...

听说是这个外包公司用这个架构接过项目,然后拿过来套用,结果业务需求千差万别,根本不适用。

不说了,扯远了。

回到 uni-app 这个项目,既然这么多痛点,我能做点啥呢?于是萌生了使用 vue3 + ts + 无需HBX 的项目框架,于是就着手写这个项目,后来加了不少功能,觉得是最好用的项目模板,于是就叫 unibest 了。

unibest 进程

前期

去年年底,任务稍微松一些,我有空腾出手来开始写这个项目,如下图项目初始化是在 2023-12-21<周四>。那个时候很着迷,周末2天 也在公司搞,周末的 commit 更多,因为没有别的任务打扰。

揭秘,unibest诞生过程;浅谈,开源真不容易

那个时候一边写项目,一边趁热打铁输出文章,22号23号 分别输出了2篇文章。

过了2周,期间我不断完善项目,增加新特性,增加新的demo,努力打造最好用的uniapp项目模板。在 01月09号 又输出了一篇 来整体介绍项目。

又过了10天,期间解决了不少BUG,另外还在不断完善项目,增加新特性,增加新的demo,在 01月18号 又输出了一篇 番外篇,介绍项目之外,输出我对该项目的一些思考。

中期

经过上面4篇文章,项目写得差不多了,开始认真写项目的介绍,就是 README.md 文件,于是在5天后的 01月23号 输出了新的一篇文章。

因为要推送到 githubgitee,以前都是设置 2个remote,分别推送的,但我的梯子不行,经常推不上 github,要重推好多次才行,有的时候还要等第二天再试,很浪费我的时间。于是想借助 gitee 同步代码的方式同步到 github,结果成功了,并且很容易,想着这个其他人也可能遇到,还是写出来吧,于是又输出了新的一篇文章。

年底任务不多,接着优化项目,5天后的 01月29号 推出了最重磅的一篇文章 🔥2024年最好用的 uniapp 开发模板,近一个月 star 数飙升!🔥,收藏数 937,成为前端收藏榜的第七位。

另外,当天是项目初始化后的 第40天,才过这么点时间,github star 数就远超其他同类型的模板,可谓 后生可谓。另外提一嘴,本项目之前一直叫 vue3 + ts + uniapp 开发模板,是今天开始才取名为 unibest 的。

这里贴一张最新的 star history 对比图: 传送门

揭秘,unibest诞生过程;浅谈,开源真不容易

后面就过年了,那个时候也创建了第一个微信交流群,我还记得我在老家打扫卫生与群友聊天的一幕幕,老家后面就是一片竹林,门前是小片田野,远处是一条河,河对面是一座座山,风景不错,哈哈。群友的人数我看着涨的,那段时候每天都进来几个,不知不觉就满200人了,后面进来的人只能通过加好友邀请进群。

过年回来,有空我就在弄我的项目,那段时间为了处理部署项目问题,借用 github actions 完成 CICD, 部署我的 unibest 项目,于是又写了一篇文章。

那个时候内置的 UI库uni-ui,毕竟是官方的,但是样式比较丑,且组件不多,于是跟群友讨论,群友介绍了一些 UI库 ,我们在这些 UI库 里面筛选,那个时候选好了 uv-ui,于是又输出了一篇文章。

多说一嘴,后来发现没有 ts 加持的 uv-ui 还是不太好编写代码,于是后来又改为了 wot-ui

项目持续火热,有好几个群友加进来成为开发者,还有一些不是开发者的需要PR,但是他们不懂,于是又诞生了PR篇。

那个时候群友有好几个需要 多语言 的,于是也为群友开发好了 多语言 接入,并提供了最佳实践,顺便还输出了未来对多语言的规划,文章如下:

顺便说下,我为此还设计了一个调查问卷,发到多个群里面看看到底有多少需要。调查出来的结果有点吓人,60 多个问答中有 1/3 的有 多语言 需要,一看就知道数据不准,估计是有 多语言 需要的人点进去填写问卷了,没有这个需要的懒得去点。但是也让我知道了,这 20 个人是有 多语言 需要的。

后期

接下来公司任务比较繁忙,每天都加班到8点半以后,基本没啥时间处理 unibest,还有不少任务和想法没有完成。基本周末别人玩的时候,才有空写代码,写文章。

那个时候开了3个微信群了,新进来的群友总是会问一些问题,比如 route-block ,为啥有 pages.config.ts 又有 pages.json,有啥区别,为啥 pages.json的代码会被覆盖等问题。

群友问我有没有文档,嗯,时候写文档了。于是我又使用 vitePress 搞了个文档出来。

那个时候想通过脚手架生成项目,又在周末 forkunihepler 团队的 create-uni,快速实现了 create-unibest,在此感谢 unihepler 团队。

经过几个周末的加班写代码,写文档,终于在周六的9号基本完成,并且在这天写了一篇文档介绍文章:

接下来,公司业务持续很忙,只能利用周末时间,断断续续写了一些 feature,在 3周 后的一个周末,又写了一篇介绍文档新功能的文章。

至此,文章基本写完了,一共输出了 13 篇文章。

文章太长了,剩下部分内容留着下次再写吧,晚安友友们~

最后还是贴几个链接,不然你们想要的都找不到~~

微信交流群 & 微信公众号

①②③群已满,下面是④群

揭秘,unibest诞生过程;浅谈,开源真不容易

揭秘,unibest诞生过程;浅谈,开源真不容易

unibest 链接地址

文档地址:codercup.github.io/unibest-doc…

github 地址:github.com/codercup/un…

gitee 地址:gitee.com/codercup/un…