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