本篇為Flutter中文教程系列第一篇,先整體介紹一下Flutter瘤缩,旨在讓您對Flutter有一個基本的認(rèn)識喇完。如果您還想了解更多,可以去Flutter中文網(wǎng) 了解更多剥啤。
Flutter是什么锦溪?
Flutter是谷歌的移動UI框架,可以快速在iOS和Android上構(gòu)建高質(zhì)量的原生用戶界面府怯。 Flutter可以與現(xiàn)有的代碼一起工作刻诊。在全世界,F(xiàn)lutter正在被越來越多的開發(fā)者和組織使用牺丙,并且Flutter是完全免費(fèi)坏逢、開源的。簡單來說,F(xiàn)lutter是一款移動應(yīng)用程序SDK是整,包含框架肖揣、控件和一些工具,可以用一套代碼同時構(gòu)建Android和iOS應(yīng)用浮入,并且性能可以達(dá)到原生應(yīng)用一樣的性能龙优。詳情請參考Flutter簡介 。
Flutter和React-Native事秀、Weex這樣的動態(tài)化框架有什么不同彤断?
React-Native、Weex核心是通過Javascript開發(fā)易迹,執(zhí)行時需要Javascript解釋器宰衙,UI是通過原生控件渲染。Flutter與用于構(gòu)建移動應(yīng)用程序的其它大多數(shù)框架不同睹欲,因?yàn)镕lutter既不使用WebView供炼,也不使用操作系統(tǒng)的原生控件。 相反窘疮,F(xiàn)lutter使用自己的高性能渲染引擎來繪制widget袋哼。Flutter使用C、C ++闸衫、Dart和Skia(2D渲染引擎)構(gòu)建涛贯。在IOS上,F(xiàn)lutter引擎的C/C ++代碼使用LLVM編譯蔚出,任何Dart代碼都是AOT編譯為本地代碼的弟翘,F(xiàn)lutter應(yīng)用程序使用本機(jī)指令集運(yùn)行(不涉及解釋器)。而在Android下骄酗,F(xiàn)lutter引擎的C/C ++代碼是用Android的NDK編譯的衅胀,任何Dart代碼都是AOT編譯成本地代碼的,F(xiàn)lutter應(yīng)用程序依然使用本機(jī)指令集運(yùn)行(不涉及解釋器)酥筝。因此滚躯,F(xiàn)lutter能達(dá)到原生應(yīng)用一樣的性能。
同時嘿歌,F(xiàn)lutter提供了一組自己的widget)掸掏,由Flutter的framework和引擎管理和渲染。您可以瀏覽Flutter widget的目錄宙帝。之所以不適用原生控件丧凤,是因?yàn)镕lutter希望最終結(jié)果是更高質(zhì)量的,如果Flutter使用原生系統(tǒng)widget步脓,F(xiàn)lutter應(yīng)用的質(zhì)量和性能將受到這些widget本身質(zhì)量的限制愿待。例如浩螺,在Android中,有一組硬編碼的手勢和固定的規(guī)則來對它們進(jìn)行手勢沖突消歧仍侥。在Flutter中要出,您可以編寫自己的手勢識別器,該手勢識別器是手勢系統(tǒng)中的一級參與者 农渊。此外患蹂,由不同人撰寫的兩個小工具可協(xié)調(diào)手勢沖突消歧。
Flutter用什么語言開發(fā)砸紊?
Flutter 用Dart作為開發(fā)框架和widget的語言传于,詳情請參考為什么Flutter選擇使用Dart語言 。
Dart語言好學(xué)嗎?
如果你有編程經(jīng)驗(yàn)醉顽,尤其是了解Java或Javascript, 那么你回發(fā)現(xiàn)Dart學(xué)習(xí)起來非常容易沼溜,筆者只用了兩個小時基本就開始愉快的使用Dart編碼了。Flutter中文網(wǎng)編輯了一份可以幫助您快速學(xué)習(xí)Dart的Dart語言資源列表游添,希望對你有用系草。
Flutter支持像webpack一樣“熱重載”或者Android “instant run”嗎?
支持否淤,F(xiàn)lutter支持Hot Reload,通過將更新的源代碼文件注入正在運(yùn)行的Dart VM(虛擬機(jī))中工作棠隐。這不僅包括添加新類石抡,還包括向現(xiàn)有類添加方法和字段,以及更改現(xiàn)有函數(shù)助泽。詳情請參閱Flutter熱重載 啰扛。
對于程序員/開發(fā)人員來說,要使用Flutter必須具備哪些經(jīng)驗(yàn)嗡贺?
Flutter對熟悉面向?qū)ο蟾拍睿愐狻⒎椒ā⒆兞康龋┖兔钍骄幊谈拍睿ㄑh(huán)诫睬、條件等)的程序員來說是很容易入門的煞茫。學(xué)習(xí)和使用Flutter,無需事先具有移動開發(fā)經(jīng)驗(yàn)摄凡。 我們已經(jīng)看到了一些不怎么有編程經(jīng)驗(yàn)的人學(xué)習(xí)并使用Flutter進(jìn)行原型設(shè)計和應(yīng)用程序開發(fā)续徽。
可以在我現(xiàn)有的原生應(yīng)用程序中使用Flutter嗎?
可以亲澡,您可以在現(xiàn)有的Android或iOS應(yīng)用中嵌入Flutter钦扭。詳情請參考原生應(yīng)用程序中使用Flutter 。
Flutter支持文件讀取床绪、發(fā)起網(wǎng)絡(luò)請求嗎客情?
支持其弊!詳情請參考:
我在哪里可以獲得Flutter學(xué)習(xí)資源梭伐?
您可以去谷歌Flutter官網(wǎng),但是概页,現(xiàn)在也可以訪問Flutter中文網(wǎng)了籽御,Flutter中文網(wǎng) 上提供了官方文檔翻譯和一些其它案例、資源惰匙,您也可以去Github 上Flutter項目主頁技掏,去查看最新動態(tài)和提issue.
本文參考文檔:Flutter中文網(wǎng)-Flutter FAQ .