为什么iOS的过渡动画看起来很舒服?

AV功力对比:Android 上有能像 iOS Live Photo 那样可以精准控制视频的原生框架么?之前一家公司请了位音视频专家才搞定。

为什么iOS的过渡动画看起来很舒服?

控制

  • iOS 理解屏幕刷新对于交互的意义,给开发者提供了很多可以编写交互式动画、并且使用简单的接口:例如,iOS 的 CADisplyLink 是交互式动画的好帮手,很轻松的就可以根据屏幕刷新来「定义运动的方式,交互输入控制运动的走向」,而 Android 提供的更多是「定义运动的方式和走向,要想控制你要自己写」。用容易使用的插值器?改过几个交互式效果,很不理想。用 Choreographer ?太麻烦了,感觉像自己在造动画器。
  • 无法编程实现,就用帧动画:国内很多 ROM 里面的动画其实就是序列帧动画播放器。安卓开发者首先要保证序列帧体积小,编写序列帧循环池来降低内存负担,提高播放性能,而 FrameAnimation 这种动画本身的控制能力就差。(对比去年热点动画,人工智能语音助手,图形学 Siri vs 众多序列帧 Form/Particular/Tao 球)
  • 事件监听:就手势而言,iOS 的 GestureRecognizer 能比 Android GestureDetector 提供了更多的控制,也能获取到更多的对象信息,这为交互打下基础。写法上,iOS 也更舒服。iOS 大致步骤是:给对象添加具体的GestureRecognizer(点击、拖拽 等),再定义这种手势具体状态下的行为(开始、变化、结束、取消)。而 Android,你需要根据手势的具体行为去判断是何种手势,是拖拽?还是长按?虽然更自由一些,但是很容易不精确定义手势。

工具/教育开发者

官方的 Quartz Composer 让你在研究 Apple 图形功能的时候还可以 WYSIWYG 的开发滤镜

为什么iOS的过渡动画看起来很舒服?

Core Image Filter

  • Powered by Core Animation 的原型工具 Principle | Kite Composer | Core Animator
  • 除此之外,大量的 Mac 端开发者工具,从图标、设计,再到原型,让你舒舒服服的开发。
  • 每年的 WWDC 大量 设计结合开发的 Session 提高了 iOS Developer 的追求上限。

国内现状

  • 要快:一快遮百丑,大部分消费者认为 「开启速度快」就是最好的,媒体也一直在这样引导用户。

安卓开发者的取向:ROM 开发者很少研究安卓动画部分知识,需要精力研究底层、优化、省电。没有从运动公式、屏幕刷新、渲染整套流程思考安卓动画问题,而且这也不能体现实力和绩效。而业内的安卓高手,好像不喜欢在 ROM 公司工作。

设计师曲线万能论:GUI 动画问题的根源在于 GUI 平台的局限性,设计师很少了解绘制、动画、图形开发层面的具体实现,以为动画曲线、弹性的实现是问题所在,而这只是整个过程的第一步,是问题的冰山一角。

脱离实际的产品设计流程:对安卓的理解仅限于本公司 rom 的控件,对原生安卓的了解十分有限。设计师在理想化的设计工具里纸上谈兵,却对实际环境中所可能遇到的问题了解有限,让提线木偶开发者上阵斗恶龙,一方面是设计的偏差,一方面会导致情绪化的沟通。

市场因素:赶工,赶工,赶工,激烈的市场环境,动画方面每个项目都很难耐心去好好做,去吃透这一部分的来龙和去脉,所以事后经验梳理起来很难由浅入深。

热点优先:热点吃香,较为基础的体验没人管,在基因不符,公司 DNA 不对的情况下追热点(AI、VR、AR、语音),和各种热点领域和各种巨头合作,而这些合作却没有培养出内部相关技术的种子,最后几乎都靠向高通、商汤、讯飞购买技术,有布局,无成果。内部人员吃不透高级技术,那么一旦遇到稍微复杂的动画开发基本就束手无策,或者采用设计上最不优雅的实现。

对帧率的理解停留在早期影视行业

:移动端 60 FPS 才是标准,30 FPS 真的肉眼可见的不流畅,在不少 ROM 厂商的 Frame Animation 是 30FPS 渲染出来的。

为什么iOS的过渡动画看起来很舒服?

尽管安卓手机上出现了越来越多的新兴技术,但 iOS 7 的基础动画体验至今让我感到难以超越,现在的安卓厂商都已经忘了对日常细节的追求,他们只在意新的热点。

当你作为“制作者”,上手尝试在安卓上优化这些体验,却发现难以逾越,有平台的局限,也有国内整体设计开发人员能力的局限。


分享到:


相關文章: