2017.5.13 · 深圳凱賓斯基酒店 · 陰
開場
為什麼要參加技術大會?
- 因為這些內容只能在這裡看到;
- 這些嘉賓只能在這裡見到
是啊,我們為什麼花那麼多錢買門票,還有來回交通、住宿費用,還要耽誤週末兩天,去參加這麼一場大會呢?你說兩天時間就真的能學到許多,迅速提升技術麼?那答案顯然是否定的。那麼,為什麼還要參加呢?開拓視野,瞭解前沿的技術,為日常的開發提供靈感,結識、學習優秀的開發者……還有一點,just for fun 不行麼?春晚一年比一年水,不也還有那麼多人每年都要看呢。
這個話題讓我想到前段時間看到的一篇文章:《當我參加培訓的時候,我在學什麼》
Swift with hundreds of engineers —— @Artman Tuomas
Uber 使用 Swift 重寫了 app,在這個分享中,Tuomas 會介紹如何在上百人的團隊中使用 Swift 進行開發,並介紹 Uber 重寫過程中遇到的各種問題和解決方法。
2017@Swift Tuomas Artman Tuomas 是 Uber 移動架構和框架組的負責人。在來灣區之前,他創立了一家芬蘭知名的數字資訊公司,還在上海的一家公司工作過一年,開發遊戲和多使用者技術平臺。
Uber 移動開發史 - 4年前3個開發者到幾百人
重構:不同於新開發一個App,重構需要
- 確保原有核心流程穩定可用,
- 並支援未來幾年的業務發展,
- 設計與開發需要足夠的協作,
- 監控優先:自動化、日誌、debug,跟蹤,
- 分框架降低整體系統風險,
- 提高效能與體驗
多平臺架構設計,提高開發效率:
- 程式碼一致性
- 設計一致性
- 結構一致性
"RIBs"
- Router
- Interaction
- Builder
重構時間線:底層核心架構&庫、核心業務流程、其他細節
重寫超過一萬個 Swift 檔案、100 萬行程式碼Swift 優點:特性多、穩定、高可用
Swift 缺點
- 除錯困難 —— 處理示例
- 編譯處理時間長 —— 梗~ 保持更新、AppCode、分更多 framework
- 二進位制檔案大:struct、可選型、泛型
- 編譯載入速度慢 —— 合併原始檔、Buck
提問:
如何解決幾千個 Swift 檔案的語法升級問題。
更多參考: 英文整理稿 - // TODO: 翻譯整理
Concurrency on iOS —— @Sam Davies
從基礎的 NSOperation 一直到 Grand Central Dispatch,徹底講明白 iOS 併發。此外還會涉及一些高階內容,比如 dispatch group 和執行緒安全。
嘉賓來自英國,上場很酷、語速很快
更多參考:Playground 演示 - // TODO: 理解翻譯
iOS development efficiency at Facebook —— @Igor Jerkovic
Igor 在 Facebook 的視訊團隊工作了五年,非常熟悉國外大公司的那一套理論。他會在這次分享中介紹如何提高開發效率和程式碼質量。
Facebook 移動開發歷史
2011 - Web
2012 - Rebuild for iOS
控制特性分支
Gatekeeper
From Zero to Hero: Making your iOS App Accessible to VoiceOver and Beyond —— @Sommer Panag
在這個分享中,我會介紹無障礙和 VoiceOver。首先說明為什麼無障礙支援很重要,然後通過一個權威的 iOS 應用瞭解你可以實現哪些無障礙功能。接著我會介紹 iOS 無障礙 API 以及如何對接 VoiceOver。最後,我會補充一些有趣的無障礙知識,除了支援 VoiceOver,我們還能做得更好。
Thinking in Rx way —— @Krunoslav Zaher
我會介紹開發 Rx 的初衷、我對 Rx 的看法、Rx 的特點以及 Rx 和傳統程式設計方式的區別。我還會介紹 Rx 的效能、不同設計模式的實現方式以及如何關聯 Rx 和狀態機。
“因為我懶,所以大多數時候我都是在刪程式碼”—— ?
JavaScript for Swift Developers
砸場小哥厲害了。
Building Confidence: Testing iOS applications —— @Saul Mora
Saul Mora 中文蠻不錯啊,流行口語用的666.