快手舉辦首屆Flutter交流會(huì)分享技術(shù)實(shí)踐
Flutter正在被越來越多的開發(fā)者和組織使用,快手也在Flutter方面投入了非常大的精力。近日,快手中學(xué)舉辦的“首屆快手Flutter技術(shù)交流會(huì)”(Kwai Flutter Meetup)在北京快手總部舉行。本次交流會(huì)邀請(qǐng)到了來自Google、美團(tuán)、騰訊、360以及快手Flutter技術(shù)團(tuán)隊(duì)進(jìn)行分享,聚焦各公司的Flutter技術(shù)的動(dòng)向與實(shí)踐,為開發(fā)者們提供了一個(gè)線下交流學(xué)習(xí)的平臺(tái)。
Google:Custom Widgets in Flutter
Justin McCandless(Google)
來自Google Flutter團(tuán)隊(duì)的Justin McCandless介紹了即將發(fā)布的InteractiveViewer Widget,分享了如何寫一個(gè)自己定制的Widget。
InteractiveViewer可以通過手勢進(jìn)行移動(dòng)、縮放及旋轉(zhuǎn)。關(guān)于InteractiveViewer Widget,現(xiàn)在有關(guān)它的Pull Request已被建立,歡迎開發(fā)者發(fā)表評(píng)論,來讓新Widget更好地服務(wù)于開發(fā)者。
通過組合已有Widget,可以很方便地迅速構(gòu)建出自己需要的Widget。其實(shí)InteractiveViewer本身也是通過不同的Widget組合實(shí)現(xiàn)的。相比繼承,F(xiàn)lutter更建議大家采用組合的方式構(gòu)建控件。Flutter也具備繪制能力,在官網(wǎng)Painting Widget目錄下可以看到這些用于繪制的widget。另外,F(xiàn)lutter也提供了大量的布局Widget,來為Widget布局提供支持。
美團(tuán):美團(tuán)外賣Flutter混合開發(fā)生態(tài)建設(shè)實(shí)踐
李會(huì)超(美團(tuán))
美團(tuán)外賣從用戶端調(diào)研到多個(gè)事業(yè)部中后臺(tái)業(yè)務(wù)線上應(yīng)用Flutter僅用了1年,但是已經(jīng)取得了斐然成效。李會(huì)超介紹到,美團(tuán)B端業(yè)務(wù)對(duì)多端一致性、開發(fā)效率、性能穩(wěn)定性的要求都比較高,而Flutter能非常好地滿足這些要求。
MTFlutter工具鏈提供了SDK定制、工程構(gòu)建、集成工具、混合容器、UI代碼自動(dòng)生成、組件插件庫、CI/CD、運(yùn)維能力、產(chǎn)物托管等多項(xiàng)功能。
到目前,已有多個(gè)事業(yè)部的中后臺(tái)業(yè)務(wù)應(yīng)用,接入到了MTFlutter基礎(chǔ)設(shè)施并上線迭代。
騰訊:Flutter在騰訊企鵝輔導(dǎo)上的實(shí)踐之路
以企鵝輔導(dǎo)為例,涂金林和曹海歌分別從移動(dòng)端和Web端介紹了騰訊在Flutter的實(shí)踐經(jīng)驗(yàn)。企鵝輔導(dǎo)的實(shí)踐分為手機(jī)端、Pad端、Web端,從頁面棧管理、性能優(yōu)化等幾個(gè)方面詳述了實(shí)踐進(jìn)展。
關(guān)于性能優(yōu)化,涂金林主要介紹了來自引擎的內(nèi)存泄漏及圖片增量內(nèi)存過大等問題的優(yōu)化,并介紹了一些常用的提升性能的代碼習(xí)慣。
涂金林(騰訊)
曹海歌站在Web前端工程師的角度對(duì)Flutter進(jìn)行了解讀,現(xiàn)場給出了使用Flutter for Web技術(shù)構(gòu)建的企鵝輔導(dǎo)頁面供聽眾體驗(yàn)效果。最后對(duì)Flutter for Web未來的發(fā)展進(jìn)行了展望。
曹海歌(騰訊)
360:探索Flutter中的狀態(tài)管理
陳晗所在團(tuán)隊(duì),利用Flutter技術(shù)構(gòu)建了“南瓜屋”故事,一款故事社區(qū)App。陳晗首先介紹了對(duì)狀態(tài)管理的個(gè)人理解,以及在Flutter中如何管理state,如何利用InheritedWidget進(jìn)行共享狀態(tài)。
對(duì)于社區(qū)內(nèi)的狀態(tài)管理方案,陳晗主要介紹了Provider、BLoC以及Redux,各自的設(shè)計(jì)理念以及優(yōu)缺點(diǎn)。對(duì)于狀態(tài)管理方案的選型,陳晗認(rèn)為應(yīng)該根據(jù)項(xiàng)目的業(yè)務(wù)復(fù)雜度來決定。一個(gè)好的狀態(tài)管理方案,應(yīng)該具備三個(gè)特點(diǎn):可預(yù)測、漸進(jìn)式、高性能。陳晗也建議開發(fā)者不要為了使用而使用,技術(shù)本身是服務(wù)于產(chǎn)品、服務(wù)于業(yè)務(wù)的,在選擇和使用狀態(tài)管理時(shí),要三思而后行,做好多方面的權(quán)衡。
陳晗(360)
快手:快手Flutter技術(shù)實(shí)踐
來自快手北京研發(fā)團(tuán)隊(duì)的張?zhí)煊钆c深圳研發(fā)中心的鄧敏,分別分享了Flutter技術(shù)工程化的實(shí)踐以及業(yè)務(wù)上的嘗試。
快手在Flutter技術(shù)上投入了一定人力,本次分享介紹了眾多領(lǐng)域的實(shí)踐,包括集成發(fā)布、一鍵發(fā)車、Channel強(qiáng)類型化、Property生成、依賴管理、自動(dòng)化埋點(diǎn)、混合棧管理等。
基于快手的業(yè)務(wù)形態(tài),混合棧管理上提供了引擎釋放,并支持狀態(tài)恢復(fù)。
快手會(huì)持續(xù)關(guān)注Flutter技術(shù),在未來會(huì)產(chǎn)出更多實(shí)踐成果與社區(qū)分享、共建。
張?zhí)煊睿焓郑?/strong>
鄧敏(快手)
現(xiàn)場同學(xué)聽得入迷
在隨后的圓桌討論環(huán)節(jié),嘉賓們對(duì)會(huì)前收集到的快手同學(xué)們感興趣的話題進(jìn)行了討論,如Flutter前期落地成本、前端同學(xué)是否適合做Flutter開發(fā)、Flutter的技術(shù)邊界等,現(xiàn)場討論熱烈。
此次活動(dòng)干貨滿滿,同學(xué)們也覺得收獲很大,“了解了Flutter的動(dòng)態(tài)和企業(yè)級(jí)應(yīng)用流程,各個(gè)公司踩坑以及優(yōu)化方式,在探討中學(xué)習(xí),也讓自己在以后的工作中可以繞開這些坑,更重要的是結(jié)識(shí)了很多同樣樂于鉆研、解決問題的伙伴,希望以后可以多組織此類交流會(huì)”。
在跨平臺(tái)開發(fā)慢慢成為主流趨勢的今天,F(xiàn)lutter的重要性逐漸凸顯。作為快手內(nèi)部的人才發(fā)展平臺(tái),快手中學(xué)旨在以學(xué)習(xí)溝通和分享交流為主,為快手同學(xué)提供每一個(gè)職業(yè)階段的培訓(xùn)與發(fā)展機(jī)會(huì)。此次舉辦快手Flutter技術(shù)交流會(huì),就是為同學(xué)們賦能,希望未來快手和Google以及業(yè)界同行們一道把Flutter技術(shù)應(yīng)用到更廣泛的領(lǐng)域,能夠探索出更多的最佳實(shí)踐,最終造福大前端開發(fā)者,提升大前端開發(fā)者的獨(dú)特的幸福感。