Material YOU 将带来哪些变化?
Android 12.0 更新的重要部分,就是推出了一款全新的设计语言 Material You,在我们社区中引起了广泛关注。
谷歌推出的全新设计语言 Material You,让“你”成为共同创造者。基于壁纸的主题、可变的字体、灵活的图形、全新的动画细节及部件,或将引发新的设计潮流。除了设计上的变化,本文还将详细阐述 Material You 是什么样的,及其对用户、商业和开发将带来哪些影响。
就在 21 年 10 月,谷歌终于正式发布 Android 12.0 版本。在这之前,我也看过 5 月和 6 月发布的两次测试版本的介绍。Android 12.0 更新的重要部分,就是推出了一款全新的设计语言 Material You,在我们社区中引起了广泛关注。
“我们重新考虑了整个体验,包括颜色、形状、光线和动态,使 Android 12 更具表现力、动感和个性化。这项工作是在我们的软件团队、硬件团队与 Material 设计团队之间的深度合作下完成的。我们将将软硬件生态系统统一起来,并赋予这款设计语言命名为 Material You 。”这就是来自于 Android 开发者博客中关于 Google 新 UI 的介绍。
Material You 是如何改变移动应用程序开发呢?全新的谷歌材料设计语言对软件工程带来哪些影响?如何应对这些变化?本文将进一步回答以上所有问题。
全新的谷歌材料设计语言:
它是什么样的?
谷歌在 2014 年首次提出了制作设计材料的概念。它包括对表面和阴影、颜色和边距、网格和 UI 元素(如触摸波纹和浮动操作按钮)进行更新的愿景。这些材料设计组件(material design components)很快便形成了谷歌材料设计指南,并回答了“什么是谷歌材料设计?”这一问题。
此次推出的谷歌材料设计规范是什么?这种新的设计语言被称为 Material You,它让“你”成为共同创造者,让用户能够改变他们所有的应用程序外观和感觉。谷歌的新材料设计三大主要原则是分别是舒适、突破和活力,这在 Android 12 上是如何实现的呢?
1 适配所有设备类型和尺寸是关键
随着智能手机的特性和功能不断增加,“一刀切”的传统做法已经过时了。用户界面(UI)需要以一致且人性化的方式对屏幕变化作出反应。响应式布局让用户可以将小部件适配到手机、平板电脑、可折叠设备和其他屏幕上。
适配所有设备
2 每个人都可以使用
通过 Material You,系统可以轻松调整组件的尺寸、对比度和线宽,以满足不同用户的可访问性(无障碍)需求。
3 基于壁纸的主题(或颜色提取)
意味着用户设置壁纸图像后,将自动生成基于该图像颜色的自定义调色板。为此,谷歌采用了一种带有材料颜色目标的聚类算法来确定哪些颜色为主色,哪些颜色为辅助色,哪些颜色只是搭配起来很棒,以便于之后将色调应用于界面的不同部分
基于壁纸的主题
4 可变字体技术
谷歌应用程序开始使用 Google Sans Text ,这是谷歌 Sans 家族的一个新成员。它们采用了可变字体技术,能够将一系列调整或变化聚合到一个文件中。该设计系统具备打破形式的自适应能力。
5 用灵活的形状代替阴影
最新的 Material You 引入了一个新的概念来突出显示对象。谷歌并没有过多地依赖阴影,而是利用形状来分离前景和背景中的物体。
用灵活的形状代替阴影
Material You 为 UI/UX 设计师带来的主要变化是定制的灵活性:新的颜色、高亮方式和动画。这是定制应用界面时需要考虑的另一个变量。我们在谷歌 I/O 大会上看到的内容看起来很棒,并产生了参与的意愿。与玻璃拟态和新拟态不同,Material You 看起来是经过深思熟虑的,易读且对用户友好。我喜欢谷歌材料设计语言的另一点是,它为设计统一设定了一个路线,并严格遵循。基本上,谷歌正试图创建一个统一的视觉环境,并且可能会覆盖他们的其他产品。虽然目前还不清楚具体的技术实施情况,但要让数量庞大的设备在新的设计理念下正常工作,还是有一定难度的。
6 表面效果也将引入这次更新中
比如当手机连接到充电器时,会通过闪烁来表示手机正在充电。灵活的形状是平滑的自适应布局的起点,也是展示表面交互而不堆叠的新方法。形状可以根据输入信息进行拉伸,自动调整滚动区域的范围。
表面效果
7 滚动条触底效果的引入
能够让用户知道滚动条已经滚动到了用户界面中可见内容的末尾。滚动条触底效果在自然的垂直及水平方向上提供了一个滚动停止指示器,这在所有应用程序中都很常见,默认情况下,安卓及跨平台都启用这一功能。新的滚动条效果取代了以前版本中的发光效果。
滚动条触底效果
8 动画细节可以让屏幕生动起来
反映出有机运动的精神。例如,如果清除屏幕上的所有通知,时钟就会放大。
动画细节
9 重新设计的小部件
为了将各模块拼在一起,让 Android 的 12 个小部件看起来和整体系统 UI 及主题一样可定制,谷歌添加了新的交互式控件,如复选框、开关和单选按钮,并使小部件的个性化定制变得更容易。谷歌还添加了动态颜色 API(Application Programming Interface,应用程序接口)来支持小部件使用系统颜色。
重新设计的小部件
Material You 的潜在影响:
对人和商业带来的变化
“我们目前还没有征服世界的计划”——谢尔盖·布林曾说。显然,这并不是指谷歌继续发布的设计变更(design changes)。还记得当前的版本是如何进入人们的生活吗?大量的空白、圆角、底部导航条和浮动操作按钮不仅出现在 Android 设备上,而且自然而然应用到网页端。当然,现在就对 Material You 的成功下定论还为时过早。然而让我们来看一看,它可能会给我们的生活和商业,以及移动应用程序开发带来什么变化和影响。
注解:设计变更是对产品进行的修改。它可以发生在产品开发过程的任何阶段。
1 形成终端用户的新期望
将设计语言视为一系列简单的设计模式是一个巨大的错误。与此相反,设计语言可以促使最终用户对与界面交互的期望。通常,如果市场垄断者传播了一种新语言,你就必须准备好跟随它。对于软件工程师来说,这意味着掌握一种新的方式来满足客户紧跟趋势的要求。远的不说,当“画中画”功能出现时,不到一年的时间,用户就开始期待他们使用的软件也有这个功能。
2 需重新思考移动应用程序开发的整体逻辑
Material You 改变了变形、选择途径、滚动操作,这为我们扩展了上下文。让我解释一下。在新一轮变化之前,开发材料设计相当简单:结构是建立在独立的非耦合模块上。换句话说,从 A 页跳转,请求的数据会显示在B页上。而根据新的材料设计标准和指南,界面切换将基于上下文的转换——就像主动画(Hero animations)一样。我们已经在谷歌 I/O 大会上目睹了,当通知从屏幕上消失时,时钟会变得很大,如图所示。
在这里你可以看到,在关闭上一个界面时,主界面是如何变化的。现在让我们想象一个更复杂的情况,当一个内容转换为下一个界面内容的一部分,而不是消失不见,这会是一种全新的过渡方式。这也是 Material You 的一部分。
3 软件开发过程可能放缓
尽管在 Android 12 测试版中就引入了新的谷歌材料设计语言,但 Material You 所带来的影响会更多地体现在其他界面和新版操作系统中。
Material You 预设了方向 ,但没有提供任何现成的方法来实现这一设想。换句话说,就目前而言,它只是一个尚未得到开发方广泛支持的概念。实现和重新设计新的小部件、形变和动画可能意味着应用程序开发的速度会严重放缓。团队需要多长时间才能开发出库和即用组件?没有人确切知道。在此之前,如果软件工程师根据客户需求从头开始创建一切,保守估计软件项目的开发时间要在原基础上增加3 0% - 40%。
Material You
如何改变软件开发
Material You 采用声明式编程的逻辑,它关注程序应该完成什么但不具体指定流程(这是命令式编程的一个特征)。
声明式编程的兴起有助于构建声明式 UI 的库和框架。一些选项已经可用,并且支持本地和跨平台 app 自定义及扩展材料设计的概念。
Flutter(Google 的 SDK,用于构建跨平台 App)。跨平台框架 Flutter 以及 Material You 都来自谷歌,而且众所周知,这个用于跨平台 app 开发的开源 SDK 是以用户为中心的。Flutter 已经提供了许多内置的交互式 Material Design 小部件。而且,组件和小部件出现在 Material You 的库中只是时间问题。此外,由于 Flutter 是使用其图形引擎来渲染小部件的,所以采用 Material You 原则应该不成问题。
Jetpack Compose 是谷歌推出的用于构建 Android UI 的工具包。谷歌投入了大量精力使其 UI 工具包能够支持材料设计。谷歌在 2 月份正式发布了 beta 版,并承诺所有的材料组件都将附带示例代码,因此忽略 Android 12 中 Material You 的安卓框架的潜力是不妥的。同时,到目前为止,Material You 和 Jetpack Сcompose 唯一的共同点是,它们都尚未正式发布。
Jetpack Compose 与 Flutter 一样都是声明式编程,其创建 UI 元素的逻辑和处理 UI 的代码处于同一个位置,并且有着更好的 UI 组件状态管理方式。虽然谷歌仍在为原生Android 开发工具包而努力,但是 Compose 的设计无疑是为了帮助软件工程师灵活地适应变化,从而更好地满足终端用户不断变化的品味。
Litho 是 Facebook 提供的用于在 Android 上构建 UI 的专用框架。除了使用声明式编程 API 来定义 UI 组件,Litho 还使用异步布局,来防止初步计算和代码生成过程中出现 UI 线程阻塞。
Litho 可以将计算与 UI 线程分离,从而简化并加快计算周期。与此同时,测量过程和布局过程在后台并行运行,在生产率方面,这与传统的 Android View 体系有很大的不同。作为一个稳定且成熟的平台,Litho 非常适合在 Android 上创建夺目的材料设计。
总结
就像市场垄断者带来的其他变化一样,Material You 声称自己是数字世界的潮流引领者。新的谷歌材料设计语言可能会传播得更广,而不仅仅局限于原生 Android 应用程序开发。而对于设计师来说,这是定制 UI 时需要考虑的另一个变量,其主要影响来自软件工程师。如果 Material You 引发了新的终端用户期望,我们则需要重新思考软件开发的整个逻辑。这反过来会导致软件开发市场速度放缓。在没有可用的专用库的情况下,实现动画并生动体现出 Material You 的交互特点,意味着要在原软件项目预算的基础上增加 30–40%。
虽然 UI 的声明式方法是我们努力的方向,但目前,没有任何现有框架宣称其支持新的谷歌材料设计语言。但好消息是,像 Flutter、Jetpack Compose 和 Litho 这样的产品正随着终端用户的需求而涌现并发展,为软件工程师提供了新的、便捷的方法来满足他们对谷歌的需求。
原文标题: Material Design App Development: What changes are coming with Material YOU?
文章来源:mobidev
原创作者:Yuriy Luchaninov
翻译作者:刘倩茹
授权获取:刘倩茹
文章审核:张聿彤、李泽慧、王翎旭
文章编辑:小小虫













































































