今天是@swift第一天,第一天全是外國開發(fā)者。
第一位是Uber工程師Tuomas Artman,總共講了Uber客戶端重構(gòu)過程中swift的good,bad,ugly。重構(gòu)過程中注重的6個(gè)方面,包括提升核心開發(fā)流程的可靠性,監(jiān)控能力,可拓展性,通用規(guī)則包括開發(fā)和設(shè)計(jì),規(guī)避風(fēng)險(xiǎn),極致情況下的用戶體驗(yàn)。雖然稍微加了些自己的理解,但大概就是這個(gè)意思吧。接下來他說重新設(shè)計(jì)了架構(gòu)router->interaction->builder簡稱RIBs,我的理解是以組件為單位設(shè)計(jì)router的跳轉(zhuǎn),然后再用組件去填充到view,具體這哥們就沒說了,我也只能這樣理解了。重點(diǎn)是這套架構(gòu)是適用于Android和iOS雙平臺,由此達(dá)到他說的double efficiency,暫且拋開這套設(shè)計(jì)思路,但由此引出的問題就是如何設(shè)計(jì)高效率的多平臺架構(gòu)方案?這是個(gè)值得思考的問題。然后說重構(gòu)后用戶不崩潰的概率達(dá)到了99.90的概率,這,他說到一點(diǎn),不要做unconditionally unwrap,就是不要在沒有條件的情況下做強(qiáng)制解包。接下來他說了一些swift導(dǎo)致的問題,binary size就大家都知道,但是pre-main time更久了?這個(gè)用了swift不是更短嗎,我記得wwdc406是這么說的,這個(gè)有些疑惑。然后他給了幾個(gè)縮短swift compile time的建議,還推薦了Buck,后面再了解下。最后他還說了unit test得加啊。
第二位是RayWenderlich的CTO,Sam。他的分享主題是關(guān)于異步并發(fā),整體難度不大說了些常見的沖突,然后給了解決方案,最后安利了promise,額,我注意到他用的gitup客戶端,回去試試看。
第三位是前Facebook員工,Igor Jerkovic。這哥們分享了Facebook的開發(fā)流程,介紹了很多開發(fā)環(huán)節(jié)的準(zhǔn)則,包括review,commit,coding,ABtest,feature branch等等,其中他說到one idea one commit,他這里的idea是指一個(gè)需求吧,但需求有大有小,我理解是先把大需求合理分解成多個(gè)小需求。他后面介紹了很多輔助工具,其中也包括了Buck,額。這個(gè)分享的信息量太大,還要重新回顧下每個(gè)環(huán)節(jié)。
第四位是Sommer Panage,這是個(gè)程序媛,而且還是馬戲表演者和教練,這跨界有點(diǎn)大啊。她主要是講了iOS中的accessibility programing,就是為失明者做無障礙應(yīng)用開發(fā)。講了些基礎(chǔ)和高級用法,這個(gè)主題確實(shí)是第一次接觸,除去coding和design的部分,其實(shí)這個(gè)問題是值得延伸和關(guān)注的。
第五位是RxSwift的作者,講了些rx的基本用法,最后也講到了RxFeedback,這個(gè)后面再了解。回去有時(shí)間要把之前那本《reactive programing with RxJs》后面進(jìn)階部分看完,額。
第六位是Realm和cocoapods的核心開發(fā)者,居然主題是JavaScript for Swift Developer,講了些相同處和不同處。其實(shí)我用了一段時(shí)間js,在拋開面向?qū)ο笙戮幊蹋杏X真是爽。也可能我理解得不對。
倒數(shù)第二位是perfect框架的作者,分析了Swift作為后端開發(fā)語言的優(yōu)劣和要注意的地方。其實(shí)用Swift寫后端挺有意思的,只是現(xiàn)在沒時(shí)間呀,不想折騰工具了,我只想提高寫代碼的能力、寫好代碼的能力。
今天最后一位是英語流利說的Saul Mora,分享了關(guān)于測試的主題,限于大會的時(shí)間吧,其實(shí)沒把測試講得很深,只是重點(diǎn)說了必要性和原則,想起我看了一部分的那本BDD,《learning behavior-driven develop in JavaScript》,感覺對不起它,這部書講了行為測試驅(qū)動的各個(gè)方面,有時(shí)間再看完吧。
今天聽完分享,算是有些收獲吧,也和同學(xué)討論了些工作的問題,接下來可能要開始逐個(gè)組件重構(gòu),并且完善些小團(tuán)隊(duì)必要的工程化,而不是整套照搬吧。明天還有一天,期待更精彩的分享。