前言
每年的 WWDC 都是 iOS 開發者集體高潮的時刻。第一天的 WWDC 帶來了全新的 iOS 11、MacOS、tvOS 和 watchOS,革命性的 AR 和 ML 應用,以及更強的 iPad、“硬件神獸” iMac Pro 和智能音箱 HomePod。我想從開發者的角度,聊聊這次大會給我的印象和感受。歡迎大家在評論中談談自己的看法。
機器學習
恐怕沒有哪個詞的頻率高過 Machine Learning,它也是貫穿各個平臺的關鍵詞匯:watchOS 的表盤,macOS 上照片流的分類,Siri 的上下文理解、翻譯、預測,手寫筆記的直接識別和搜索支持,甚至 Mac 系列芯片和 Metal 的更新都表示支持機器學習。iPhone 上人臉識別甚至比 Google Pixel 快出6倍。可以看出機器學習已經完完全全得融入到了 Apple 的全平臺、全應用、全硬件。
而作為開發者,最令我激動的是 MLKit 的發布。蘋果帶來了自己的模型,你只要不停的運用數據喂養它即可。這意味著我們今后的 App 將變得更加動態化 -- 隨著用戶使用的增多,App 將越來越智能和強大。
原來的路線是 App 發布 -> 用戶反饋 -> 線下產品經理分析 -> 程序員優化 -> App 更新;今后的路線可能是 App 發布 -> 用戶反饋 -> 機器學習 -> App 更新。這次 Apple 還推出了急速審核(40分鐘過審,摩拜單車團隊已驗證)和灰度發布的兩大功能,也許就是為了給機器學習能自主的更新 App 鋪路。目前蘋果公布的 API 主要支持視覺識別、自然語言以及游戲 AI。
相關鏈接:
- Build more intelligent apps with machine learning
- Machine Learning API (Core ML)
- Introducing Core ML
虛擬現實和增強現實
這些年虛擬現實遭遇了過山車式的變化。先是遭到資本瘋狂追逐,大廠如三星、HTC 重金投入,索尼也趁勢推出了 PlayStation VR;然后是 Pokemon Go 的大火,仿佛虛擬現實和增強現實的元年已經到來;突然,Facebook 的 Oculus 線下200家體驗店關門;樂視的虛擬現實部門倒閉走人;直到上個月的 Google IO,Day Dream 的更新也表現平平。大家都認為,VR/AR 只是個概念炒作,充其量在游戲上起到錦上添花的效果。
直到今天。如同當年普魯士一統德意志,蘋果姍姍來遲,卻在一出場就技驚四座。
Metal 2 十倍于當前性能的圖像處理技術,芯片的升級和“硬件神獸” iMac Pro 的出現,讓蘋果在 AR/VR 上的雄心彰顯無遺。現場的星球大戰 VR 以及 iOS 11 即時戰場 AR 展示完全顛覆了我對 AR 的認知 -- 要知道,這可是無需沉重的頭套、專用的手機,直接用 iPad 即可完成的事情。
同樣,Apple 推出了全新的 ARKit 來供開發者使用。配合 iPhone 和 iPad 上強大的傳感器以及全新的 GPU、CPU,我們開發者可以使用 ARSession 這個共享單例來在攝像頭上實現 2D 和 3D 的宏大場景構建。
相關鏈接:
- Metal 2
- Introducing ARKit
- Augmented Reality API (ARKit)
- VR with Metal 2
- Introducing ARKit: Augmented Reality for iOS
Swift 和 Xcode 9
Swift 毫無疑問是開發者關心的頭等大事。作為蘋果的野心,Swift 引入了很多非常先進的思路。然而令我有點失望的是,這次 Keynote 卻對 Swift 和 Xcode 9 只字未提。
不過從現場看來,Swift 這次的更新主要是 API 的優化上,對現有的標準庫進行了11項更新和1處新增,主要集中在基本數據類型和文件系統上。
Xcode 上,目前發現的更新主要是多個模擬器同時運行(雞肋,估計會卡),本地化,runtime debug 工具,持續集成,和源碼管理。
我們只能期待秋季的蘋果發布會上 Swift 4 進一步的更新了。有意思的是,之前 Swift 之父 Christ Lattner 寫了篇總結文:Chris Lattner 對 Swift 3 的總結與對 Swift 4 的展望。另外大家如果關心 swift-evolution 這個開源庫,Swift 4 的新功能應該可見一斑。
相關鏈接
- Introducing Swift 4
- Localizing with Xcode 9
- What's New in Signing for Xcode and Xcode Server
- Debugging with Xcode 9
- Finding Bugs Using Xcode Runtime Tools
iOS 11
這次 iOS 11 更新可以說是全面徹底。從基本的功能升級到 App 新功能添加,再到 iPad 平臺 UI 重構。主要集中在這幾個方面。
iPad
為 iPad 全新打造的 iOS 系統,多任務、分屏 UI,Docker 工具欄。虛擬現實和增強現實的引入,以及對機器學習的支持。總體來說,消費者很開心,開發者又有新的東西可玩了。同時我覺得 iPad 越來越向 Macbook 看齊了。
App
- App Store 全新設計
- Files 文件管理軟件放出
- 開放 Apple Music
- Apple Pay 新的轉賬功能,注意 NFC API 接口開放,是不是為了 Apple Pay 更方便接入其它 App?
- Apple 地圖繼續追趕 Google 地圖
- iMessage 花里胡哨擴展中
- HomeKit 追加音響(HomePod)支持
新功能
- Drag and Drop (夢想成真!)
- 拍照和截屏(掃描文件這個功能真是又重創了一大波 App)
- 中國特殊加成:二維碼和上海話識別
相關 Session
tvOS, watchOS 4, MacOS
這三個平臺的更新可以說是泛善可陳(除了 Machine Learning 和 AR)。基本上就是,更多的內容(Amazon 的加入)、更炫更方便的 UI(運動界面和音樂界面)、以及更拽的名字(對,新 MacOS 叫 High)。
值得一提的是 Apple File System。其實這個文件系統去年就宣布了,不過并不在 Keynote 之中。今年蘋果用它全面替代了古老的 HFS+,取而代之的是更高的性能、更好的安全性、更多的空間。這主要是 copy-on-write 和空間共享技術的運用。
Apple 同時開放了 FileProvider API,開發者可以用它在新的 Apple File System 基礎上實現對文件各種基本操作,還能通過它對應的 extension 實現諸如 drag and drop 這樣跨 App 的功能。
相關鏈接
總結
這次的 WWDC,蘋果可以說是打了一個漂亮的翻身仗:在人工智能方面挑戰 Google,在虛擬、增強現實方面加入戰局震懾 Facebook,并重奪工業界頂峰的寶座。 watchOS 和 tvOS 的豐富,雖然進步并不明顯,但好歹補足了短板。iOS 11 讓 iPad 這個日趨邊緣的產品逐漸煥發出了生機。后面的幾天,應該會有更多精彩的 Session,給開發上帶來更多的啟示。