帶你了解最新Google力推的跨平台開發框架新寵兒:Flutter (Flutter FAQ)
目前全球已經趨近於60億手機用戶,Android和iOS開發平台已經非常成熟,甚至還有RN(React Native)框架跨平台開發,為什麼Google還要再做一個Flutter?它能夠做什麼,究竟比別人好在哪裡,有什麼優勢,又是怎麼做到的呢?快來看看Flutter常見問題!
👉Flutter是什麼?
Flutter是一款移動應用程式SDK,包含框架、widget和工具,為開發人員提供了一種在Android和iOS上構建和部署移動應用程式的簡單高效能的方式。
👉Flutter能做什麼?
對使用者來說,Flutter讓使用界面變得美麗生動。
對於開發者來說,Flutter降低了開發移動應用程式的門檻,加速開發過程,並降低了同時開發iOS和Android兩套應用程序的成本和復雜性。
對於設計師來說,Flutter有助於實現原始設計願景,高保真度、不妥協。
Flutter適用於希望以更快的方式構建漂亮的移動應用程式的開發人員,或者通過單一投入可以得到更多用戶的方式(一套程式碼同時支援iOS和Android)。
👉學習Flutter需要開發經驗嗎?
學習使用Flutter,不需要有任何開發經驗。我們常常看到沒有程式開發經驗的人學習並使用Flutter開發App;對於熟悉物件導向,或是有相關程式語言開發經驗的人更加容易學習。
👉Flutter可以開發出什麼類型的應用程式?
如果您的App強烈需要表達出品牌個性,Flutter 會非常適合,即便您想要開發的App看起來像是股票平台那樣複雜,也可以使用Flutter 來開發。Flutter提供的豐富組件可以支持大多數硬體(包括攝影機、GPS、網路)以及服務(例如金融支付、雲端儲存、驗證)。
👉誰創造了Flutter?
Flutter是一個開源項目,來自Google和論壇共同開創而成。
👉有哪一些知名公司使用Flutter?
其中包含Google pay,阿里巴巴、eBay、BMW、騰訊等等。
👉Flutter有什麼獨到之處?
Flutter與其他跨平台移動應用程式開發有點不一樣,因為Flutter既不使用WebView,也不使用原生系統的元件;相反,Flutter使用自己的高效能渲染引擎來繪製widget。
另外,Flutter的不同是因為它核心只有一層輕量的C/C++程式碼。Flutter在Dart程式語言中可實現大部分系統(組合、手勢、動畫、框架、widget等), 開發人員可以輕鬆地進行讀取、更改、替換或移除。這些特性為開發者提供更多的系統控制權限。
👉Flutter SDK包含什麼東西?
- 高度優化的2D 渲染引擎,更具備出色的文字支持功能
- 現代化互動風格框架
- 豐富的widgets(包含Material Design及iOS 風格)
- 用於單元和整合測試的API
- 用於連接系統和第三方SDK 及API
- 無界面(headless) 測試運行器,可在Windows、Linux 和Mac上測試
- 可使用Dart DevTools測試、調試和分析所開發的App
- 使用命令列,用於開發、創造、測試所開發的App
Flutter支援Linux、macOS、ChromeOS和Windows 進行開發。
👉Flutter是用什麼程式語言?
Dart程式語言,一種針對客戶端應用程式優化的快速發展程式語言。底層圖形框架和Dart虛擬機是用C/C++執行。
👉為什麼Flutter選擇使用 Dart?
在最初的開發階段,Flutter團隊研究了很多語言,並考慮框架開發者、開發人員和最終用戶的需求。我們發現許多語言都滿足部分要求,但Dart滿足了我們所有的要求和標準。
Dart程式語言在下列四個考量點得到很高的評價:
1.開發人員生產力
Flutter的主張之一是節省開發人員的投入資源,Dart讓開發人員用同一套程式碼就可以在iOS和Android上執行,節省開發時間使Flutter更具吸引力,這對我們的框架團隊和我們的開發人員都非常重要。
2.物件導向
雖然我們可以使用非物件導向的語言,但這意味著需要投入更多不必要的資源浪費去解決幾個難題。此外,絕大多數開發人員都有物件導向開發的經驗,這使得學習如何使用 Flutter 進行開發變得更加容易。
3.可預測的高效能
我們希望開發人員藉由Flutter可以開發出高質感並且很順暢的用戶體驗App。為了實現這一點,我們需要能夠在每個動態幀(animation frame)中運行大量的程式碼,這意味著我們需要一種能提供高效能又能提供可預測效能的程式語言,而且不會出現變慢或是卡頓的現象。
4.快速分配
Flutter框架使用函數式流程,並依賴於底層內存分配器,有效地處理小型、短暫的分配。
如果你對Flutter充滿好奇而且有所懷疑,看完這篇文章你應該對Flutter爆紅,Flutter的成熟度、穩定度,還有為什麼使用Dart程式語言等等,了解不少!
0 意見:
張貼留言