原來學Flutter的人,現在後悔了嗎?

2021-04-28 19:00:02

序言

跨平臺技術在任何情況下都不能被忽視,尤其是 Flutter 這種跨平臺能力,學習一門語言,寫一次程式碼就可以生成 Android、iOS app,而且官方還對 Web、Window、Mac 等平臺進行支援。

一旦非常穩定,這樣的開發效率實在是太恐怖了,一個人就能有雙倍的效率。

之前我親身體驗過,身邊一位個人開發者朋友,做了一個 Android App,頗受歡迎賺了一些錢,苦於不會 iOS,後來果斷學了下 Flutter 對 iOS 進行了支援,再賺一波。

但是,話說回來,並不是所有人都是個人開發者。

對於企業級應用,在不斷追求效能的前提下,Flutter 的開發效率以及效能又被推上熱議的話題:

1. Flutter 對於效率到底有多大的提升?

2. 那個 XXX App 不是正在放棄 Flutter 嗎?

我相信很多人心中都有上面這些疑惑,今天我們就來好好掰扯一下這個Flutter。

Flutter 到底能不能成為「跨平臺開發終極之選」?

**1. Flutter 正在被越來越多的 App 所使用 **

通過LibChecker app可以隨便開啟本人手機所安裝的 app(參考了 GSY 方法),選擇檢視哪些 app 包含了 Flutter:

發現了沒有,幾乎大廠的 App都在列:

1. 微信

2. 淘寶、天貓、UC、菜鳥、餓了麼

2. 度小滿、百度貼吧

4. 網易有道詞典

...

這些 App 正在嘗試甚至已經大規模使用Flutter。

可以看到 Flutter 在這幾年的成長,已經成為跨端技術的佼佼者了,說到跨端,你的選擇是?還有備選嗎?

2. Flutter 的優點

從出身來說,Flutter 是谷歌的,所以對於 Android 開發者來說,從開發環境上來說,上手要容易很多。

其次, Flutter 目前的更新與迭代非常頻繁,在 3 月份釋出了 Flutter的 2.0 版本,支援了Android、iOS、Windows、macOS、Linux 平臺,甚至未來可以會被嵌入到一些智慧裝置:電視、智慧家居甚至汽車。

迴歸到技術層面,大家都知道以前比較熱門的跨端框架是 React Native,實現原理主要是利用 js 將頁面上的控制元件轉化為原生控制元件,這樣就帶來了很多問題,例如新控制元件的適配,以及不同平臺控制元件的差異性沒法磨平,一個頁面Android、iOS展示效果有差異,UI 同學不會同意吧。

而 Flutter 徹底改變了之前「轉化」的思路,採用了全新的 Widget,完全自己繪製,遮蔽掉平臺的差異性。

最後,Flutter 整個社群的活躍度非常高,出問題有地方查,有大廠分享最佳實踐,不香嗎?

3.找工作的加分項

Flutter目前也是Android開發崗位的加分項,下面是我在Boss上面搜到的一部分招聘資訊。

通過上圖我們可以看出,很多大廠在高薪招聘這方面的人才,Flutter 確確實實可以成為我們找工作的一個幫助。

Android學習資料以及Flutter2.0解析視訊分享

為什麼使用Flutter

下面說一說我用Flutter的一些感受

  • 熱過載(這個感覺還一般,而且比較費記憶體也無法真正測試你的APP效能)
  • 全套小部件(這是我最喜歡的)
  • 所有東西都是一個小部件(這個也不錯)
  • Android / iOS 差異化主題(iOS:Cupertino,Android:Material Design)
  • 非常、非常、非常多的資源 (官方支援的資源很多,比如上邊的程式碼有自帶的themedata,scaffold,tarbar等等會節省你太多的開發時間,我覺得weex開發者會有深刻的體會吧)
  • 我覺得還可以加一條,就是他的響應式框架,響應式試圖- - - 不需要 JavaScript 的橋接器。目前已知的ReactX包含了眾多的響應式語言,RxDart對於flutter或者說Dart來說只是一個增強包。

Flutter學習路線圖


路線圖只是從Android學習路線圖裡面擷取的一小部分,有需要的可以自取路線圖領取連結
同時我也把Android基礎以及進階學習資料放在GitHub裡面了

 

Java知識點彙總

Android 知識點彙總

Android拓展知識點彙總

看到最後希望大家給小海點個贊,也是對小柯最大的支援!小柯也會經常更新Android實時熱點以及乾貨文章,再此謝過各位。