UI库架构设计

UI库架构设计

  • 分层
    • rc-xxx,提供基础组件,unstyled component (headless) ,只具备功能交互,不具备UI表现
    • 样式体系
    • 基础组件
    • 复合组件,Search:Input + Select ,IconButton:Icon + Button
    • 业务组件
  • 解耦
    • 对于每个组件都需要定义样式、ts、类型、基础操作、工具方法
  • 响应式设计
    • 媒体查询 media query、ResizeObserver、grid布局

全局状态

  • 全局状态,基础配置、国际化配置、主题配置,react >> Context 、useSyncExternalStore,vue >> vue-demi
  • 局部状态,表单场景,受控和非受控(状态是否跟表单值双向绑定)
    • 受控:<input value={v} onChange={(v)=>setV(v)}
    • 非受控 defaultValue + ref

样式体系与主题设计

  • Color Tokens:颜色色值系统,(antdDesign、arcoDesign (css in js方案)| mantineUI | mui |shadcn/ui)
  • 样式模块化方案:
    • css-in-js(弊端:运行时(运行时的内存损耗)、srr支持不好):emotion、styled-component
    • module css
  • 样式优先级与覆盖:控制样式优先级

模块化

  • 可复用性
  • 公共方法:颜色计算函数,格式化处理,本地化,工具函数

组件开发流程

  • 工程架构:monorepo,core + components + hooks +utils ...

  • TypeScript

  • 流程化、规范化、自动化,

    • script如何定义(CI/CD 源头)
    • 规范化(eslint、stylelint、commitlint)
    • 颜色值生成,自动构建,增量构建,构建缓存
  • 构建打包:rollup、esbuild、swc

  • 测试,单元测试,vitest,jest+react-testing-library

相关推荐
Kim.Li18 小时前
格式塔设计原则全解析:12项核心原则在 UI/UX 中的实战应用指南
ui·产品经理·ux·视觉设计·交互设计
jin1233221 天前
HarmonyOS ArkTS API 24实现声明式 UI 框架与 @Builder 组件复用模式构建三标签页智能账单应用
ui·华为·harmonyos
Getflare2 天前
前端 + UI 设计 + AI:这不是三个工种,是一个新三角能力模型(附自检清单)
前端·人工智能·ui
达子6662 天前
第9章_HarmonyOs图解 用Java开发UI
java·ui·harmonyos
<小智>2 天前
鸿蒙多功能工具箱开发实战(二十四)-单元测试与自动化测试
ui·华为·harmonyos
早点睡啊Y2 天前
深入学LangChain官方文档(二十二):Frontend 高级形态——Headless Tools、Time Travel 与 Generative UI
ui·langchain·状态模式
<小智>3 天前
鸿蒙多功能工具箱开发实战(二十)-性能优化与打包发布
ui·华为·harmonyos
薛定谔的猫-菜鸟程序员3 天前
一个 Skill 如何让大模型拥有专业 UI 能力?——ui-ux-pro-max 架构深度拆解与 Skill 设计方法论
人工智能·ui
<小智>4 天前
鸿蒙多功能工具箱开发实战(十二)-二十四节气与黄历数据展示
ui·华为·harmonyos
qizayaoshuap4 天前
# [特殊字符] 手电筒 — 鸿蒙ArkTS设备功能调用与UI交互设计
ui·华为·交互·harmonyos