近日,快手、美團、滴滴、字節(jié)跳動等多家互聯(lián)網(wǎng)公司的移動端開發(fā)工程師齊聚快手總部,共同參與了一場WWDC <T> 技術(shù)沙龍,iOS 開發(fā)者們互相交流經(jīng)驗,為 Swift 社區(qū)碰撞出新的思想火花。
Swift 是蘋果公司開源的一門現(xiàn)代編程語言,編寫 Swift 代碼的過程充滿了樂趣和互動。Swift 語法簡潔,但表現(xiàn)力強,更包含了開發(fā)者喜愛的現(xiàn)代功能。Swift 代碼從設(shè)計上保證安全,同時還能開發(fā)出運行快如閃電的軟件,得到大批開發(fā)者的追捧。
這次的活動是“SwiftGG翻譯組”聯(lián)合“快手中學(xué)”舉辦的WWDC <T> 技術(shù)沙龍——北京地區(qū)專場線下沙龍。<T> 技術(shù)沙龍是 SwiftGG 翻譯組的一個線下活動 IP,SwiftGG組織者的理念是要交流,不要講課。因為水平不同,就會變成講課,只有水平相近,才能真正交流。那么,對于線下活動而言,線下活動存在的意義就是交流,這種面對面的交流無法被任何搜索引擎或者線上工具替代,由此產(chǎn)生的價值也是獨一無二的。
Swift 經(jīng)過 ABI 穩(wěn)定到 SwiftUI 隆重推出,受到開發(fā)者一致認可。再加上今年大熱門 Swift 并發(fā)技術(shù)的發(fā)布,讓 Swift 大放光彩。Swift 使得蘋果開發(fā)更加穩(wěn)定和高效,快手也將搭上 Swift 這班車,目前快手的AcFun 和快手海外版均已大范圍使用 Swift 開發(fā),這都是為了讓咱們的用戶能夠用上更穩(wěn)定、更好性能的產(chǎn)品,有更好的用戶體驗。這次交流會除了 Swift 相關(guān)主題,還有包體積瘦身的方案分享和提升開發(fā)體驗的工程構(gòu)建優(yōu)化相關(guān)分享。
(▲交流現(xiàn)場)
本次交流采取線下線上結(jié)合的參會方式。交流會開放了部分線下參會名額,所有現(xiàn)場觀眾需佩戴口罩,確保測溫和健康寶狀態(tài)正常,在簽署健康聲明后方可入場,入會就座時也均保持了一定間隔。此外,交流全程還通過“快手 APP”直播,觀看總?cè)藬?shù)超1.5萬人。
來自快手主站技術(shù)部的移動端架構(gòu)師戴銘、美團平臺移動端技術(shù)專家宋旭陶、字節(jié)跳動 Client Infrastructure 高級工程師徐紀光、滴滴國內(nèi)移動端專家工程師孔漢寧分別帶來了現(xiàn)場分享,Hacking With Swift 系列書籍作者 Paul Hudson、objc 聯(lián)合創(chuàng)始人Chris Eidhof則通過視頻的方式問候現(xiàn)場及線上的開發(fā)者們。
戴銘使用了 SwiftUI 編寫了一個PPT程序來進行此次 SwiftUI 的介紹,和 PowerPoint 還有 Keynote 不同的是,程序的動畫效果非常豐富,這些動畫效果都是使用了 SwiftUI 強大的 GeometryEffect、GeometryReader、AnyTransition、AnimatablePair、Shape 等技術(shù)來完成的。本場主要分享了在系統(tǒng)支持SwiftUI 之前,能讓開發(fā)體驗更加接近 SwiftUI 的一些關(guān)鍵技術(shù)。
(▲快手-戴銘《聊一聊 SwiftUI》
宋旭陶從介紹 Machine Outliner 開始,講述 Machine Outliner 是如何減少重復(fù)指令個數(shù),接下來通過介紹 Uber 的工作,包含 Uber 如何實現(xiàn)全局有外聯(lián)優(yōu)化,以及重復(fù)外聯(lián)的方案。最終通過 LTO 鏈接時優(yōu)化完成全局 Outliner 的任務(wù)。
(▲美團-宋旭陶《使用 Global Machine Outliner 縮減重復(fù)代碼》)
徐紀光以 iOS 當(dāng)前主流研發(fā)模式組件化為背景,分析了影響研發(fā)效率的幾大痛點。隨后介紹了對好的研發(fā)體驗思考,引出了動態(tài)化研發(fā)模式 ARK,并從核心技術(shù)實現(xiàn)以及整套方案的實施兩個方向深入探索 ARK 研發(fā)模式。
(▲字節(jié)-徐紀光《動態(tài)化研發(fā)模式-ARK》)
孔漢寧從 Pod 二進制污染問題講起,隨后介紹了 Xcode Cache 優(yōu)劣勢、原理和實踐,其中包括緩存工作機制,如何利用緩存產(chǎn)物出包等,最后討論了多分支場景下的實現(xiàn)方案。
(▲滴滴-孔漢寧《使用 Xcode Cache 為構(gòu)建打包提速》)
接著 Paul Hudson 通過視頻分享了《Build Software for iPhone 101》。Paul 表達了他對 Swift 美好前景的期盼以及信心。同時還列出了大量數(shù)據(jù)來說明目前 Swift 的使用情況,包括有多少人在學(xué)習(xí) Swift,有多少公司在生產(chǎn)環(huán)境使用 Swift,甚至還提到了學(xué) Swift 能賺多少錢,真是為打算學(xué) Swift 的同學(xué)把方方面面都考慮到了。
(▲ Paul Hudson(左) & Chris Eidhof(右))
Chris Eidhof 則帶來了《A Speed Run of Creating A TODO App in SwiftUI》的分享。Chris Eidhof 采用的是Live Coding 的方式,從零開始一步一步編碼實現(xiàn)了一個 TODO 的程序,通過一個完整開發(fā)過程讓大家感受到 SwiftUI 的簡潔和優(yōu)雅,還學(xué)習(xí)到了很多 Swift 開發(fā)的技巧。
快手以技術(shù)為核心競爭力,十分重視技術(shù)創(chuàng)新和應(yīng)用,同時也希望通過更多更廣泛的技術(shù)交流,和業(yè)內(nèi)開發(fā)者分享經(jīng)驗,碰撞出更多智慧火花,推動技術(shù)不斷前進?!翱焓种袑W(xué)”作為內(nèi)部專業(yè)人才培養(yǎng)平臺,旨在通過提供豐富多樣的專業(yè)課堂培訓(xùn)、比賽、技術(shù)交流,助力人才成長,提升專業(yè)能力和專業(yè)影響力。未來,由快手中學(xué)組織的技術(shù)交流還會以每月一次的頻率舉辦。
(通過在快手 APP 中搜索“快手中學(xué)”,可查看本次沙龍的完整視頻回放;關(guān)注微信公眾號“快手大前端技術(shù)”,回復(fù)“swift”可獲得本次沙龍的全部PPT)
- QQ:61149512