iOS中负责实现视觉交互的5个核心技术

2021-09-09 14:07:50  31 浏览  0 评论   赞

关键性的图形技术;UIKit;核心图形 (Core Graphics);核心动画(core Animation);opengl ES

iOS中负责实现视觉交互的5个核心技术

图15752-1:

本文是《ios Wow Factor:Apps and UX Design Techniques for iPhone and iPad》第五章译文精选,上一篇:Wow体验 - 第四章 - 为应用的上下文环境而设计

iOS是设计师们得以施展技能的绝佳舞台。同时,苹果也向开发者们提供了一系列专业化的技术方法,帮助他们从容应对各种复杂的设计方案所带来的挑战。

伴随着技术的革新与发展,越来越多的交互体验模式正在孕育而生。设计师的创作思路得以扩展,技术开发人员也拥有了更多高效的方法和工具来准确的实现设计方案。设计与开发之间的障碍正在被各种新技术不断的突破,项目中一些职能角色的性质也在发生着变化,越来越多的设计师超越了相对传统的专职领域,开始直接进行开发方面的工作。

对于团队来说,那些同时掌握着设计与开发技能的人员是非常有价值的。我们所说的这种“掌握”不单单是指对于技术概念或术语有基本程度的了解,更重要的是,设计师需要对开发技术在各方面的特性及优缺点做到心中有数,并能针对这些特性来创造最合理的设计方案。

当然,要设计人员或团队完全精通某种开发技能,并且在相关平台中有过大量实战经验,这是不现实的,也没有必要。不过,如果设计师曾经切身实践过开发方面的工作,或是参加过相关的内部培训,那么这些经历通常可以有效地帮助他们打造出更具可行性的设计方案。另外一方面,不妨向更加专业的技术人员进行请教,让他们帮忙找出那些有可能对设计方案的实现与还原造成影响的潜在因素。

接下来,我们将一同了解一些在iOS当中负责实现各种视觉交互表现形式的核心技术,并对它们各自的功能进行分析。这些技术知识会帮助你对设计方案的可行性及相关的开发方式做到心中有数。

除此之外,我们还将了解一些其他方面的话题,包括界面外观的自定义、通用型应用、原生应用与Web应用的差异等。

关键性的图形技术

作为设计人员,你需要对四种关键性的图形技术有所了解。它们可以被分为两大类,第一类是用于支持iOS本地渲染的苹果专有技术,而第二类涉及到OpenGL,这种第三方技术可以有效地利用硬件加速功能渲染复杂的图形。怎样从设计的角度来理解这些概念呢?简单的说,第一类技术用于打造用户界面及相关交互元素的视觉表现形式,而与OpenGL相关的第二类技术的主要作用,则是在游戏或类似的上下文环境中对各种极端复杂的图形和动画效果进行即时渲染。

需要注意的一点是,这些技术虽然各司其职,但并非只能专门用作各自的上下文领域。通过对这些技术的作用加以理解,你就可以对设计方案的实现方式做到心知肚明。特别是当你正在尝试一些独特的交互形式的时候,对于相关实现技术的了解就显得尤为重要了。

UIKit

UIkit是用来打造iOS应用的最重要的图形技术框架,它提供了用于构造触屏设备用户界面的全部工具和资源,并在整个交互体验的塑造过程中扮演着至关重要的角色。

设计方案中的绝大部分内容都需要通过UIKit来实现,因为用户在iOS中所接触到的任何一种用户界面控件都由它来负责定义和输出,包括基本的按钮、滑块、文本域、切换开关等。除了这些标准控件之外,UIKit还提供了很多方法来帮助我们对控件的外观进行自定义。所以在界面元素的视觉表现形式上,我们不必受制于各种控件的默认样式。外观自定义工作还会涉及到我们将要在后文中了解到的其他图形技术,但是相关的解决方案都是由UIKit在整体上控制的。

除了能够使用你所指定的图形文件(例如PNG图片)对界面控件的外观进行自定义之外,UIKit还能够程序化的渲染图形对象,换句话说,它可以按照我们设定好的规则来绘制图形。UIKit在这方面的能力与一些常见的矢量图形绘制技术很相似。在类似的方法中,我们通常需要定义最基础的几何图形或路径,然后为这些路径赋予具体的视觉属性,以实现设计中的目标样式。不过有一点需要提醒一下:这种程序化的绘图方式确实可以对生产效率起到一定的提升作用,然而另外一方面,你却需要花费更多的时间与精力去跟进到接下来开发流程当中,以确保技术人员所定义的图形属性可以精确的还原你的设计方案。在实际项目中,最好能够在开发流程之前与相关的技术人员一同对设计方案中的每一个细节进行充分的评估,确定一套最合理的图形技术方案。

核心图形 (Core Graphics)

核心图形是用来实现用户界面视觉设计方案的重要技术框架。这套框架的核心是名为quartz 2D的二维图形渲染引擎,它不仅可以动态地渲染很多不同种类的图形,而且还可以使应用具有创建和编辑图像的能力。

你可以将核心图形理解成一种能够帮助你扩展产品功能的技术框架。相比于UIKit,它更擅长于处理那些较为复杂的图形;不过在必要的时候,也可以用来对普通用户界面元素进行渲染。相比之下,UIKit在界面外观自定义方面的支持能力更强。所以,只有当设计方案涉及到相对复杂的图形变换、队列处理和即时合成等方面的需求时,核心图形技术框架才能真正体现出它的优势与价值。

核心动画(core Animation)

核心动画向开发者们提供了一套用于创建和渲染动态交互效果的简单易行的解决方案。换句话说,这项技术可以让你的设计方案真正动起来。通过与UIKit的紧密配合,核心动画可以将界面交互对象与动画过渡效果进行完美地整合。

作为一种强大的技术工具,核心动画的能力范围是非常广泛的,它能使开发者在很多不同的层面上创建并控制交互对象的动画属性,而这对于设计师来说,则意味着能够实现的独特而高度定制化的动画效果的可能性几乎是无限的。

opengl ES

opengl ES与前面几项技术有所不同,它并非苹果所创造并独有的。OpenGL ES是面向嵌入式设备的OpenGL 3D图形应用程序接口(API),它必须与核心动画协同配合,完成2D或3D图形内容的渲染输出。

opengl ES可以通过硬件加速功能来渲染那些极端复杂的图形,所以这项技术通常被用来在游戏当中绘制那些需要进行即时渲染的3D图形。不过它的能力不限于此,通过与我们在前面了解到的那些技术的整合,它同样可以被用来渲染普通的元素,甚至还能以全3D的方式打造整个应用的界面环境。

是否有必要在应用的开发中使用这项技术,最终还是取决于设计方案所要求的视觉表现形式。对于那些没有必要通过硬件加速功能来即时快速渲染的2d或3d图形,其他技术同样可以胜任。不过,如果你希望借助强大而复杂的技术工具对那些具有实验性质的视觉交互形式进行探索和挖掘,那么opengl ES的强大能力将不会让你失望。

 

转载请注明:网创网 www.netcyw.cn/b15752.html

赞 ()
发表评论
  • 昵称
  • 网址
(0) 个小伙伴发表了自己的观点
    暂无评论

Copyright © 2018-2019 小王子工作室 版权所有 滇ICP备14007766号-3 邮箱:yangzy187@126.com