WWDC 18: 开发者的最初观感
前言
今年的 WWDC 如约到来。不像去年的高潮迭起:软件方面没有革命性的新框架,硬件方面也没有传说中的新产品,可以说最爱讲故事的苹果今年是低调得令人发指。CEO库克登台8分钟就出现3次口误,整体的叙事顺序也非常老套:iOS(1个小时)、watchOS(25分钟)、tvOS(10分钟)、macOS(35分钟)。最后的"One More Thing"否决了 iOS 和 MacOS 合体的可能,不过还是留下了将 UIKit 整合进 AppKit 这样振奋人心的好消息,坏消息是我们明年才能看到这一巨大进步。
性能优化
苹果系统方面的诟病由来已久。自从 iOS 7 变彩色之后,系统稳定性方面的问题可谓层出不穷,一方面是因为功能越来越多、架构越来越复杂而客观导致的漏洞积累;另一方面是苹果主观方面更注重每年新功能的推出而忽视原有系统的改善(当然新功能在提振股价方面效果总是优于修复漏洞)。但是这次 iOS 12 的更新是实实在在的做了一件利在千秋的好事:
- 应用启动速度提升了40%
- 键盘响应速度提升了50%
- 相机启动速度提升了70%
性能上的优化往往吃力不讨好:你必须拥有经验丰富的程序员,同时又愿意牺牲开发业务的时间回过头来去“还债”,而且在优化过程中并不能保证采用的方法就一定能带来性能上的提升。不过,这次苹果的优化效果明显,随之而来的是用户体验上的大幅改进。笔者在自己的iPhone 8上实测了相机启动,确实速度快不少。iOS 12 支持从 iPhone 5S 以上所有机型,性能优化可以说是实实在在得提升了每一个消费者的用户体验。
所以这次性能改进、Bug追踪、工具使用方面的 Session 数量果然非常之多,我们能看出苹果在这次 iOS 12 优化中积累了大量独到的见解和经验:
- Measuring and Optimizing HLS Performance
- Measuring Performance Using Logging
- High Performance Auto Layout
- Practical Approaches to Great App Performance
- Building Faster in Xcode
- Optimizing Your App for Today’s Internet
- Optimizing App Assets
- Advanced Debugging with Xcode and LLDB
- What’s New in Energy Debugging
- Behind the Scenes of the Xcode Build Process
- iOS Memory Deep Dive
功能迭代
WWDC 18 在功能迭代方面用一句话概括就是新系统、新应用、新框架。这次迭代的最直观的感受就是逼死第三方应用,我随便举几个例子:
-
Measure:利用 ARKit 开发出的测量工具。App Store 随便一搜,就能发现类似App: Tape Measure, AirMeasure, My Measures。从此看出,开发者不要在简单的AR应用上做文章了,很可能会被苹果连根拔掉。
-
Memoji: 动画表情。配合 Messages 几乎可以匹敌 Instagram 和 Snapchat 的相机功能,自定义表情的功能更是抄了脸萌的后路。目前没有开放接口的迹象,否则诸如微信等即时聊天工具又有新功能要加了。
-
Facetime:多人视频功能。至今没有弄懂其UI布局原理,尤其不清楚 iPad 上布局会是如何,多屏情况下又会如何;另外貌似是谁讲话、谁的头像就会自动放大,这种情况下,我很好奇有人抢麦时,UI会怎样变动;除此之外,是否会后续支持 Drag & Drop 也成谜。对于开发者来说,需要关注其在 iPad 多屏适配方面可能造成的困扰。
-
Screen Time:RescueTime iOS版,同时拥有时间管理和父母监管功能。其实我觉得苹果可以更进一步,来个番茄时间功能,可以从系统层进入免打扰模式,直接干掉大多数第三方应用。
-
Photos:更智能的照片应用,在搜索和分享上进一步提高。苹果目前做不到 Google Lens 级别的图像处理和分析,否则肯定又要逼死 Google Photos。
-
Siri Shortcuts:毫无疑问 Workflow 团队又一力作。开放的 Siri SDK 会整合各种操作流程,可以说是语音智能版的 Workflow。不过这一块我觉得开发者无需立即跟进,一来苹果 Siri 水平很低,此 App 刚出工作效率必然不高;另外这种风骚的一键操作比较适合高级玩家,普通消费者并不会成为主流使用群体。
应用方面,值得关注的 Session 有这几个:
- I Have This Idea For An App...
- Best Practices and What’s New with In-App Purchases
- Introduction to Siri Shortcuts
- Building for Voice with Siri Shortcuts
- CarPlay Audio and Navigation Apps
- Introducing Dark Mode
- Advanced Dark Mode
- New Localization Workflows in Xcode 10
- Integrating with Photos on macOS
- HomeKit Deep Dive
- Getting Ready for Business Chat
AI 与 AR
AI对应的 Core ML 和 AR 对应 的ARKit,以及由此衍生出来的 Siri、Animoji应用,已经成了苹果冉冉升起的两颗新星。
我们先来看人工智能方面。苹果去年推出了 Core ML。虽然当时引起了轰动,但因为人工智能本身并不成熟,加上已经训练好的相关模型实在有限,Core ML 一直不温不火,也没见什么其部署在什么知名 App 上。今年更新的 Core ML 2 在执行效率上快了30%,同时为了解决模型数量少的问题,苹果带来了全新的 Create ML,这样开发者可以用 Macbook 在 Playground 上训练模型,且时间控制在了48分钟以内,可以说是在机器学习落地上迈出了坚实的一步。但我依然认为人工智能或是机器学习很不成熟。不要说苹果,就算是 Google 这样拥有海量数据和 TensorFlow 这种完备解决方案的公司,Android平台都少见强大的第三方人工智能应用。所以对这一块开发者只需关注即可,无需全力投入。
AR 方面的 ARKit 倒是苹果的重头戏。苹果除了亲自出手开发了 Measure 这款 App,还邀请了 Adobe、Lego 等一系列公司参与进来开发强力的第三方 AR 应用。当然 Animoji 这种神器配合 ARKit 做宣传可以说是叫好又叫座。除此之外,第三方 ARKit 应用也雨后春笋一般地在 Apple Store 中的上架也证明了 ARKit 简单实用。
笔者私下与 Pokemon Go 团队的开发者交流,他们一开始采用了 Unity 引擎来实现 AR,但是效果一直不好;后来换成 ARKit 之后 iOS 平台上的 App 评分和用户粘性就开始大幅超越 Android 平台。
总之,开发者在 ARKit 上可以做进一步探索和投资,ARKit 的潜力和支持力度在未来几年一定是上升趋势。
另一个方面可以证明苹果对 AI 和 AR 的重视可以从 WWDC Session 的数量看出来——去年 AI 相关5个,AR/VR 相关2个;今年 AI 相关8个,AR/VR 相关7个, 翻了1倍还多:
- What’s New in Core ML
- Vision with Core ML
- Introducing Create ML
- Metal for Accelerating Machine Learning
- What’s New in ARKit 2
- Integrating Apps and Content with AR Quick Look
- Inside SwiftShot: Creating an AR Game
- Creating Great AR Experiences
- Understanding ARKit Tracking and Detection
- Metal for VR
总结
一款产品的使用者之中,10%是入门级用户,70%是普通用户,专家级用户只占20%。苹果今年 WWDC 的更新算是源于普通用户的需求,忠于绝大多数用户的使用体验。相比于去年激进的更新,今年更像是一个养精蓄锐的小年。这次 WWDC 在最后留下了一个整合 MacOS 和 iOS 的憧憬,希望明年能在在这方面看到"One More Thing"的惊艳。