资讯详情

资讯详情

开源 uView Pro 千星,GVP 奖杯已到

2025年 8 月 6 日uView Pro 的第一版代码首次开源如今正好一年时间。当时还发了文章uView Pro 是一个 uni-app 的 TypeScript Vue3 组件库拥有 80 高质量组件、丰富工具库、开箱即用模板。内置多主题、暗黑模式、国际化可一键适配 H5/APP/鸿蒙/小程序一年过去我发现已经过一千星星了Gitee 目前 506 个 starGitHub 537 个 star还拿到了 gitee 的 GVP 认证。回头想想这一年大部分业余时间都在闷头改代码、回 Issue、迭代新功能。今天想把这些成绩和背后的东西摊开来聊一聊。这一年攒下的成果先报个账截止现在uView Pro 在 gitee 和 GitHub 两个平台加起来已经过千 starnpm 月下载量 3k ~ 8k。GVP 是什么gitee 里最有价值的开源项目评委是官方团队加社区专家组uView Pro 有幸能拿到这个认证算是行业对项目的一种背书反正我是十分开心的组件数量上我用 Vue3 TS 重构完成 80 个组件覆盖了日常开发里能想到的绝大部分场景从按钮、表单这些基础件到日历、上传、瀑布流这些复杂件都齐了。兼容性上安卓、iOS、鸿蒙、微信小程序、头条小程序、支付宝小程序这些主流端都跑得通一套代码多端运行不是口号是真在维护不断进行优化。去年有个事挺自豪uView Pro 的鸿蒙端应用已经上架了华为应用市场等于把组件库拿到真机上去验证了一遍这比在文档里写兼容鸿蒙有说服力得多为此还拿到了鸿蒙应用激励金。参考文章uni-app 开发的鸿蒙应用上架后竟然月入4000通过鸿蒙应用市场AppGallery搜索uViewPro即可看到组件核心单说组件数量市面上不缺。uView Pro 能被人记住靠的是快速解决、不断维护、功能的完备性。例如组件库全面支持国际化、多主题、暗黑模式国际化i18n并不是简单换文案是整套组件库的语言体系都接进去了。你切语言按钮、日历标题、分页器这些内置文字跟着变不用一个个组件去改。多主题定制也是一样通过u-config-provider一层层往下传你想改成公司品牌色改一个配置就行不用翻几十个组件的源码。暗黑模式也是一键切换的。白天晚上来回切组件库自动跟着变连主题状态都存好了下次进来还是暗色。这三个能力单独拿出来可能都不难但要在一个 80 组件的库里做到统一才是真费劲的地方。多主题暗黑模式为了能让开发者更好更方便的定制主题还开发了主题定制工具3 分钟可生成 5 套主题自带暗黑模式参考3分钟生成 5 套主题还能一键切换暗黑模式工具主题生成工具官方解决了一个老痛点的虚拟根组件用过 uni-app 的人多半遇到过一个坑想给全局搞点注入经常得自己接第三方插件还不一定兼容。这就用到了全局根组件。uView Pro 内置了一个vite-plugin-uni-root把全局根组件自动注入了你想挂全局状态、生命周期钩子直接写就行不用再折腾额外插件。说白了我把根组件这件事从要自己搭变成了组件库开箱就有。这个能力 0.6.11 版本开始内置后续又针对 HBuilderX 环境、微信小程序端的做了优化终于小步快跑地把它打磨稳定了欢迎来用只需两步。第一步配置 vite.config.tsimport { defineConfig } from vite; import Uni from dcloudio/vite-plugin-uni; import { UniRoot } from uview-pro/plugins; export default defineConfig({ plugins: [ UniRoot(), // 放在其他插件之前 Uni(), ], });第二步创建 App.root.vuescript setup langts import { onLoad } from dcloudio/uni-app; import { onMounted } from vue; onLoad(() { console.log(App.root onLoad); }); onMounted(() { console.log(App.root mounted); }); /script template u-config-provider slot / u-toast global/u-toast u-modal global/u-modal /u-config-provider /template不需要修改任何页面代码所有页面会自动被u-config-provider包裹App.root.vue中的内容全局生效。详见虚拟根组件面向 AI 开发AI 发展迅速势头真是势不可挡每天都有新变化。很多人还在争论 AI 会不会取代程序员我的态度是既然挡不住不如全面拥抱。uView Pro 给开发者社区配了LLMS.txt、 Skills 和 MCPModel Context Protocol支持。uView Pro 为大型语言模型LLMs提供了完善的上下文支持帮助 AI 更好地理解和使用组件库。Skills是给 AI 用的一套工作流让 AI 能直接按 uView Pro 的规范去写组件、查文档不用瞎猜。MCP把组件库的能力以标准协议暴露出去接上主流的 AI 编程工具就能用。这几样东西让 AI 帮忙写 uni-app 代码时能少走很多弯路至少它知道 uView Pro 的组件该怎么写了。LLMs 支持SkillsMCP Server那些踩过的坑从开源的这一年最深的体会是兼容性三个字的份量。uView Pro 要跑小程序、H5、iOS App、Android App可能每个平台都有不同表现。尤其是小程序平台种类太多微信、支付宝、抖音、头条每个平台的编译实现都不一样最容易在这上面翻车。举个真实的例子provide/inject 在抖音/头条小程序里传不了值。provide/inject 是我在组件库里用得比较多的一个 Vue3 特性用来做跨层级传值。比如u-form-u-form-item-u-input多层嵌套组件通信用 provide/inject 最省事。不只是它很多组件的父子传值也依赖这个机制。结果在抖音小程序上一跑懵了配置往下传子组件里 inject 拿到的永远是空。我一开始还怀疑是自己代码写错了切到 H5 上重跑一遍好好的微信小程序上也好好的。唯独抖音和头条这两个字节系的小程序出问题。排查到最后确认是这两个平台的编译实现没有完整支持 provide/inject 的跨层级传递。这就麻烦了因为 provide/inject 对组件库来说像地基一样不是修一两个组件就能糊弄过去的。只要组件库用了 provide 和 inject面向抖音/头条就得额外处理所有依赖它的父子组件传值逻辑都要重做一遍相当于在这两个平台上把传值方式整个换一套。我记得当时单独就这个功能重构我就花了一周多的时间。我把一些常见问题沉淀下来形成记忆文档常见问题接下来往哪走uView Pro 不会原地踏步下一步的重心是在稳定 uni-app 组件库的同时逐步再有 uni-app x 的版本用 UTS 强类型把组件库再编译到 Kotlin、Swift让它在新的原生渲染体系下也能跑。uni-app x 的蒸汽模式版本正在开发预计不久就会与大家见面总体方向是明确的uView Pro 组件库会跟着 uni-app 官方脚步一起往前走。开源这东西坚持认真做一年总有人看得见。官网开源 Githubuni-app 插件市场
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →