Flutter在2019年大放光彩,隨著騰訊、阿里等大廠的大量使用和推廣,Flutter已經被越來越多的公司使用了。於是經常有人會有疑問:Flutter會取代Native原生開發嗎?Flutter會是下一個RN嗎?Flutter效能到底怎麼樣,和原生相比如何?上手程度如何?我認識一些來自大廠的大佬,也和他們探討了這幾個問題,下面給出這些大佬的解答,希望對大家有所幫助。
作者寫文章不容易,覺得好看的話,點個贊,關注一下吧,謝謝大家。
01 騰訊技術專家王某
我們曾做過多個跨平臺專案,接觸過多個不同型別的專案,每個專案都遇到各種各樣的難題,一開始混合開發,後來效能問題,以及原生平臺相容性,以及一些意想不到的記憶體洩漏問題等問題不斷出現。我們嘗試過RN,嘗試過Weex,也嘗試過自己改造已有的框架,但是隨著業務的不算擴充套件,但是總體資料和我們設定的指標總是不那麼匹配,後來我們採用了Flutter方案,我們發現驚人的變化,跨平臺的UI一致性,一套程式碼佈局兩個平臺,相容性完美,測試方便,效能也有了很大的提升,團隊的開發效率也增加了200%,我們對Flutter非常滿意,我們的夥伴團隊也在結合Flutter做了定製化改造,可以基於Fluter核心,把Flutter開發擴充套件到小程式中,未來我們會做各種不一樣的嘗試,爭取讓Flutter得到更充分的利用。
02 阿里巴巴技術負責人李某
Flutter是一個很好的工具,我們非常感謝谷歌提供這麼好的技術給我們,Flutter是個性化和開放性的,我們可以在此基礎上擴充套件我們想要的東西,比如我們做的電商專案有很多個模組,分成多個業務組共同完成這個專案,那麼這些模組之間如何協同協作,如何統一管理和部署,這裡就涉及到一個工程管理的問題,我們制定了一套統一的Flutter工程模板以及部署機制,讓大家通過命令視窗可以統一操作和管理專案。另外一個問題就是我們有些功能是Native寫的,我們展示還沒辦法來得及遷移到Flutter上面來,這裡就涉及到Flutter模組和Native模組之間的相互呼叫問題,我們經過幾個月的研發,一年多年來不斷的完善,基本上解決了Flutter混合開發中的重難點問題。我們也建立了開源社群,也歡迎大家積極參加討論。
03 位元組跳動技術負責人張某
我們今年(2019年)開始引入Flutter,我們有很多專案都是在嘗試使用Flutter,大家都知道我們很多專案裡面都是針對音視訊有關的,我們重點針對Flutter引擎,Skia渲染,Dart VM等方面都做了改進,並結合專案特點做了適當的裁剪和包分發處理。我們的開發團隊很給力,只用了短短几個月的時間就取得了不錯的成果,比如:容器化、混合工程、渲染優化、包體積壓縮、編譯優化、多端一體化等,看上去確實感覺是很多東西的。我們還採用的是“高精度無侵入效能監控方案”:引擎層提供了一套機制,可以知道繪製多少幀,統計你發了多少訊號,統計 GPU 執行緒,框架系統會自動識別效能監控滾動會在什麼時候開始,什麼時候結束。
04 創業公司王總(前騰訊技術管理)
我主導研發過好幾款社交應用,積累了大量的社交應用經驗,我創業做的也是一款社交應用,針對的是移動端和小程式。當我真正自己做專案的時候,我才考慮很多面臨的問題:
1.員工成本。 我面試過很多人,有的人專業做前端的做了10年,少的也有8年,對於這樣的資深大佬,我們廟小容不了大佛,我們希望儘可能的節約成本,一個技術越是能夠給我們節約成本,我們越是願意選擇採用。我看到了Flutter的跨平臺的特性,而且是一套程式碼寫三端(Android,iOS,Web),可以複用大量的程式碼,也就是一個人開發一個專案基本可以了,業務複雜的話再招一個人一起做基本就足夠了,大大的減少了開發人員帶來的成本問題。
2.穩定性問題。 我們選用技術也會考慮技術本身的穩定性和它們對專案的影響。Flutter一定是穩定發展中,能夠在多平臺保持高一致性的UI,Flutter的適配比較友好,經測試可以完美呈現出60bps的渲染效果,而且效能接近原生,所以總的來說Flutter是不錯的,社群這一塊這兩年發展的也不錯,各項開源工具基本都有了,Flutter對開發者來說上手也很快。
3.新員工融入專案的進度問題。 如果出現不熟悉的新手,接到一個老專案,我們會希望他儘快的上手並能夠按需求開發專案功能。我們也陸陸續續招聘過一些人,也包括對Flutter不是熟悉的人,其中也包括實習生,但是我發現一個問題,就算他們接手Flutter專案,在沒人指導的情況下,他們也很快就學會了Flutter的開發。然後我就好奇了,私底下跟這些員工交流,我發現了原來他們都喜歡關注微信公眾號Flutter那些事,看著他們努力學習,我真替他們感到高興。順便再說一下,我的朋好基友阿韋最近和CSDN官方合作推出了Flutter精品課程,我第一時間就購買了,以便我的員工學習,幫助他們快速完成專案,解決專案的難點問題。公司生存不易,給員工一點小激勵,幫助他們成長,從長遠來看,我覺得無論是對他們,還是對公司本身來說都是一件好事。我要求員工下班後必須花一個小時在公司學習阿韋的Flutter視訊,強迫他們留下來主動學習,我相信只有不斷學習新的東西,先進的思想和開發思路,你才可以有更好的開發思路和方案,做專案起來就會更有幫助。
非常感謝這些朋友們的分享,我們可以看到Flutter還是很不錯的,也感謝好基友對我的課程的支援。這份Flutter課程我特意花了一年的時間反覆研究Flutter的技術細節,並且自己開發了一些App,同時也開源了一些Flutter資料,也建了社群幫助許多人解決了開發中的疑難問題,填了大量的Flutter的大坑,然後結合我多年的移動開發經驗總結出了一套Flutter的乾貨,主要是幫助更多的人快速熟悉和上手Flutter,能夠使用Flutter開發商用專案,給你一個需求馬上就知道如何去用Flutter去實現出來(這個才是乾貨裡面的精髓)。2019年年底,我花了幾個月時間系統的整理了我的Flutter乾貨,有幸跟CSDN學院合作,錄製成一整套成系統的精品視訊視訊,全程乾貨,從基礎原理到實戰,全方位帶你認識Flutter,學完立馬可以投入到實際商用專案開發中。
通過這個課程,你能學到:
- 1.框架入門:深入淺出講解Flutter框架和Dart語言。
- 2.實戰案例:大型專案實戰程式碼案例精講,從實戰中總結出來的經驗傳授給大家,讓大家深入理解專案開發精髓。
- 3.原始碼解析:手把手代理完成專案,解析原始碼,理解開發思想,移動開發思路,拿到效果圖馬上可以知道如何做出成品出來。