WWDC2018新功能及特性

WWDC2018发布会

本次WWDC发布了iOS12、macOS Mojave、watchOS 5以及tvOS 12在内的新版操作系统。

iOS12 -性能与新特性齐头并进

1、专注于性能优化。所有兼容iOS11的机型都将能使用iOS12.得益于CPU响应机制的优化,iOS12在新旧机型上都有良好的表现。据苹果介绍,iOS 12 将使得 iPhone 或 iPad 的操作更加快速和灵敏,比如应用启动速度最高提升 40%;键盘显示速度最高提升 50%,键盘调出的速度比以往更快,输入也更加灵敏;从锁屏界面中启动相机的速度最高提升 70%;高负载下 app 启动速度最高提升 2 倍。

2、AR:苹果联合皮克斯在内的3D巨头创造了一种新的AR格式,USDZ,同时对ARKit进行了多项升级使其更好的融入生活。

3、Siri Shortcuts(快捷短语)。Siri支持在App中创建或定制命令,以便快捷的执行操作。

4、防沉迷。iOS新增了屏幕使用时间功能。具体来说,这项功能通过统计你花在各个app、网页浏览上的时间,以及接收通知和拿起手机的频率,让你能够系统的了解自己使用手机的习惯,从而帮助你合理安排花在设备上的时间。

5、动画表情(Animoji)和拟我表情(Memoji)。在iPhone X及以上机型支持创建拟我表情,可以通过选择皮肤、发型、头型、眼睛、眉毛等特征来创建自己的卡通形象,然后用在信息 app 或者 FaceTime 通话中。

WWDC2018新功能及特性_第1张图片
image

6、FaceTime通话。在iOS12中新增了群聊功能,最多可支持32人同时进行通话。其次,还新增支持动画表情和拟我表情。

watchOS 5 - 成为更好的智能助手

watchOS立志成为人类更好的智能助手,此次也在人工智能方面做出了改进。

1、更好的健身助手:通过大数据分析,watchOS能更准确的估计运动消耗,并支持好友间的竞赛。

2、更智能的Siri:和iOS12同步支持快捷语句、提供更准确的预测功能。

3、对讲机功能:支持一对一的对讲。

tvOS 12 - 视觉和听觉的盛宴

最新发布的tvOS 12为Apple TV 4K加入了杜比全景声支持,使用户在4K和HDR画质的基础上得到更好的观影体验。

macOS Mojave - 更专业,也更亲民

1、夜间模式:暗色的背景为专业的图像处理人员、视频编辑人员和开发者带来了更舒适的体验;

2、桌面文件智能分组,让用户从杂乱的桌面中解脱出来。

3、全心的Mac App Store。

4、iOS app的移植 - 包括股市、语音备忘录和家庭:macOS Mojave发力了一项令开发者期待已久的实验,通过与iOS共享Foundation等底层框架,让iOS app在仅需少部分代码改动的情况下被移植到Mac OS上。这项瞩目的功能目前在苹果原生app上得到了实践,并预计在2019年开放给广大第三方开发者们。

针对开发者的教程

对于iOS开发者而言,苹果在WWDC上为开发者带来的一系列课程则更有实践意义。通过这些课程,开发者可以更细致的了解iOS12的新特性以及其在开发上的应用;而课程中对原理和最佳实践的讲解也对开发者提供了丰富的指导。下面我们将以iOS开发者的角度窥探WWDC 2018带来的革新。

正如苹果的高级副总裁Craig Federighi在发布现场所说的,iOS12在专注于性能和稳定性的同时,对ARKit、Siri、通知中心进行了改进。想要了解iOS12具体带来了哪些新特性,Cocoa Touch革新 一文是一个精准的切入点。从这篇文章中,我们能了解iOS12在以下几个方面做出了重大更新:

性能提升

iOS12对性能和稳定性的专注,使得它成为支持设备最多的iOS系统

1、scrolling。在iOS12中首先对scrollview的滑动做了预加载数据和CPU计算优化。在iOS12中有了prefetch API,这个API可以提前异步的去进行数据的获取,所以在滑动的时候绘制Cell那一帧时间里就省去了数据获取的步骤,只负责cell的绘制就够了,这样就大大节省了CPU的开销。

在UITableViewDataSourcePrefetching这个protocol中,也就两个方法:

protocol UITableViewDataSourcePrefetching {

func tableView(_ tableView: UITableView, prefetchRowsAtindexPaths: [IndexPath])

func tableView(_ tableView: UITableView, cancelPrefetchingForRowsAt: indexPaths [IndexPath])

}

这两个方法中必须实现的就是prefetchRowAt这个方法,你可以把一些耗时的数据获取工作放在这个方法中。这样就可以在cell显示之前提前获取数据而不用等到cell绘制的时候另外占用CPU开销。

2、iOS对图片的内存优化。Automatic Backing Store。在iOS12的SDK中默认会在下面这三个方法中进行。

  • UIView.draw()

  • UIGraphicsImageRenderer

  • UIGraphicsImageRenderFormat.Range

所有与图片渲染相关的API都可以使用Automatic Backing Store,如果想要了解详细使用情况的话,可以看这个sessionImage and Graphics Best Practices

3、高性能 AutoLayout High Performance Auto Layout

iOS12对AutoLayout做出了革命性的性能优化。此前,AutoLayout一直是业务开发中一大性能瓶颈,以至于部分app不得不忍痛舍弃对AutoLayout的使用来缓解掉帧等性能问题。而这些问题在iOS12之后很可能成为历史。

文章通过对AutoLayout底层原理的讲解,向读者展示了AutoLayout的运作方式。同时给出了AutoLayout使用上的最佳实践,帮助开发者编写一个高性能的布局。

4、优化 App Assets Optimizing App Assets

在一个iOS app中,资源文件也是及其重要的一部分。如何在应用中通过使用assets达到最好的视觉效果和最高效的使用视图资源,也是每个开发者应该关注的部分。

文章概述了iOS12针对资源文件产出的新特性。介绍了如何使用asset catalog来最优化的组织、优化、制作视图资源,如何更好的简化设计和开发人员之间工作流程。通过使用视图asset,可以提高应用的交付质量,占用更小的空间,受益到更多的用户。

5、使用Xcode做更快的构建 Building Faster in Xcode

除了iOS12运行上的性能提升,苹果还在最新发布的Xcode10上对构建速度与开发效率进行了优化。

文章讲述了Xcode 10与提高构建速度和开发效率相关的新特性,从工具、环境、代码以及语言语法等多个方面介绍了加快构建速度的细节。通过了解Xcode在构建速度上的优化原理,开发者可以更好更高效地进行日常开发工作。

Swift

Swift从诞生以来就是每年WWDC备受关注的焦点之一。越来越多的开发者和企业开始转向于使用Swift进行开发,Swift相关的课程也越来越受到包括字节跳动的工程师们在内的开发者的重视。

Swift 4.2革新 What's new in Swift

WWDC2018发布了Swift 4.2版本。主打两方面的更新:一是关注提升开发人员生产力,开发者可以看到项目构建速度的提升和利于开发的语言改进;二是在二进制兼容性方面进行了大量的努力。

文章介绍了Swift 4.2在这两方面的革新,同时对部分改进细节进行了原理剖析。

Swift 泛型 Swift Generics

泛型设计对于Swift语言来说是一个很重要的特性,能够既保持静态类型的特点又能够达到代码重用的目的。

文章主要探讨了Swift泛型特性设计上的思考和新特性的应用方法,帮助开发者更好的理解和使用泛型这一特性。

了解Swift Package Manager Getting to Know Swift Package Manager

包管理一直软件开发和管理中重要的一环。Swift Package Manager是Apple官方提供的软件包管理器。

文章深入介绍了Swift Package Manager的优势、基本概念和常用用法,记忆它的架构和设计思想。同时阐述了为什么Swift Package Manager是一个安全、高效而且使用简单的软件包管理器。

创建属于你自己的 Swift Playgrounds 订阅 Create Your Own Swift Playgrounds Subscriptio

苹果推崇人人都能使用Swift编程,在Swift的教育方向上做出了持续的努力。Swift Playgrouds就是为此诞生的一款革命性的iPad应用。

文章介绍了如何利用WWDC2018中新推出的模板工具制作出属于自己的 Playground Book 以及如何托管自己的订阅源并分享给他人。

AR

今年的WWDC发布会上,ARKit的更新作为iOS12的一大亮点被隆重介绍。

ARKit2 革新 What’s New in ARKit 2

ARKit 2是本次WWDC重点推出的更新,它使得开发生动的AR体验的程序变得更容易,并提供了全新的方式与真实世界进行交互。

文章主要讲述了ARKit 2的新特性。ARKit 2开始支持多台iOS设备同时查看同一AR场景或享受多人AR游戏,及提供2D图像和3D物体的检测与跟踪等新能力。

AR Quick Look 概览 AR Quick Look

AR Quick Look 是iOS12推出的在AR场景中快速展示3D模型的新技术,使用便捷。

文章主要介绍了预览页QLPreviewController的使用以及新型的3D模型文件格式.usdz,并且介绍了官方对于创建并优化3D模型的建议。开发者可以使用Xcode10自带的usdz Converter工具,轻易地将现有的3D模型资源打包成.usdz文件,集成到App或者Html中,快速预览AR场景中的3D效果。

最佳实践

WWDC中,除了对iOS12新特性的介绍,还有不少课程为开发者提供各iOS版本通用的原理和最佳实践的讲解,指导开发者提升代码稳定性、优化性能。

高效使用集合 Using Collections Effectively

集合是日常开发中频繁接触的对象,理解集合、使用好集合也是每个iOS开发工程师必备的技能。

文章介绍了和集合相关的概念, 用法, 以及一些性能上的注意点, 从而指导开发者高效, 安全, 优雅的使用集合。

深入解析iOS内存 iOS Memory Deep Dive

内存是有限且系统共享的资源。对内存不合理的使用很有可能会引发OOM等严重问题。

文章介绍了虚拟内存分配机制以及开发者需要控制的内存占用部分,并推荐了通过命令行工具分析记录内存信息memgraph文件的调试方式。此外,苹果工程师也在此给出了一些不同场景下如何合理使用内存的建议。

图像最佳实践 Image and Graphics Best Practices

在日常app开发中,图片处理是开发者们经常遇到的挑战。如何让图片展示更快、占用内存更少?

文章重点关注iOS系统如何处理图片,包括UIImage,UIImageView,custom drawing in UIKit,advanced CPU and GPU techniques四部分,旨在帮助app提高性能,减少内存占用。

测量和优化HLS性能 Measuring and Optimizing HLS Performance

HTTP Live Streaming是苹果推出的流媒体网络传输协议。

文章通过对流媒体直播回放过程的解刨,讲述如何准确测量HLS流媒体性能,定位和优化HLS性能瓶颈以及如何正确使用Master Playlists来提升用户观看体验。

Web安全策略 Strategies for Securing Web Content

帐号登录

web是app中经常使用的,也是很容易受到安全攻击部分,它远远没有大家想象的安全。本文列出了常见的三种攻击手段:跨域攻击、预测执行攻击、窗口控制攻击,尤其是预测执行攻击,对于大家常用的UIWebView来说是根本无法防御的。本文总结了以往的安全防御手段,并介绍了新推出的Cross-Origin-Resource-Policy 和 Cross-Origin-Window-Policy,针对这三种攻击手段,给出了全面的防御手段。

你可能感兴趣的:(WWDC2018新功能及特性)