头图

foreword

Since its birth, NutUI has been keeping up with the development of technology and constantly innovating. NutUI has undergone three technological innovations of v1.0, v2.0, and v3.0. It has always maintained a steady development trend, from a single basic component library to a multi-terminal UI component library serving thousands of developers today. The growth of NutUI is inseparable from the efforts of team members, and more importantly, the feedback and co-construction of developers in the community.

open source harvest

Active Github

From open source in 2019 to now, a total of 10,490 commits records and 249 versions have been released. With the joint efforts of team members and community developers, a total of 1553 issues have been closed. The small partners in the community are very strong and actively solve the issue, and a total of 134 PRs have been submitted.

active community

The official website documentation is the key for developers to get started, and the daily visits to the official website reach about 1.5w. At the same time, in order to solve everyone's questions in a timely manner, the developers are actively building a community exchange group. At the same time, NutUI related articles and videos are regularly updated to help you understand the development and design of components. There are 50+ existing technical articles and 5 videos. NutUI currently has 5 WeChat developer communication groups and 4 internal dongdong groups. Team members receive information such as component problems, developer suggestions, bugs and other information every day.

contributors

NutUI sincerely thanks everyone for their contributions to the open source cause! At present, the number of community contributors has reached 74. (🚀 increase ing)

NutUI 贡献者

In the face of rapid technological development, the user environment is becoming more and more complex, and the challenges they face are also increasing. As the so-called "everyone gathers firewood and the flame is high", I would like to thank everyone for their work and efforts for the component library, and welcome everyone to become a contributor.

We look forward to your joining

Every day, new problems arise in the community, and everyone can try to revise or provide their own opinions and ideas. Of course, submitting PRs is not limited to new components and new functions, but can also choose issues of interest to modify in issues.

issues

For the convenience of co-construction, several co-construction directions are provided for everyone, and everyone can consider them according to their own technical capabilities.

1. issues class

Solve problems or suggestions about components on github, interact with developers, and solve developers' questions. It can be identified by tags such as question and suggestion. It often involves issues such as project startup, dependency package error reporting, and component compatibility. Comments can be made based on practical experience. The components involved will be notified in which version to release, and the projects involved can provide reference links to solve problems.

2. Bug class

If there is a problem with the function of a component or cannot meet the current business scenario, according to the reproduced code feedback from the developer, we perform local debugging and reproduction, and use the test warehouse to reproduce the problem. After locating the problem, modify it in the local NutUI source code , package the dist folder after passing the test, and replace the dist folder under @nutui/nutui in node_modules in the test warehouse for verification.

3. New components

Common and widely applicable components can be extracted from business code. New components need to undergo rigorous testing. First, ensure that the functions of the components have been implemented and run normally, then add the corresponding unit tests, and then simulate the use in the test warehouse provided by us. Finally, improve the component md usage documentation. For specific steps, please refer to NutUI Contribution Guidelines .

4. Internationalization

Currently, it supports five languages: Chinese, English, Thai, Indonesian, and Traditional Chinese. If your scene uses other languages, you are welcome to PR new language packs. For details, please refer to the language packs . If you want to implement internationalization in your business code, you can do it with vue-i18n .

5. UI customization

We now have 4 sets of official themes . If you have special needs, you can use the NutUI online theme preview generator to generate themes. According to the configuration, the custom_theme.scss file will be downloaded. You can import the file into the project or copy the content to the specified file, thereby Implement custom themes. For details, please refer to the video tutorial .

6. Platform class adaptation

During the platform adaptation process of H5 and applet (WeChat applet, Alipay applet, Jingdong applet, etc.), the environment can be judged according to Taro.getEnv() . In the H5 environment, we need to adapt the browser or android and ios. The applet environment should be developed and tested in the corresponding development platform, and the mobile phone can scan the code to ensure the normal operation of the components on each platform.

7. Cross-end expansion

In addition to supporting H5 and applet scenarios, explore the adaptation of mobile terminal cross-terminal technologies, such as uni-app, react-native, flutter, etc. In the planning stage, you can participate in the construction of development plans, component interaction design, etc., to prepare for the development of cross-end component libraries.

For more detailed co-construction process, interested friends click here 👉 NutUI Contribution Guide

At the same time, the thorny problems encountered on github will be continuously updated, and even the underlying architecture technology. Interested partners who want to challenge, welcome PR. At present, github discussions are regularly maintained and updated, and everyone is welcome to speak.

共建方向

Knowledge Sharing

If you have a wider range of hobbies, such as writing, shooting videos, etc., friends with this expertise are very welcome. At present, NutUI is also launching a series of articles and videos , and everyone is welcome to contribute~ We will review regularly every once in a while, and send small gifts to the contributors~

1. Articles such as NutUI development practice or source code analysis

Email: nutui@jd.com

content:

  1. Personal information and md files
  2. The NutUI team will promptly communicate with you about article publishing issues

2. NutUI series related videos

Email: nutui@jd.com

content:

  1. Personal Information and Related Videos
  2. The NutUI team will promptly communicate with you about video release issues

Customized co-construction

NutUI is the JD APP visual specification by default. Through the ability of "component-level UI customization" (jointly build a brother team: JD Technology-Fintech Group-UED, JD Retail-B Mall Front-end Team), NutUI-JDT (partial B-side) has been customized one after another. business) and NutUI-JDB (B mall UI specification) two sets of UI. Next, we will continue to output UI styles that meet business demands based on JD.com's BGs.

If you have personalized (customized UI) demands in your business scenario, you are welcome to use the NutUI online theme preview generator, which can quickly generate a set of your own UI component library. At the same time, component skins can be contributed to the NutUI community, allowing more developers to enjoy benefits.

NutUI 助力发展

write at the end

The huge open source community must have a lot to learn. Open source itself is an experience and practice. Becoming a contributor is not the purpose. Reading code and fixing bugs is also an improvement, and you will meet many like-minded friends. We hope that every open source developer can face the scenery along the way with a smile.

NutUI invites you to join

Contact email: nutui@jd.com

Email subject: [NutUI co-construction] + your github account

Welcome to the NutUI Exchange Group

京东设计中心JDC
696 声望1k 粉丝

致力为京东零售消费者提供完美的购物体验。以京东零售体验设计为核心,为京东集团各业务条线提供设计支持, 包括线上基础产品体验设计、营销活动体验设计、品牌创意设计、新媒体传播设计、内外部系统产品设计、企...