什么是 Varlet UI
先给不熟悉这个库的小朋友们介绍一下这个库。
Varlet UI
是一个基于 Vue3
开发的 Material 风格移动端组件库,全面拥抱 Vue3
生态,由社区建立起来的组件库团队进行维护。特性如下
- ? 提供50个高质量通用组件
- ? 组件十分轻量
- ? 由国人开发,完善的中英文文档和后勤保障
- ?️ 支持按需引入
- ?️ 支持主题定制
- ? 支持国际化
- ? 支持 webstorm,vscode 组件属性高亮
- ? 支持 SSR
- ? 支持 Typescript
- ? 确保90%以上单元测试覆盖率,提供稳定性保证
- ?️ 支持暗黑模式
我们的小团伙
我们的团伙成员全部是利用自己的业余时间进行迭代,自2020年4月21日
正式发布1.0
版本以来,已经持续维护了将近一年的时间。
这一年我们的小团伙也从三个人,慢慢变成了十几个人,我们收获了友情,有共同热爱的事情,有着更直接的技术交流渠道。现如今各自处理着各自的一摊事儿,这样的变化实在是令人感慨。这可能就是开源的魅力所在。从一个人憋着做自己的东西,到一群人做着大家的东西,我们同时也喜欢用自己的东西。
为什么要做Vue2的版本
诚如上文所说,Varlet是一个基于Vue3的仓库,是不能够在Vue2的环境中使用的。同时我们也接到了不少反馈,有些小朋友们还在使用着Vue2,或是因为公司架构原因不能直接迁移到Vue3,我们也一直在关心着这样的情况,考虑迁移需要的时间成本,一时间没有办法立刻行动去做这样一件事情。
直到有一天,偶然情况下结识了一位小破站的前端方面的UP主阿阳,他和他的粉丝群体都很乐意做这样一件事情,并且有着超高的执行力。我们简单开了迁移工作相关的会议,改写了构建目标为Vue2的组件库打包器,将整个命令行重构成了Vue2的架构,在熬鹰熬了一个月之后,我们基本上搞定了。
Varlet Vue3 和 Varlet Vue2
我们虽然在架构上将Varlet Vue3
和Varlet Vue2
区分成了两个不同的仓库,但是我们的API
是有高度的一致性的。并且我们在组件行为的一致性上也下了不少功夫,几乎没有使用方式上的区别,并且在后续的维护过程中,也会以Varlet Vue3
为核心,同步功能,尽量减少差异性。
不过我们还是希望在有条件的情况下多去尝试Vue3
的版本,因为Vue3
真的很优秀。这次的Vue2
版本也是给一些还在使用Vue2
的小同学们一个尝鲜的方式,也能给我们多一些反馈,用户体验
和开发者体验
我们十分的重视。
Vue3
Vue2
Varlet Vue2目前的状态
目前Vue2版本
已经完成了所有组件功能的迁移,正在补充单元测试让它变得更加稳定,目前暂时只支持全量导入的使用方式,暂未对服务端渲染进行测试,适合内部测试和尝鲜,暂不推荐使用在生产环境中。
同时也欢迎社区的朋友们来帮助我们纠错。文档的错误、功能和Vue3不一致的问题、组件BUG、单元测试错误都可以提在我们Vue2版本的 issue 列表里,也欢迎 PR。
兼容性
我们的迁移是在Vue3版本
的源代码上进行修改和重写实现的,主题系统依然使用CSS Variable
,依然提供了第一方的暗黑模式支持,Vue3版本和Vue2版本的浏览器兼容性也将保持一致
,这有利于维护两个仓库的组件行为一致性。
构建工具
我们依然推荐使用Vite
构建项目,和Vue3版本
一样,我们会提供对应Vue2版本
的自动按需引入插件
和vscode文档提示插件
,同样也会对Volar
进行优化,目的是让开发者在使用Vue2
开发时也能得到非常舒适的开发体验
感谢贡献 (排名不分先后)
下面都是有过代码贡献的小伙伴们,但是开源贡献不只有代码贡献一种方式,同时感谢那些为我们出谋划策,指点江山(狗头)的小伙伴们。有些小伙伴不遗余力的向自己的朋友和同事推荐这个库,把我们吹上了天(我们还是不配的),但是我们感激不尽。
Vue3版本
Vue2版本
相关链接
Vue3版本
Varlet Vue3 Github 仓库
Varlet Vue3 文档
Varlet Vue3 组件在线编辑器 可以玩玩
Vue2版本
Varlet Vue2 Github 仓库
Varlet Vue2 文档
写在最后
开源不易,希望大家多多支持,多多帮助我们,一年以前就是从掘金开始的,感谢大伙一直以来的捧场,欢迎大家多多star
、fork
、pr
、issue
,以及各种指点江山~
。这将对我们有很大帮助~