開頭
Swift從WWDC2014發(fā)布,到今年的WWDC2018虱黄,已經有整整的四年時間了芬首。在這四年中赴捞,產生了很多個版本的Swift。從Swift1.0(1.0郁稍,1.x, 2.x , 3.x )到最新的Swift4.2 已經有不下5個版本赦政。而這每一個版本的后面,都能看出蘋果的激進艺晴,對于API的大幅修改昼钻,導致業(yè)界有一個學了一門Swift掸屡,每個版本都是在學一門新的語言的調侃封寞。
在Swift1.0 官方發(fā)布后,以梁杰為首的一批SwiftGG 前期成員即刻著手翻譯《The Swift Programming Language 》仅财,經過十多天的努力狈究,一份中文版的《The Swift Programming Language》中文版出現(xiàn)在大家面前。翻閱中文版的時候盏求,看到了一句比價霸氣的話“這次抖锥,中國終于和世界同步了”亿眠,從此便開始關注了Swift這門新的語言。
2018@Swift
Swift GG組織的中國Swift開發(fā)者大會磅废,已連續(xù)舉辦兩屆纳像,2018@Swift為第三屆中國Swift開發(fā)者大會。
議程安排
此次開發(fā)者大會的時間為 2018 年 09月 15 號拯勉,周六
主題
iOS Architecture improvements with Swift
AndyyHope 從MVC竟趾,MVVM,VIPOR 宫峦,講述了各種架構的好處和缺點岔帽,最后給出了一個通過JSON配置頁面的Nemo。通過修改JSON數據格式导绷,控制App中的不同頁面展示犀勒,控制頁面中不同數據的位置,覺得在一些App中妥曲,覺得在靈活性上贾费,還是有一定的有點的。
AndyyHope 的英文演講檐盟,其中的內容覺得也就接受了一半而已铸本,Nemo 需要自己消化一段時間,其中的巧妙設計完全可以用在以后的項目中的遵堵。
提問嘉賓的英文能力還是不錯的箱玷, 能全場和Andy 無障礙交流,雖然是chinEnglish陌宿, 但是這種自己的的自信是我現(xiàn)在不具備的锡足。
從Swift 到機器學習
喵神的幽默的看場方式,以及對于游戲中這個萌萌的動作選中壳坪,最后這個萌萌的動作成了大會中的標準賣萌表情舶得。
其中講到了Create ML 這個框架,還有自己對于一個視頻通過Swift腳本切割每一幀的圖像爽蝴,還是驚喜滿滿沐批。
怎么用Swift寫解釋器以及實用場景
戴銘老師的這個session中,已經被精美的PPT萌化了蝎亚,講到的內容中九孩,只能獲取一二,真的不怪我发框,只怪PPT太精美躺彬,讓我沉浸在其中了。
下面來幾張拍的PPT。
猿輔導從OC到Swift的遷移之路
巧哥的這個猿題庫Swift遷移之路宪拥,可以說是磨難之路仿野,三個產品中,猿輔導相對來說比價順利她君,其中的編譯慢的問題脚作,Xcode不友好的問題,自己在以前也是遇到了缔刹,想不到經過這三年的發(fā)展鳖枕,Xcode的發(fā)展還是沒有跟上Swift的發(fā)展,這個開發(fā)人員造成了很多的困難桨螺,也就讓一部分開發(fā)人員望而卻步宾符。
其中巧哥提到了,他們的小猿搜題灭翔,重新用Swift開發(fā)魏烫,然后想著趕上需求,自己覺得巧哥還是太年輕, 我們的產品經理的需求比吃飯睡覺還要準時肝箱,你怎么能指望趕上呢灵奖。
項目重構這一塊但惶,我覺得還是有話說的,我們從去年7月份開始在主產品上做模塊化,經過和Android組的討論椎椰,覺得最保守的方式或者說是行之有效的方式就是在現(xiàn)有的基礎上遥椿,單開一個項目或者單開一個分支做模塊化箭跳,堅決不能推到重做懂版。而iOS組比價保守,就選擇在最新版本的基礎上開始拆分模塊档玻,每人負責幾個模塊開始怀泊,其中的新需求就是邊做,邊遷移到模塊化工程(誰負責的新需求開發(fā)误趴,誰負責遷移到模塊化工程)霹琼,從4.7 到5.2 五個版本的追趕,最終在5.2 需求在模塊化基礎上開發(fā)并順利發(fā)布凉当。
Android組是選擇重新寫枣申,從最基本的架構開始,到模塊拆分看杭,一年多了忠藤,已經變成了爛尾(Android組中間出現(xiàn)人員變動也是一個原因);以后新的需求還是不斷的來泊窘,這樣版本越追越追不上了熄驼;時間拖得越長,到時候導致爛尾的風險更大『姹現(xiàn)在和Android組聊天瓜贾,聊到模塊化項目,也在做携悯,從表情中能感受到其中的痛苦祭芦。
其中的模塊化,可以說是我們技術人員的一廂情愿憔鬼。其實QA的同學才不管你這個工程的技術實現(xiàn)龟劲。他們只關注健壯,沒有bug 就可以了轴或。而我們的模塊化最后會導致人家的加班等昌跌,所以拖得時間越長,QA這邊也是會困難重重照雁。不可能把每一個版本的功能都走一遍的蚕愤。在iOS組的模塊化完成后,QA也是跳票好幾次饺蚊,模塊化項目上了萍诱,皆大歡喜。
話又說回來了污呼,高風險帶來高回報嗎裕坊?選好了,就開始革命吧燕酷。
Strings Seven Ways
劉鎮(zhèn)夫老師的這個字符串的七種方式籍凝,回顧了一下ASSIC 碼到最后Unicode碼的轉變。對于劉老師的多種人類語言的掌握比較驚訝苗缩。
Live Code
糖炒小蝦静浴,蝦叔的Swift在Server side 的支持,并且在生產環(huán)境中挤渐,使用Swift去替換Ruby的功能苹享, 勇氣和能力令人嘆服。其中講到Vapor的性能優(yōu)化浴麻,在工作中得问,效率較Ruby提高300%領我感嘆不已,并說道和Go的性能差不多的時候软免,我都有種要放棄Go的沖動宫纬。
Swift Server side 自己也是一直有了解的,但是沒有想到這幾年的發(fā)展到這個地步膏萧,這種發(fā)展還是讓人有所吃驚的漓骚。
Swift For Tensorflow
蓮叔的這個session蝌衔,和喵神上午的Session是有很多相似的,
其中喵神是用到了蘋果提供的Create ML來訓練模型的蝌蹂。蓮叔則是選擇用Swift for Tensorflow來訓練模型噩斟。
蓮叔的值通篇英文的PPT也是很拉風的,內容也是充實孤个。雖然在Chris Lantiner 發(fā)起這個項目開始就有關注剃允,但是在蓮叔呈現(xiàn)在會場的時候,被震撼到了齐鲤。
其中的協(xié)同分類(Collaboration Classify ) 和 協(xié)同過濾 (Collaboration Filter)內容詳實斥废,好多的數學公式覺得需要再次學一遍高數了,作為一個互聯(lián)網的老兵给郊,讓我看到了一個老兵的風采牡肉。
做一個有趣的多人AR游戲
這個Session自己沒有聽講,有點遺憾淆九。
總結
整個參會的感受就是荚板,震驚,收獲頗多吩屹。其中不光有講師的風采跪另,同樣有一個個參會者的突出。如果填調查問卷反饋煤搜,我覺得全部給滿分免绿,能在這么短的時間內,讓我們看到Swift的光彩和Swift的坑擦盾,真的足矣嘲驾。下屆@Swift舉辦的話,一定會參加迹卢。
在和喵神的聊天中辽故,知道了國內的互聯(lián)網和日本還是有很大不同的,兩個都有好處腐碱,覺得就是兩個不同的發(fā)展思路不同而已誊垢。其中喵神說到Line 公司的測試很專業(yè),說自己提交代碼症见,覺得一個問題也沒有喂走,都會給你能找出十多個bug,保證了線上幾乎是沒有bug的谋作,所有他們就沒有對熱修復的渴求芋肠。在聊到跨平臺的時候,他們也是沒有這種需求的遵蚜,國內對RN帖池,Weex奈惑,F(xiàn)lutter很是追捧,求變也是國內互聯(lián)網發(fā)展的一個原因睡汹。其實所有的根源肴甸,在于兩邊對于軟件的開發(fā)規(guī)范和產品迭代的思路不同,日本那邊需求幾乎是半年都不會有多大變化的帮孔;而國內雷滋,幾乎每一個版本都是對上一個版本的否定不撑,這樣就導致QA測試不充分文兢,軟件質量的下降。喵神的“守護原生開發(fā)者尊嚴”覺得在國內還是不好守護的焕檬。