哈囉我是Todd,是一個比較喜歡寫前端的全端工程師,工作上大部分是使用 React 及 Node.js 來進行開發。
剛好今年參與了一個 Flutter App產品的開發所以也開始學習 Flutter ,而年初 Flutter 2.0 release 時也同時宣布的 Flutter web 正式進入 stable channel ,讓我有信心這個功能應該會被長期維護下去。也覺得既然都開始學習 Flutter 了就來玩玩看這個新功能好了。順便以 web 的形式來複習一下今年在Flutter中所學到的東西。
在正式開始之前我想先說明一下本系列文大概的規劃:
基本上我是會以前端工程師的角度來切入,所以在文章中可能會用 js 或者網頁開發上的一些概念輔以解說,但這不代表你必須有網頁開發經驗才能讀懂,只是有的話會比較容易吸收。
也因此不太建議完全沒有寫過任何一種程式語言的人來閱讀,而也因為這是以「Flutter web」為主軸的題目,所以並不會有「iOS」、「Android」相關的內容。
當然也因為我並非專職的 Flutter developer 所以可能在深度上也不無法像其他大神一樣深入,整個系列文還是比較像是學習筆記的感覺。
簡單來說就是主要是由 google 團隊維護的一個「跨平台應用程式開發框架」,而這裡的「跨平台應用程式」就包含了基本常見的「iOS」、「Android」的原生應用程式但Flutter也包含了「MacOS」、「Ubuntu」、「Windows」等各類平台的應用程式,當然也包含了本次的主角:在瀏覽器上運行的「Flutter web」。
這裡就只先探討「Flutter web」,畢竟我也沒有使用 swift/kotlin/java開發natvie app 的經驗,實在是沒有什麼立場做比較。至於 「Flutter」這個框架本身的特點等到之後篇章再來詳細說明。
以下優缺點是我以「前端工程師」的角度加上我個人主觀的看法:
優點:
缺點:
結論:即使真的要用於產品上,現在Flutter web可能比較適合在不需要SSR的場景,或者是有需要把app專案快速遷移成web版本的這種需求,對我來說「Flutter web」就是更接近字面意義上的「web application」。
但我個人是還蠻看好 Flutter 及 Dart 的未來,畢竟它們帶給我的開發體驗實在是很不錯,再加上google感覺是蠻大力地在推廣得這些技術的,長遠來看是可以投資的技術。
附註* : Flutter主要使用的語言
附註**:這真的是超級主觀的個人看法,對我來說我的工作上FP會比OOP更為常用。