uni-ui x: DCloud's component library for uni-app x, built on different foundations than uni-ui
A high-performance, cross-platform UI framework built on uni-app.
At a glance
- What is it?
- uni-ui x is DCloud's purpose-built component library for uni-app x, distributed through the DCloud plugin marketplace and requiring HBuilderX 5.08 or later. It ships twelve components with CSS-only style customization and no binary font files, but has no replacement for twenty components that existed in the original uni-ui.
- Who is it for?
- uni-ui x suits teams building new applications on uni-app x with HBuilderX 5.08 or later, comfortable sourcing components from the DCloud plugin marketplace and wanting full CSS control without touching component source code. Skip it for any project still running on original uni-app, since the component APIs are incompatible.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 12 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 6, 2026, and from our analysis. They are not legal advice.
Editorial analysis
uni-ui x and uni-ui share a name but not a runtime, a component API or an install path
DCloud's dcloudio/uni-ui repository on GitHub now holds what the project calls uni-ui x, described explicitly as a completely new design separate from the original uni-ui library that targets the uni-app runtime. Both serve the general purpose of providing UI components, but they target different runtimes and use incompatible APIs. Component names and usage patterns differ throughout, and a project moving from uni-app to uni-app x cannot carry its original uni-ui components across directly.
Source code for uni-ui x lives at gitcode.com/dcloud/uni-ui-x/tree/alpha, not within the GitHub repository itself. GitHub hosts the test harness and the README, while installable components are distributed through DCloud's plugin marketplace individually. In the repository's package.json, the project is named "uniapp-test" with version "1.0.0", which describes the testing infrastructure rather than a publishable package.
Only one tagged release appears on GitHub: v1.3.6, dated 2021-07-09. That predates the x variant and belongs to the original uni-ui lineage. New versions of uni-ui x follow the HBuilderX release cycle instead of GitHub tags. Last push to the repository was on 2026-09-30, and it is not archived.
HBuilderX 5.08 is the stated minimum; version 5.07 has known compatibility problems on some platforms
uni-ui x shipped alongside HBuilderX 5.08. That version is the starting point the README gives for using the library. On HBuilderX 5.07, some components had partial compatibility problems on certain platforms, and the specifics are listed in each component's own compatibility table rather than in a unified overview. Any HBuilderX version earlier than 5.07 is untested, and the README gives no guidance for such environments.
This couples uni-ui x to the HBuilderX release cycle more tightly than npm-distributed component libraries typically bind to a runtime. Tracking which components have platform issues requires checking each component's individual page on ext.dcloud.net.cn rather than consulting a single compatibility matrix.
Development and testing in the repository both depend on HBuilderX being installed locally. The dev and test scripts in package.json reference the HBuilderX CLI through the HBUILDERX_HOME environment variable. No documented path exists to run the test suite without HBuilderX, and the scripts themselves are written for a Windows environment.
Component properties control logic only; all styling goes through class, style or externalClass
Most component libraries blend functional settings and visual settings in the same property list, and uni-ui x's README treats this as a design problem worth solving differently. As libraries add more visual properties to satisfy customization requests, users still complain about insufficient control, partly because component properties cannot carry CSS variables.
uni-ui x separates the two concerns. Component properties cover only functional behavior. All styling is handled through CSS, with two documented paths for a component consumer. Root node styles go on the class or style attribute of the component element itself when placing it. Child node styles use externalClass, a mechanism in the uni-app x style isolation specification where a component declares which of its internal nodes are available for external styling, and the parent passes in a class name that reaches inside.
CSS variables work across both paths. A theme change that would require updating multiple component props on a property-based library becomes a CSS variable assignment. No colors or text strings are hardcoded in the components: styles rely on CSS variables only, and all user-visible text must be supplied by the consumer, which means internationalization and theme customization require no source edits.
Arrows built from CSS border plus transform, and the tab midbutton bezier stored as SVG
uni-ui x ships no binary font files. The README frames this as two interrelated decisions: performance and readability by AI tools. A font icon is a binary artifact, and an AI model cannot inspect, generate or modify what a glyph represents from the binary itself, according to the README.
Two concrete examples illustrate this approach. Arrows are implemented using a view element with its left and bottom borders styled, then rotated with a CSS transform. Every aspect of that shape is in text that any search tool or language model can read. For the midbutton shape on the uni-tab component, which requires a bezier curve, the library uses SVG rather than an image, keeping the geometry in a parseable format.
Beyond AI tooling, the absence of font files has side effects. No font loading step is required, there is no flash of unstyled icons, and the bundle carries no binary blobs. Neutral and customizable visual style is another stated goal: the library deliberately avoids a distinctive look, consistent with how uni-app's own built-in components behave, so developers can apply any style through CSS without overriding a preset theme.
Twelve components, each installed individually through the DCloud plugin marketplace
uni-ui x currently supports twelve components: uni-badge-view, uni-collapse, uni-drag-cell, uni-fab-button, uni-index-bar, uni-link, uni-nav-bar, uni-number-box, uni-rate, uni-refresh-box, uni-tab and uni-time-format.
Each is a distinct plugin on ext.dcloud.net.cn. Installing the collapsible panel, for instance, means navigating to the plugin listing for uni-collapse-x and following the marketplace install process. No command installs all twelve at once. In the README, each component row links directly to its plugin page by name, so the installation route is visible within the component table itself.
The set covers several common UI patterns: a badge count display, a collapsible panel, a drag-and-sort cell, a floating action button, an alphabetical index bar for long lists, a hyperlink, a navigation bar, a numeric input with increment and decrement controls, a star rating display, a pull-to-refresh wrapper, a tab bar with a customizable midbutton and a time formatter. Absent from the list are components a developer moving from another library might expect: no search bar, no calendar, no data grid, no paginator and no file picker appear among the twelve.
The migration table marks twenty original uni-ui components as having no replacement in uni-ui x
DCloud provides a table mapping every original uni-ui component to its uni-app x equivalent. For twenty components, the mapping reads "none": uni-card, uni-combox, uni-countdown, uni-data-checkbox, uni-easyinput, uni-fav, uni-file-picker, uni-goods-nav, uni-grid, uni-group, uni-icons, uni-notice-bar, uni-pagination, uni-row, uni-search-bar, uni-segmented-control, uni-steps, uni-tag, uni-title and uni-transition.
The README's position on these gaps is that most of the missing components are simple enough that asking an AI to write the UI directly is more practical than downloading and learning a dedicated component. That is the documented rationale, not a guarantee that any particular component is straightforward to build from scratch.
Some original uni-ui components have indirect replacements through uni-app x's built-in components. uni-drawer and uni-popup both map to the built-in page-container. uni-list maps to the built-in list component. These paths appear in the migration table, but the resulting components are platform primitives, not uni-ui x components, so they do not carry the same CSS-based customization model.
MIT licence, one GitHub release predating uni-ui x, and no npm distribution path
Repository metadata gives the licence as MIT, with the LICENSE file at the top level of the repository. Only one tagged release appears on GitHub: v1.3.6, from 2021-07-09, belonging to the original uni-ui lineage. Versioning for uni-ui x itself follows the HBuilderX release, with no dedicated tags on GitHub.
No npm package for uni-ui x appears in the repository files, and the package.json in the repository root is for the test suite rather than a publishable library. Teams that manage dependencies through package.json will need to use HBuilderX's plugin marketplace mechanism instead, and the test scripts confirm that even the project's own build tooling depends on HBuilderX.
Community questions and feedback for uni-ui x go through the DCloud plugin marketplace discussion system, linked from the README as the "uni-ui-x im" group at ext.dcloud.net.cn. The README has no entry pointing to the GitHub issue tracker as a reporting path for the x variant. For a compatibility problem with a specific component, the starting point is that component's individual plugin page on ext.dcloud.net.cn.
Editorial conclusion
uni-ui x suits teams building new applications on uni-app x with HBuilderX 5.08 or later, comfortable sourcing components from the DCloud plugin marketplace and wanting full CSS control without touching component source code. Skip it for any project still running on original uni-app, since the component APIs are incompatible. Skip it if the library's twenty missing components include ones your application depends on, because no timeline for closing those gaps appears in the documentation. Before adopting, verify that each component you need appears in the twelve-component list and check its individual compatibility table on ext.dcloud.net.cn.
Frequently asked questions
What is the difference between uni-ui and uni-ui x?
uni-ui targets the original uni-app runtime, while uni-ui x is a completely redesigned library for uni-app x. Component names, usage patterns and APIs differ throughout, so the two cannot be substituted for each other. The README provides a migration table mapping original uni-ui components to their uni-app x equivalents, where an equivalent exists.
Which HBuilderX version does uni-ui x require?
The README states that uni-ui x shipped with HBuilderX 5.08. Version 5.07 had partial compatibility issues on some platforms, with the details listed in each component's individual compatibility table. HBuilderX versions earlier than 5.07 are untested.
How do I install uni-ui x components?
Each component is published individually on the DCloud plugin marketplace at ext.dcloud.net.cn. The README links to each component's plugin listing by name. There is no unified command that installs all components at once, and no npm package for uni-ui x is available.
Does uni-ui x support vapor mode?
According to the README, uni-ui x understands uni-app x vapor mode best practices and uses template and style precompilation features to improve performance where possible. It also supports non-vapor mode.
Can I use CSS variables to theme uni-ui x components?
Yes. The README states that no colors are hardcoded in the components, and all styling is controlled through CSS including CSS variables. A full theme change is a CSS variable assignment rather than a set of component property updates.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/dcloudio-uni-ui)