对设计师和前端开发来说,个性化设计和高效的实现往往难以兼得:

视觉上的个性化设计往往意味着开发要对设计系统的组件库进行各种魔改和封装,对程序员来说,不仅开发成本高,后期维护也比较困难。

现在,一款名为Arco Design的全新开源设计系统或将打破上述困局。

ArcoDesign的开发者、字节跳动GIP UED和前端架构技术团队介绍,个性化定制能力被列为Arco需要解决的头号问题,除此之外,Arco Design还着力解决了“二次开发+复用能力”以及“设计+开发无缝协作”两大前端开发者最为头疼的问题。目前,Arco Design已经支持了字节内部超过 4000 个项目,是字节内部使用规模最大的设计系统。

官网:https://arco.design

Github React 组件库:
https://github.com/arco-design/arco-design

Github Vue 组件库:
https://github.com/arco-design/arco-design-vue

务实而浪漫的Arco Design

Arco的名字来自于:Agreement(遵从一致)、Rhythm(韵律)、Clear(清晰)、Open(开放)。在意大利语中,Arco还意为一种优雅的音乐演奏手法。

正如其名字所蕴含的寓意,作为一款企业级设计系统,Arco Design秉承这样的底层设计原则:

一致:一致的设计产生品牌信赖感,也指开发与设计达成平衡一致

韵律:构建富有韵律的设计美感,是Bytedancer的浪漫

清晰:清晰的指向亦是效率的提升

开放:开放的平台面向更多的业务和产品提供具有生长性、包容性设计体系,适应更多复杂的业务场景

一张图读懂Arco Design

ArcoDesign拥有系统的设计规范和资源,同时依据规范提供了丰富的原子组件,覆盖了 React、Vue 两个技术栈。

在原子组件基础上,ArcoDesign也提供了丰富的定制化工具,包括风格配置平台、物料平台等,还提供资源平台包括 IconBox、Arco Pro 最佳实践等。旨在帮助设计师与开发者解放双手、提升工作效率,更高效、高质量的打造符合业务规范的中后台应用。

ArcoDesign想解决哪些问题

在过去的 3 年里,字节跳动内部中后台产品业务量的迅速增长对传统的设计与开发方式提出了很大的挑战。随着项目变大,模块和页面变多,视觉风格和交互越来越难以统一。

同一个业务平台下,不同的模块的视觉风格和前端开发框架都可能大相径庭,这对于用户体验和平台的一致性造成了巨大的困扰。

ArcoDesign的初衷就是想从源头上去解决平台的差异性和一致性问题,又快又好地提升各个平台的设计质量。

具体来看,ArcoDesign在个性化定制能力、二次开发+复用能力、设计+开发更好地协作方面有所突破。

个性化定制能力

不同的团队风格,不同的业务场景,对视觉风格会有不同的需求。

以往,不论有没有设计参与,整体的技术选型都是比较自由的,有的团队选择 React ,有的选择 Vue;有的组件库是面性设计,有的组件库是线性设计。当设计给出设计图,开发需要在项目里进行各式各样的样式魔改。

在项目变多之后,为了更小成本的维护和代码重用,一般会基于所选组件库封装一个新的组件库,这个二次开发的组件库对组件的风格样式和默认行为进行魔改,魔改需要开发花费大量的时间成本,但基本是唯一的解决方案。

然而,只要涉及到魔改,就不可避免地会遇到升级问题。只要升级底层组件库,就有可能导致样式甚至功能出现出现不可预知的改变,为了求稳,就需要锁版本,锁了版本又没办法享受版本升级带来的新特性和 bug 修复,陷入一个恶性循环的怪圈。

魔改容易造成的恶性循环

为了解决样式定制难这个痛点,Arco 从设计之初就对组件进行了细致的拆分。

组件是设计系统提供的最底层能力。Arco 提供了 67 个基础组件,这些基础组件足以支撑绝大多数的业务需求。

一键切换“暗黑模式”

风格样式定制
ArcoDesign将影响组件视觉的样式都抽离到了 token 之中,token 是最小化描述组件样式的变量,组件库中是以 less 变量的形式存在。从全局变量到组件级变量,用 token 来解释组件,用上千个 token 变量,来保证通过配置变量,就能对样式风格进行任意定制。

比如现在越来越多的网站会考虑支持暗色风格切换,“暗黑模式”会让使用者更加专注自己的操作任务,同时在夜间或暗光环境使用下可以减少屏幕光对眼睛的刺激,避免在黑暗环境中长时间注视高亮光源带来的视觉刺激。ArcoDesign支持一键开启暗黑模式,无缝切换,流畅体验。

默认行为定制
Arco 支持 60+ 组件默认行为的全局配置,以极大的灵活性,减小维护成本、提升开发体验。用户只需要维护一份全局配置,就能定制每一个组件的默认交互。

值得注意的是,Arco 同时提供了 React 和 Vue 两套 UI 组件库。Vue 组件库基于 Vue 3.0 开发,提供了面向未来开发的能力,且与 React 组件库底层能力互通,均可完美利用 Arco 生态体系的各项能力。

依托系统的 ArcoDesign 设计规范,ArcoDesign可以帮助无设计师参与的平台产品,快速构建专业、一致的体验

二次开发和复用能力

得益于 Arco 组件灵活的 API 设计以及物料平台提供的定制化组件解决方案,用户可以基于 Arco 快速开发满足自身特定需求的定制组件。定制化的组件将更好地复用业务代码,促进团队协作,提升开发效率,更可与社区共享丰富的物料资源。

设计和开发更好地协作

设计系统是一种思维,是设计师与前端开发沟通的一种语言。Arco希望通过提供全流程完善的生态体系,提升设计、开发全流程工作体验。

全流程完善的生态体系

生态平台

  • 风格配置平台:通过协助用户构建个性化主题,帮助用户更好地管理不同风格的主题配置,提高设计和开发的协作效率。
  • 物料平台:基于 Arco 脚手架工具快速进行定制化的业务组件开发、共享,实现业务模块的解耦与复用,提升开发效率,促进团队协作。
  • 图标平台 IconBox:提供规范化、统一化的高质量业务图标库。
  • 中后台最佳实践 Arco Pro:帮助用户快速的从 0 到 1 搭建项目,支持用户自由选用常见页面模版。
  • 色彩配置工具 :帮助设计师和开发者在线调试颜色,探索 Arco 色彩算法。

开发工具

  • Webpack 插件:帮助开发者在 Webpack 构建中方便地使用主题、实现按需加载、替换组件内置图标。
  • Arco CLI 脚手架工具:封装了物料操作命令,帮助用户快速创建物料项目并将其发布至 Arco 物料平台。
  • VSCode 插件:帮助用户在编辑器查阅文档、可视化操作物料等。
  • Figma 插件:聚合了常见的设计工具,帮助设计师更方便地使用 Arco 的各项能力。

设计功能

  • 为了方便设计师定位资源,Arco 提供了资源定位的 Figma 插件功能,让设计师可以一键轻松找到目标组件的设计资源以及开发资源。
  • 为了提高设计师的配色效率,Arco 提供了色彩配置的 Figma 插件功能,可以根据指定颜色通过算法智能生成明亮以及暗黑模式下的梯度色板。
  • 为了提高制作图标的效率,Arco 提供了一键拖拽使用 Arco 图标的 Figma 插件功能,在线颜色、线宽、尺寸调整,灵活配置,游刃有余。
  • 为了降低设计师制作 Figma 变体的成本,提高设计师产出符合设计系统规范的设计稿的效率,Arco 探索了 Code to Design,提供了以组件为维度的 Figma 插件功能,设计师可以通过在插件里配置组件属性,自动生成对应的设计元素。同时打通了风格配置平台,让设计稿可以轻松实现 「一键换肤」
  • 为了方便设计师管理图标,Arco 推出了 Iconbox
    图标平台
    ,旨在让设计师可以在该平台上高效地管理自己的图标。并且提供了图标上传的 Figma 插件功能,支持设计师在 Figma 中直接选中图标一键上传至图标平台。

经过了近三年的迭代和众多产品的验证,Arco Design已经成为字节跳动内部使用量最大的设计系统,助力众多字节优秀产品打造高质量的产品体验。Arco Design 在字节跳动内部还做了更多方面的探索,如可视化建站平台、D2C 设计图转代码工具、C2D 代码转设计图工具、品牌库等,未来将陆续开放。

https://arco.design/ →

Arco Design 现已正式开放,欢迎使用和体验。Arco 非常重视每一位用户的意见,希望大家踊跃反馈,积极共建。

一款无惧“魔改”的设计系统开源了,已支持字节跳动4000多个项目相关推荐

  1. 魔改版本xposed(arm,arm64,x86,x86_64)支持雷电,逍遥等模拟器

    本次魔改支持Android7.1的系统,arm,arm64,x86,x86_64,也就是支持模拟器32位和64位,有人说为什么要用定制版的xp ,因为逆向分析的时候少不了hook,但是现在的对抗手法太 ...

  2. 基于android 10的国产手机,正式发布,首款基于安卓9.0的国产手机系统,却只支持这几款机型...

    在8月底成功首发了7nm制程的麒麟980处理器后,华为仿佛进入了爆发模式,在9月初先后发布了荣耀8X.荣耀8XMAX.华为麦芒7三款手机,其中荣耀8X更是以自家中端麒麟710处理器挑战采用了高端处理器 ...

  3. java 苹果内支付_一款集成支付宝、微信支付的Java源码,支持安卓、苹果,maven项目可以看看。申精...

    **使用方法** ### 1.引入 ``` compile 'com.javen205.jpay:jpaysdk:latest.release.here' ``` ### 2. Android Man ...

  4. java变形金刚中文版_[原创]RC4、Base64魔改看雪CTF-变形金刚学习笔记

    前言 最近在研究某某app的数据库,发现自己在so层的调试比较薄弱,专门找了看雪的CTF-变形金刚来学习.希望在用ida调试so方面有所突破. 利用国庆期间整理成笔记.技术不成熟或许描述的不够清晰请大 ...

  5. 微信公众号无需二次登录_您无需两次解决问题-您需要一个设计系统

    微信公众号无需二次登录 重点 (Top highlight) The design system concept can be differently defined according to eac ...

  6. 设计系统(Design System),设计和开发之间的“DevOps”

    最近,我们网站的上新增了几个新功能,比如通过导航栏的QR Code可以下载App:通过Carousel的方式,显示多条信息. 以往这样的功能可能需要2-3个Sprints完成,但是现在这些功能都是在一 ...

  7. 用python让excel飞起来 pdf_讯飞智能键盘K710 一款无网络实力依然在线的黑科技产品...

    科大讯飞一直在人工智能领域创新有佳,产品不断.前一阵子了解科大讯飞发布一款新的智能硬件--讯飞智能键盘K710,居然是键盘和智能语音的神仙组合,究竟是怎样的黑科技,我迫不及待入手看看.下面,就看看这款 ...

  8. 代码已开源,一起魔改大西瓜!

    上了两次微博热搜的<合成大西瓜>,想必大家都玩过了,好多人刚开始嗤之以鼻,最后真香了,说实话有点上头. 其火热程度直登热搜第三,阅读量6.9亿,朋友圈里也在纷纷安利. 合成大西瓜 游戏界面 ...

  9. select每门可说大于90分_小女子风雨黑暗无惧 90分全自动反向折叠照明伞

    我是个护士,四班倒,白天还好,不下雨也还好,如果遇到中班,晚上22点交班后,外面太黑了,如果在碰伤下雨天,真不知怎么好了.虽然家离工作的医院距离很近,有个500米左右,但一个人在黑暗下雨的夜晚行走,还 ...

最新文章

  1. 同事埋了个坑:Insert into select语句把生产服务器炸了
  2. [HTML/CSS]colum-gap属性
  3. 26个导航设计非常独特的网站案例欣赏
  4. OSGi入门篇:模块层
  5. Go gin web框架介绍
  6. paip sms to blog.txt
  7. python 访问sas 逻辑库,SAS | 逻辑库和SAS数据集
  8. 在matlab中ungetfile后,11条Matlab实用小技巧
  9. JAVA 网络编程 Socket 详细说明,实现客户端和服务端相互推送消息
  10. 游戏王决斗连接显示服务器错误,游戏王决斗链接
  11. Unity实现音频播放器[QQ音乐,网易云等效果]
  12. Voyage自动驾驶测试场景开源文档介绍
  13. 近来开发工作不忙,零零散散整理的Java基础
  14. 局部连接层(Locally-Connected Layer)
  15. DialogFragment中通过dataBinding绑定View,设置点击事件无效,通过getWindow设置dialog位置和大小无效。
  16. windows无法连接到打印机?三个方法连接打印机(Win10系统)
  17. Shiro-Principal
  18. 多线程 -Thread -Runnable -Callable
  19. 数码照片的文件高级信息获取
  20. html微信怎么转发,微信朋友圈怎么转发

热门文章

  1. YACC、LEX、JAVACC-------常用的编译工具
  2. VL53L0x TOF激光测距的 stm32 HAL库驱动代码
  3. java.lang.InstantiationException:
  4. 整数类型及整数类型的显示转换
  5. 简单干净的C#方法设计案例:SFCUI.AjaxLoadPage()之一
  6. Ubuntu 安装MySQL报共享库找不到
  7. 3.6.1最大熵阈值分割寻找阈值实现图像二值化
  8. 跟闺密逛街 越逛越穷
  9. Sql Server中判断日志是否为一个星期
  10. [ubuntu] pickle