考慮使用 Flutter 的理由

13 個你應該選擇/考慮使用 Flutter 的理由

本文翻譯自: 《13 Reasons Why you should choose/ consider to move to Flutter》, 如有侵權請聯繫刪除,僅限於學術交流,請勿商用。如有謬誤,請聯繫指出。

13 個你應該轉向 Dart並且選擇或者學習利用 Flutter 去開發你的下一個 app 的理由。

如今的企業需要在選擇移動技術時做出關鍵選擇。他們不斷的測試和評估技術,以求不論用戶使用什麼移動設備或操作系統都能有強大的數字體驗。企業如果不能提供易於使用的產品和服務,那麼無論使用何種渠道或設備,都有可能落後於競爭對手。

目前面臨的挑戰便是跨平臺應用的開發存在問題。在某些情況下,儘管開發人員盡了最大努力,其用戶體驗仍然落後於原生 app 。近年來,我們看到了各種移動框架的出現,如 React Native、Xamarin 和 AngularJS ,它們幫助我們更容易地產生較好地數字體驗。最近我們看到一個新玩家加入了這場遊戲——谷歌的 Flutter。

13 個你應該選擇/考慮使用 Flutter 的理由

從內部來看,Flutter 看起來像是谷歌各種技術和概念的大雜燴,然而卻產生一個不可思議的強大的移動框架。它是基於 Dart (谷歌的內部編程語言)開發的,它可以讓 Flutter 訪問 Skia 圖形庫,而這正是 Chrome 瀏覽器所使用的。除此之外,Flutter 與谷歌的 Material Design 規範緊密結合;其中最著名的便是 Android 用戶已經熟知的“卡片圖案”。


讓我們看看 13 個選擇 Flutter 作為你的開發環境甚至可以選擇它開始你的職業生涯的理由,

1. Flutter 克服了傳統跨平臺的限制

長期以來,創建真正的跨平臺方法一直是技術顧問的苦惱所在,他們厭倦了為同一產品製作多個版本。但是,實際上,跨平臺應用的用戶體驗通常落後於原生 app,因為你經常需要即時編譯 JavaScript 來構建 UI 體驗。

13 個你應該選擇/考慮使用 Flutter 的理由

使用 Flutter,你不僅可以擁有“一次編寫”的優勢,還可以創建高性能的“原生”體驗,因為 Flutter 應用程序是提前編譯出機器可執行的二進制文件。它克服了其他跨平臺方法中的一些常見問題。

2. 開發人員的生產力提高了十倍

這種生產力的提高來自 Flutter 的“熱重載”(也就是所謂的“有狀態的熱重載”和“熱重啟”)。這樣,開發人員可以在不到一秒的時間內看到他們對應用程序狀態所做的更改;並且在不到 10s 的時間內改變 app 的結構。


13 個你應該選擇/考慮使用 Flutter 的理由

沒有必要去啟動另一個 Gradle 構建程序——因為你可以在保存後查看你的修改。對於開發人員來說,這通常很容易掌握——在使用“熱重載”時幾乎沒有等待時間,因為在默認情況下,每次保存時都會實時改變。

然而,優勢是至關重要的。使用 Flutter 開發時間通常會減少 30-40%,因為在 Android 開發中,每次修改後 Gradle 都需要重新構建,這會降低 Android 開發人員的速度。

3. 前後端只需一套代碼

在 Android 編程中,前端( Views )有單獨的文件,由後端( Java )引用,與之不同的是,flutter 使用一種語言( Dart )來完成這兩項工作,並使用一個響應式框架。

Dart 借鑑了其他語言眾多流行的特性,同時不會讓你感到陌生,因為它和 Java 或者其他語言相似。Dart 的構建考慮了開發人員的易用性,從而使許多常見任務變得更加容易。你可以在這學到更多有關 Dart 的知識: Dart 語言之旅(https://www.dartlang.org/guides/language/language-tour)

4. 這是一種強大的開箱即用的設計體驗

由於 Flutter 團隊對 Material design 規範的積極適配,使得開發者很容易就可以創建出功能強大的 UI 體驗。它可以幫助你生成通常只能在原生 app 中才能體驗到的平滑、流暢,因為 Flutter 的發行版構建的就是一個原生 app 。

Flutter 的小部件同時也實現了 iOS 的人機界面設計規範,可以讓你在 iPhone 和 iPad 上也能獲得那種原生的“體驗”。


13 個你應該選擇/考慮使用 Flutter 的理由


5. 有一個數量眾多且開源的軟件庫

大量可用的開源包可以幫助你更快、更輕鬆地創建應用程序,而且目前有許多可用的包可以使許多複雜的任務變得更容易。

由於不斷加入的開發人員對 Flutter 的作出的積極貢獻,所以即使這個開源庫還不夠成熟,但它依然在積極壯大。

6. 與 Firebase 的緊密結合

Firebase 為雲存儲、雲功能、實時數據庫、託管、身份驗證等一系列服務提供開箱即用的支持。你的基礎設施完全可以是無服務器的、冗餘的和可擴展的。這意味著你不必花費大量時間和資源來構建後端。

它還可以直接與一個工具結合使用來自動化你的開發和發佈過程以促進持續交付(例如 Fastlane)。因此,你不必在團隊中提供專門的 DevOps 支持。

7. 大量 IDE支持 Flutter

在使用 Flutter 進行編程時,你可以從許多集成開發環境中進行選擇。一開始我使用的是 Android Studio,但後來我看 Flutter Live 時使用的是VS Code。這讓我很疑惑,因為我發現很多 Flutter 開發人員都在使用 Visual Studio Code。當我嘗試之後,我明白為什麼這麼多人喜歡它了。 VS Code 相較於 Android Studio 和 IntelliJ 更加輕量,速度也快得多,並且具有兩者中的大部分特性。就我個人而言,我已經轉向 VS Code,但是你也可以使用許多其他的 IDE ,你無需切換就可以開始 Flutter 的工作。

8. UI遵從性——一切都是一個小部件

在 flutter 中,所有的東西都是一個小部件,例如 Appbar, Drawer, Snackbar, Scaffold 等等。開發者可以很容易地將一個小部件包裝在另一個小部件中以實現一些效果,例如將一個部件包裝在一個 Center 小部件中,就可以讓其居中。

以上這些都是為了確保你的用戶無論使用什麼平臺運行你的軟件都可以有相同的用戶體驗。你還應該閱讀下述 flutter 文檔:Everything’s a widget(https://flutter.io/docs/resources/technical-overview#everythings-a-widget)

9. Android/iOS 的不同主題

根據用戶的平臺分配正確的主題就像使用三元 if 檢查用戶正在運行的平臺一樣簡單;允許 UI 在運行時決定使用哪些 UI 組件。

下面是一個示例代碼,它用於檢查當前運行的平臺,如果是 iOS,它返回一個以紫色作為主色調的主題。

13 個你應該選擇/考慮使用 Flutter 的理由

10. 使用 Code Magic 進行持續集成.

Code magic 是 2018 年 12 月 4 日在 Flutter Live 中使用的一個開源工具。Code magic 很容易學習,並且完全免費!它是一種高度複雜的 CI 工具,專門針對 Flutter 進行了優化。 Code magic 使構建過程無縫對接。


13 個你應該選擇/考慮使用 Flutter 的理由

運行中的 Code Magic


11. 2Dimensions 讓動畫製作更簡單


13 個你應該選擇/考慮使用 Flutter 的理由

我第一次嘗試使用 Flutter + Flare——Bouncy

同樣是在 Flutter live 2018 期間推出的驚人的在線工具,可以輕鬆創建非常棒的 UI 或動畫。它彌補了 UI 設計人員和開發人員之間的差距,減少了應用 UI 或動畫相關更改所需的時間。

Flare的學習曲線很淺,我在使用了它之後,對創建動畫的簡單性感到驚訝! 你可以看到 app 在這裡工作,我甚至在球上加了一個反射,給它一個更逼真的外觀。

12. 運行在桌面和 Web 端的 Flutter

Flutter 團隊現在已經有了可以在 web 瀏覽器中工作的 Flutter 原型 app ,這讓所有人都感到震驚。在 Flutter Live 中,之前的絕密項目 “Hummingbird” 向世界公開。很快,你就可以使用相同的代碼輕鬆地為移動端、桌面端和 web 端創建應用程序。

13 個你應該選擇/考慮使用 Flutter 的理由

13.來自 Flutter 團隊和 Flutter 社區的持續支持

在過去的三週裡,我一直在用 Flutter 工作,並注意到來自 Flutter 團隊和社區的很多支持和鼓勵;尤其是 Scott Stoll, Nilay Yener 和 Simon Lightfoot(僅舉幾個例子)。每個星期三,Flutter 社區中許多比較知名的名字都可以在 Zoom at #HumpDayQandA 上看到,在那裡你可以實時獲取來自真人的有關 Flutter 的幫助。即便你沒有任何問題,那也是一個很好的地方,因為你可以從他們回答別人的問題中學到很多。


13 個你應該選擇/考慮使用 Flutter 的理由


這是我參加 #HumpDayQandA 的照片。 來自 Flutter Egypt 的創始人,谷歌開發者 Amed Abu Eldahab的推文。

使用 Flutter 的價值很明顯,也很有吸引力,因為它減輕了初創公司試圖將產品發佈到多個平臺所面臨的許多困難;特別是處理在有限的時間和預算內將軟件產品推向市場的時候。

最後

如果你有什麼疑問,歡迎在評論區留言。同時如果你覺得本文對你有幫助,希望可以關注並轉發,你的支持是我更新的最大動力!


分享到:


相關文章: