注册

写给开发者的Material Design3

M3是Google开源的一套设计规范,主要是UI/UX设计人员设计APP的重要参考依据,与Material相比设计人员可能更偏爱苹果的设计规范,至少我认识的朋友是这样。


关于Material You的疑惑


M3还有一个名字叫Material You,至于区别ChatGPT是这样说的



Material You 是 Material Design 3 (M3) 的市场化和用户友好的名称,而 M3 则是更技术和官方的术语,两者指的是同一个设计系统,只是表达方式不同。



我推测Google为了彰显新版本的高大上,一开始起了高大上的名字Material You,后来发现还有可能发新版本,叫卖油就不妥了,又改回一贯的风格就又叫M3了。所以,现在M3官网上名字都是Material 3,偶尔在看Android文档是会有Material You,以后再看到这两个名字请不要疑惑。


一些其它的设计规范


有很多组件库遵顼Material的设计规范,像Android UI库的风格默认就是Material、还有Flutter、Web都有遵循这套设计规范的UI组件库。国内的Ant Design应该也是参考M3搞得,一开始只有Web端的React组件可以用,后来社区支持了Vue组件。最近看到字节也出了一套设计规范叫Arco Design,大家要知道这是一类xx。


Material 3


M3主要由三大部分组成:



  • Foundations:规范的基础部分,包含一些核心原则。Foundations部分上来就强调了Accessibility,也就是从设计角度要尽量要满足每个人,包含正常人和残疾人(失明、听力障碍、认知障碍、情景障碍如手臂骨折)。这应是设计师的底限,却是很多APP的上限。尤其是一些单位外包APP,如某电网、某银行和一些基层单位的信息化工具,钱没少挣,设计么呵呵。以对比度为例,对于不同的字号以及图片都有不同的规范。此外还有布局规范、交互规范、Token、自定义等。
  • Styles:Styles部分包含颜色、层、图标、动画、图形、排版,在 Foundations 之上应用的视觉风格,定义如何将基础元素组合和调整,以实现特定的品牌和界面风格。
  • Components:使用 Foundations 和 Styles 构建的可复用 UI 元素,它们是设计和开发中实际使用的界面模块。例如:按钮、输入框、导航栏等。

关于Android UI组件库


Android的两套UI组件库,Compose和基于XML写法的组件库都实现了M3规范,需要区分一下M3中的Components和Compose中的Component。我感觉后者是前者的超集,因为Compose的代码中包含了很多在M3中没有的组件,例如Scaffold。细细想来应该是Android开发团队为了方便应用开发者快速开发,依照M3规范扩充了UI组件库中的组件。


基于XML写法的组件库是旧版本的,但是目前使用人数还是最多的。估计是切换的到新版Compose写法收益不大,另外也可能是Android开发者圈子相对前端活跃度低。换做前端圈子,早就卷起来了。我没经历过大厂,记忆中16年我就听说过React,到19年React就已经非常流行了。而Jetpack Compose都多少年了,还是半死不过。我在14年还在上大专时,接触过Android开发,那时还是使用XML定义UI,感觉极其难用,后来就没有接触了,时隔10年,Android使用Compose的开发体验已经相当开门了,然鹅这玩意为啥不火呢?而且JB让这个技术扩展到了PC端,甚至Web端,应该是值得学习的吧,难道JB还不够硬。。还是gg不够硬啊


作者:程序饲养员
来源:juejin.cn/post/7432866688365740041

0 个评论

要回复文章请先登录注册