【编者按】扁平化设计由于其简洁的外表,更少的按钮和选项使得界面干净整齐,从而减少认知障碍的产生。扁平化设计更是功能上的简化于与重组,相比于 拟物化而言,扁平风格的一个优势就在于它可以更加简单直接的将信息和事物的工作方式展示出来。本文来自Instagram一名工程师的分享。
以下为译文:
扁平化设计仅仅只是一个漂亮的外表,还是一个性能利器,从而触发一场UI革命?实践证明是后者。
Tyler Kieft 是Instagram一名工程师,他详细解释了这其中的缘由,更详细的内容请关注他在@scale会议上的演讲: 标准安卓手机上的Instagram 。这个演讲是由Facebook提供的,是“如何在实际情况下设计移动应用程序”系列的一部分,这里的“实际情况”是指那些手机速度更慢、屏幕更小、网络比美国更慢的地方。
为标准手机设计App和高端手机并不一样,Instagram团队需要重新思考他们的设计。从Tyler的谈话中得到的启示之一是转变到扁平化设计,因为这将让应用程序更美观、更实用、并且还能大大提高性能。
这的确出乎我的意料,我曾经认为扁平化设计只是构建更美观的UI。现在想想真是愚蠢之极。感谢Tyler如此详细的解释了扁平化设计的好处, Instagram说明了一切。
扁平化设计是反拟物化,它采用简单的元素、简单的排版、单调的颜色以及简单的设计。使用扁平化设计,Instagram可以减少120 ms的冷启动时间,同时应用程序更美观、更好用、并且更专注将内容传送到不同大小的手机上。那么扁平化设计是如何实现的呢?
转变到扁平化设计
- 为了更专注性能,Instagram重写他们的UI。
- Instagram在2012年发布Android版本时,只有3个人的团队,花了大约4个月完成。其中两个工程师,一个设计师。Android版本使用了和iOS版本相同的设计。
- 使用的丰富的渐变特性和大量的UI元素。
- 过渡到扁平化设计后,产品更简单和更美观。没有更多的渐变,没有更多的阴影。
通过采用扁平化设计,他们得到的经验是:
- 扁平化设计使开发量更小,开发代码更快、更新产品更快,这对开发人员来说是个好消息。
- 扁平化设计带来的是性能的提升,不仅开发人员做的少,而且速度更快。
- 新Android版本的目标就是利用他们从iOS7扁平化设计中学习到的经验来重新设计。
- 让它更扁平、更快。这不是重写,导航模式并没有改变。
- 要有强烈的屏幕空间意识。用全新的眼光看待每一块屏幕,尽量让设计能更好地适应所有的屏幕尺寸。
- 让它更美观。这是Instagram团队所做一切的基础。
整体效果发生了显著的简化,那么发生了那些变化呢?
- 去掉所有的渐变和光滑按钮。让图标回归鲜明的轮廓,取代渐变效果。保留纯色和扁平形状,以便UI融入背景。
- 去掉评论图标,使评论占据屏幕的全部宽度,给予评论更多的文本空间。屏幕上重点强调内容,让小屏幕手机用户有更多的空间来读正文内容。
- 拍照功能的重新布局。在小手机上,动作按钮设计在屏幕的顶部,而大屏幕手机所有的命令在底部。
- App上不必要的UI全部去掉,让用户更多的关注内容。chrome搜索屏幕从三层减为两层。这给了小手机很多空间,给内容很多空间。
为什么扁平化设计?
- APK将更小,这对小型网络非常适合。神奇的是Asset tinting(我从来没听说过的东西)。Asset tinting意味着assets,在这种情况下是图像、可以以编程方式着色。例如,一个灰色的心可以通过编程方式变为红色。
- 加载较少的assets。这意味着UI显示更快并且以更少的内存来存储位图。每个需要被显示的assets必须以闪存的方式读取并且解码成一个位图。越少这么做,App就会越快。
- 更快的迭代时间。如果你想改变颜色或重新开发,你不需要一个设计师了,需要的事更改代码和编译。
结果:
- 在扁平化设计之前,需要29个不同的assets来显示feed screen。扁平化设计之后,只用了8个。仅凭这些,就在所有设备上减掉120 ms的冷启动时间。
- 扁平化设计之后,整个App更快了。更少的assets被加载,整个App变得更灵巧,速度变得更快了。
改善冷启动时间
冷启动时间是指应用程序启动和响应的时间。目标就是让应用程序启动更快,让用户在低端手机上有一个好的体验。
几年前,在低端三星Y系列手机上 Instagram的启动时间是3秒,在高端三星S5上,启动时间是750 ms。
现在三星Y系列上 Instagram启动需要1.5秒。在三星S5上是400 ms。
怎么做?
- 配置App
- 找出是什么减慢了这个App的速度。
- 在Android上你可以使用method tracing,以及timing statements,两者兼用会事半功倍。
- 修复最慢的部分。
- 延迟加载。将项目从冷启动路径删除。
- 重写代码。例如,缓慢的JSON解析代码重写后会更快。
- 遵从后台线程。能在后台完成的不要在UI线程上做。
- 迭代。再次启动配置步骤。
App-wide 单例模式被发现是缓慢的。
- 很多重度单例模式先于App启动:HTTP客户机、Cookie存储、图像缓存、视频缓存。真的不需要这些东西来显示UI给用户。它们可以并行地在后台加载。
Two-part 延迟加载
- 在后台初始化单例模式,不要让程序员必须检查一个单例模式是否是可用的。
- 在UI线程上创建足够的对象,以便完善公共API功能。将功夫用到后台线程上。缓存从磁盘存储打开和阅读,客户端证书在后台加载。Cookies反序列化和解码在后台。通过这些改变,UI将更快地出现在屏幕上。
Newsview变慢,通过method tracing发现。
- Newsview,显示你所有的喜好和评论,最初作为webview编写。它需要在启动时加载,以便尽可能快的显示用户数据。
- 问题是没有控制webview,它有它自己的堆栈和缓存系统。转换到本地,需要2 - 4周。本地转换后的冷启动时间减少了30%。
经验
- 快速冷启动时间是可以实现的,通过配置、修复、迭代。
- 审慎使用像素。看看每一个屏幕不需要什么。其他国家用户手机的屏幕显著小于美国的。
- 移动手机喜欢简单的设计,移动开发者也是如此,他们喜欢更简单、更快的设计。
相关推荐
例如,一个电话图标的扁平化设计可能会是一个简单的电话机轮廓。 4. **排版与布局**: 扁平化设计注重空间的合理利用,通过简洁的布局和清晰的排版,确保用户可以快速扫描和理解屏幕内容。字体通常选择无衬线,...
扁平化设计是现代UI设计中的一个重要趋势,其特点是去除多余的装饰效果,强调简洁、清晰的视觉表现,使用户界面更易理解和操作。"Awesome Kit"可能是一个设计工具包,包含了多种元素和组件,帮助设计师快速高效地...
来自一个非开源的框架基础上设计的现代扁平化的UI设计案例,整体设计是基于C#的winfrom实现,适合一些简单的桌面应用开发工作者和学习者。该资源可作为一个简单入门的UI界面设计经典案例作为学习参考,希望能够给...
ExtJS 是一个强大的JavaScript 框架,专用于构建富客户端...通过自定义主题和调整组件样式,你可以创建一个既现代又高效的扁平化Web应用程序。记住,扁平化设计的关键在于平衡简洁性和功能性,以提供优秀的用户体验。
在"扁平化网页设计模板下载"中,我们可以推测这是一个包含多个扁平化设计元素的网站模板集合。这些模板通常由专业设计师精心制作,适用于各种类型的网站,如企业官网、电商网站、个人博客等。它们以简洁的线条、色块...
扁平化设计是近年来在网页设计领域中兴起的一种设计理念,它摒弃了过度的装饰和立体感,强调简洁、清晰的界面。扁平化设计的核心理念是减少视觉层次,使用户更容易理解和操作界面。在扁平化设计中,图标、按钮等元素...
例如,一个电话图标的扁平化版本可能只是一个轮廓化的电话形状,没有立体感或阴影,但依然能一眼识别出其含义。这种设计风格使图标更易于理解和记忆,同时也适应了小屏幕设备的显示需求。 “常用”一词意味着这些...
扁平化设计是一种现代且简洁的设计风格,源自北欧风格和极简主义,强调以“信息”为核心,去除多余的装饰元素,减少视觉复杂性,提升用户体验。这一设计理念符合当前数字世界的需求,适应了快节奏生活下用户对于快速...
5. **长阴影**:长阴影是扁平化设计中的一个标志性特征,它赋予图标以方向感和深度。通过在图标底部添加一个与光源方向一致的长投影,可以在二维空间中创造出一种三维的错觉,使得图标更具立体感。 6. **厚度感**:...
扁平化设计素材 扁平化随着社会的发展越来越得到重视,而且ios7也采用这种形式。
综上所述,扁平化设计的色彩选择是一个灵活多变、创意无限的领域。它鼓励设计师打破常规,勇于尝试新的色彩搭配,从而创造出既美观又实用的设计作品。在实际应用中,设计师应该注重色彩与设计内容的协调,注重色彩...
【标题】"漂亮扁平化后台模板"是一个专为企业信息管理系统设计的前端界面模板,其特点是采用了现代设计趋势中的扁平化设计理念,使得界面简洁、直观,易于用户操作。扁平化设计强调减少视觉层次,去除冗余的装饰效果...
在"QT 扁平化自定义风格界面TabWidget为核心"的主题中,我们将深入探讨如何利用QT框架创建一个扁平化的界面,这种风格通常与移动应用的设计趋势相吻合,既简洁又时尚。 首先,`mainwindow.cpp`和`mainwindow.h`是主...
扁平化设计的另一个显著优势是易操作性。它主要体现在以下几个方面: 1. 清晰的层级结构:扁平化设计强调信息的层次和逻辑,通过颜色、大小、位置等视觉元素,使用户能快速理解页面结构,找到所需信息或功能。 2. ...
【扁平化设计】 扁平化设计是一种现代的、简洁的设计理念,它摒弃了过多的装饰元素,如阴影、渐变、纹理等,强调界面的清晰度和易用性。这种设计风格起源于微软的Windows 8操作系统,后来在iOS系统中被广泛采用,...
【扁平化设计手册】是关于现代设计趋势中的一种重要风格——扁平化设计的详细指导。扁平化设计强调简洁、清晰和易用性,它抛弃了过度的装饰效果和立体感,转而采用基本的形状、色彩和字体来构建界面。 在扁平化设计...
在本例程中,我们关注的是“易语言扁平化设计登录界面”,这是一个利用易语言模块HTMLayout界面类.ec实现的登录界面设计。 扁平化设计是现代用户界面设计中的一个重要趋势,它摒弃了过多的装饰元素,强调简洁、直观...
按钮扁平化设计是现代用户界面设计中的一种流行趋势,它摒弃了传统的3D效果,转而采用简洁、平面的元素,使界面看起来更为清爽、直观。在本压缩包中,我们很可能会找到实现这一设计风格的代码示例。 扁平化设计的...
【蓝色扁平化设计HTML5模板】是一种网页设计资源,主要特点是采用了当下流行的扁平化设计风格,并且以蓝色为主色调。...总的来说,"蓝色扁平化设计HTML5模板"是加快网页制作进程、提升网站视觉效果的一个实用工具。
结合压缩包子文件的文件名称“BTNtest”,我们可以猜测这是一个与扁平化按钮相关的测试项目或示例程序。 总结来说,MFC实现的扁平化按钮是通过自定义控件类CXPButton,扩展了MFC标准的CButton类,提供了一种在MFC...