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