跨平臺開發是當下最受歡迎、應用最普遍的框架之一。能實現跨平臺開發的框架也五花八門,讓人眼花繚亂。最流行的跨平臺框架有 Xamarin、PhoneGap、Ionic、Titanium、Monaca、Sencha、jQuery Mobile、React native、Flutter 等等。但這些工具的表現也是高低有別,各有千秋。前端
在這些流行的框架中,有不少也已經消失在了歷史的長河中被人漸漸遺忘了。但 React native 和 Flutter 這倆框架地位依舊堅挺,備受歡迎。web
由於它們倆分別由最強大的科技巨頭 Facebook 和谷歌背書支持。本文將討論谷歌 Flutter 這個萬千矚目的框架。面試
你想知道什麼是 Flutter 應用開發嗎?你是否常常查詢這些問題:Flutter
在 iOS 開發環境中好用嗎?它比React native
更好嗎?後端
本文會告訴你,爲何 Flutter 是一個值得信賴的跨平臺應用開發解決方案。下面就跟我一塊兒探究答案,深刻了解這一跨平臺開發最佳工具吧。瀏覽器
新手可能會問這個問題:什麼是跨平臺開發呢?網絡
本質上來講,跨平臺開發就是「一石二鳥」的開發技術。下面簡單解釋一下。早期沒有跨平臺框架的時候,開發者必須爲同一應用的各個平臺(好比 Android、iOS、Windows 等)分別編寫代碼。這對開發者以及投資開發該應用的企業而言都是費時費力又花錢的工做。框架
那麼跨平臺框架解決了什麼問題呢?就是用跨平臺框架能夠只用一份代碼就適配全部平臺,省錢又省時。工具
下面回到主題,談談爲何 Flutter 能用來開發最優秀的移動應用,爲何它是跨平臺開發的首選。性能
簡而言之,Flutter
是一個軟件開發工具包(SDK)。它包含衆多小部件、框架和工具,能幫助開發者無縫構建跨平臺應用。學習
介紹 Flutter 的功能以前,咱們先來看看它的優點和不足。
它徹底免費,完全開源
能夠用來更快地建立應用
出色的用戶界面(UI)
節省代碼量
可接入平臺原生功能
最適合 MVP 開發(最小化可行產品)
較老的設備也使用相同 UI 運行應用
減小測試工做量
更豐富的社區支持
較低的維護難度
內置來自 Dart 的包管理器
Flutter 僅適用於移動設備平臺,瀏覽器不支持 Flutter(最新的 Flutter 1.5 提供了 Flutter for Web,開始解決這個問題)
Flutter 框架誕生不久,可能欠缺不少功能
Flutter 不支持開發 Apple TV 或 Android TV 上的應用
相比 JS/TS,Flutter 可選的包較少
谷歌現已發佈 Flutter 的最新重大更新版本,Flutter 1.2 版本。Flutter 新版主要的改進包括:
爲開發者提供跨平臺應用開發的最前沿工具
新版爲原有的小部件增長了許多新功能
新版還加強了核心框架的穩定性、質量和性能。
Flutter 有一個名爲原生 ARM 的功能,對初創企業和科技公司而言頗有意義。它能夠幫助開發者更輕鬆地實現本身的想法,爲應用項目帶來最顯著的優點。
這一功能使用戶能夠輕鬆地在移動應用中查看 Web 內容。此外,Flutter 還讓應用中的頁面跳轉和穩定更加容易。
最近更新的Dart.2.2
確實是一個變革性的角色。它提高了 AOT 編譯代碼的性能。此外,dart 庫提供了不少用來創建映射、列表和對象集合的類。
Dart2.2 的其餘功能包括:
映射是鍵值對的集合。
Flutter 列表是有序的值序列,其中每一個值能夠經過索引訪問,而且能夠屢次出現。
它更新了全部 dart 語言規範以適配改動。
開發者可使用 Dart 通用前端(CFE)構建新的語言功能。
當用戶在 App store 中啓動應用內購買時,這些功能可讓你的應用正常完成交易。
Google Play 和 App Store 的開發者都須要對帶有應用內購買項目的應用作好配置,正常調用它們的應用內購買 API。
Flutter
支持Android
應用包,這是一種新的上傳格式,包含應用程序的全部編譯代碼和資源。這種格式能夠加快 APK 的打包和向 Google Play 發佈的流程。
這些功能讓用戶能夠下載更小、更優化的 APK。開發者也不須要爲了支持多種設備而構建、發佈和管理多個 APK 了。
Android 應用包使用的 APK 拆分機制能夠縮減應用的大小,並支持 Android 應用程序的動態交付等新功能。
此功能容許開發者將某些功能和資源與應用程序的基礎模塊分離開來,並將前者添加到應用程序包中。
例如,若是你的應用包含相機功能,則能夠將其設爲動態模塊。以後當用戶想要下載並安裝這個功能時就能夠按需操做了。
Flutter
框架支持不少工具,例如Android Studio
和visual studio code
。還有的工具容許用戶從命令行和 Dart DevTools
構建應用以進行調試。
此外,它還容許開發者查看日誌、調試應用,並檢查 Flutter 應用開發的小部件。
如下是最適合移動應用開發的 Flutter 工具。
時間線視圖:它能夠幫助你逐幀監控應用,觀察應用的呈現和計算工做。
小部件檢查器:此工具支持可視化和瀏覽 Flutter 小部件樹層級結構。
日誌視圖:它顯示來自應用程序、網絡、框架和垃圾回收事件的活動日誌。
源代碼級調試器:用戶能夠用它一步步執行代碼、標記斷點並檢查調用堆棧。
瞭解過 Flutter 的最新功能以後,咱們來看看哪些初創公司和知名品牌使用 Flutter 進行跨平臺開發。下面是 Flutter 的應用案例。
阿里巴巴(電子商務):這家電子商務巨頭無人不知無人不曉。阿里巴巴在淘寶中就用了谷歌 Flutter 開發。
谷歌廣告(實用程序):這是付費營銷的終極工具。這個跨平臺的應用就是用 Flutter 製做的,能夠用來監控企業的網絡廣告投放。此外,它還容許谷歌專家添加 / 修改 / 刪除關鍵字,改進你的廣告計劃。
Birch Finance(金融):Birch Finance 是一個信用卡積分兌換應用,能夠幫助用戶管理並優化本身的信用卡。用戶能夠用它一站式管理全部信用卡帳戶,它還提供了多種賺取和兌換獎勵的途徑。
騰訊(遊戲等應用):這家中國科技巨頭也使用 Flutter 開發即時通信軟件服務和遊戲,諸如絕地求生、QQ 音樂、電商應用等。
Watermaniac(健康與健身):醫療保健行業也在開發跨平臺應用程序。Watermaniac 已決定使用 Flutter 構建其應用。該應用能幫助用戶監控他們攝取的水量。
構建應用固然須要花費時間和資源。項目花費的時間越久,須要投入的各類資源也就越多。所以開發應用所需的成本主要取決於時間和資源這兩個因素。
若是你正在考慮使用 Flutter 開發應用,如下是應用開發的成本計算。
總成本 = SDLC 流程所需的小時數 * 每小時所需資源的費用
SDLC 流程包括構建、測試、部署、更改和維護應用程序的詳細計劃。它包括 UI / UX 設計、前端與後端開發、質量保證和生產發佈。
最重要的一點在於,假設一個具有基礎功能的小型應用的開發投入在 10,000 美圓到 50,000 美圓的水平上,那麼使用 Flutter 以後成本能減小一半。
總的來講,跨平臺開發對初創公司和業務都有很大的好處。而 Flutter 做爲新誕生的開發框架有着明顯的優點和好處。
若是你想快速構建跨平臺應用,Flutter 很是適合你。不管是要建立最小可行產品(MVP)仍是成熟的企業應用程序,Flutter 都是最佳解決方案。