前言

NutUI 自诞生以来,一直在紧跟技术的发展不断推陈出新,NutUI 经历了 v1.0、v2.0、v3.0 三次技术的革新蜕变。始终保持稳健的发展态势,从一个单一的基础组件库发展到如今服务于数千开发者的多端 UI 组件库。NutUI 的成长离不开团队成员的努力,更重要的是离不开广大社区开发者的反馈和共建。

开源收获

活跃的 Github

从 2019 年开源到现在为止,共计 10490 条 commits 记录,发布了 249 个版本。在团队成员和社区开发者的共同努力下,累计关闭了 1553 个 issue。社区的小伙伴非常给力,积极的解决 issue,共提交 134 条 PR。

活跃的社区

官网文档是开发者入门的钥匙,官网每日的访问量达到 1.5w 左右。同时,为了及时的解决大家的疑问,开发者们积极进行社区交流群的建设。同时定期更新 NutUI 相关的文章和视频,帮助大家了解组件的开发设计,现有技术文章 50+ 篇,发布视频 5 个。NutUI 现有 5 个微信开发者交流群,4 个内部咚咚群,团队成员每天都会接收到诸如组件问题、开发者建议、bug 等信息。

贡献者们

NutUI 由衷感谢各位小伙伴对开源事业做出的贡献!目前社区贡献者已经达到了 74 位。(🚀 增加ing)

NutUI 贡献者

面对日新月异的技术发展,用户环境越来越复杂,所面临的挑战也越来越多。正所谓“众人拾柴火焰高”,特别感谢大家为组件库做出的工作和努力,欢迎大家成为 contributor。

期待您的加入

每天社区都会有新的问题产生,大家都可以去尝试修改,或者提供自己的看法思路。当然,大家提交 PR 不局限于新组件新功能,也可在 issues 中选择自己感兴趣的问题去修改。

issues

为方便共建,为大家提供了几个共建方向,大家可根据自身的技术能力去考虑。

1. issues 类

解决 github 上关于组件的问题或建议,与开发者互动交流,解决开发者的疑问。可以根据 question、suggest 等标签识别,常涉及项目启动、依赖包报错、组件兼容等问题,可根据实践经验进行 comment,涉及组件会通知在哪个版本发布,涉及工程可提供解决问题的参考链接。

2. bug 类

某个组件的功能出现问题或无法满足当前业务场景,根据开发者反馈的复现代码,我们进行本地调试复现,使用测试仓库来复现问题。定位问题后在本地的 NutUI 源码中进行修改,测试通过后打包 dist 文件夹,替换测试仓库中 node_modules 中 @nutui/nutui 下的 dist 文件夹进行校验。

3. 新增组件

从业务代码中可提取出通用的、适用场景较广的组件。新增组件需要经过严格的测试,首先保证组件的功能已实现并正常运行,其次增加对应的单元测试,然后在我们提供的测试仓库中模拟使用,最后完善组件 md 使用文档,具体步骤可参考 NutUI 贡献指南

4. 国际化

目前支持中文、英语、泰语、印尼语、繁体中文五种语言。如您的场景有使用到其他语言,欢迎 PR 新的语言包,具体内容可参考语言包。如果您想在业务代码中实现国际化,可以借助 vue-i18n 实现。

5. UI 定制

我们现在有4套官方主题,如果您有特殊的需求可以使用NutUI 在线主题预览生成器生成主题,根据配置会下载 custom_theme.scss 文件,可将文件引入到项目中或将内容复制到指定文件,从而实现自定义主题。详情可参考视频教程

6. 平台类适配

在 H5 和小程序(微信小程序、支付宝小程序、京东小程序等)平台适配过程中可根据 Taro.getEnv() 判断环境。H5 环境我们需要对浏览器或 android、ios 进行适配,小程序环境应在对应的开发平台中开发测试,并且手机可扫码体验,保证组件在各平台正常运行。

7. 跨端扩展

在支持 H5 和小程序场景外,对移动端跨端技术适配进行探究,如 uni-app、react-native、flutter 等。规划阶段可参与开发方案、组件交互设计等建设,为开展跨端组件库开发工作做准备。

关于更详细的共建流程,感兴趣的小伙伴戳这里 👉 NutUI 贡献指南

同时,在 github 上会不间断更新遇到的棘手问题,甚至是底层架构技术等,有兴趣的小伙伴想要挑战的,欢迎 PR。目前在 github discussions 定期维护更新,欢迎大家发言。

共建方向

知识共享

如果您有更加广泛的爱好,比如写作、拍视频等,非常欢迎有此特长的小伙伴。目前 NutUI 也在推出一系列的文章和视频,欢迎大家投稿呀~ 每隔一段时间会定期评审,给投稿的小伙伴发送小礼物哦~

一. NutUI 开发实践或源码解析等文章

邮箱:nutui@jd.com

内容:

  1. 个人信息及 md 文件

  2. NutUI 团队会及时与您沟通文章发布问题

二. NutUI 系列相关视频

邮箱:nutui@jd.com

内容:

  1. 个人信息及相关视频

  2. NutUI 团队会及时与您沟通视频发布问题

定制共建

NutUI 默认是京东 APP 视觉规范,通过“组件级 UI 定制”能力(共建兄弟团队:京东科技-金融科技群-UED、京东零售-B商城前端团队)已陆续定制出 NutUI-JDT (偏B端业务) 和 NutUI-JDB(B 商城 UI 规范)两套 UI。接下来我们还将基于京东各 BG 陆续输出符合业务诉求的 UI 样式。

如果您的业务场景中有个性化(定制 UI)诉求,欢迎您使用 NutUI 在线主题预览生成器,可快速生成一套自己的 UI 组件库。同时可将组件皮肤贡献到 NutUI 社区,让更多的开发者享受到福利。

NutUI 助力发展

写在最后

庞大的开源社区一定有很多值得去学习的东西,开源本身是一场历练和修行。成为 contributor 不是目的,通过阅读代码和修复 bug 也是一种提升,也会认识很多志同道合的朋友。我们希望每一个开源者都能用微笑面对这一路的风景。

NutUI 诚邀您的加入

联系邮箱:nutui@jd.com

邮件标题:【NutUI 共建】+ 您的 github 账号

欢迎加入 NutUI 交流群