建議查看原文
文章來源
以下是Dart功能的快速列表,它們共同使Flutter成為必不可少的:
-Dart是AOT(Ahead Of Time)編譯成快速俊鱼,可預(yù)測的本機(jī)代碼刻像,它允許幾乎所有的Flutter都用Dart編寫。這不僅使Flutter快速并闲,幾乎所有(包括所有小部件)都可以定制细睡。
-Dart也可以是JIT(及時(shí))編譯,用于極快的開發(fā)周期和改變游戲規(guī)則的工作流程(包括Flutter流行的亞秒級(jí)狀態(tài)熱重載)帝火。
-Dart可以更輕松地創(chuàng)建以60fps運(yùn)行的平滑動(dòng)畫和過渡溜徙。Dart可以在沒有鎖的情況下進(jìn)行對(duì)象分配和垃圾收集。和JavaScript一樣犀填,Dart避免了搶先調(diào)度和共享內(nèi)存(從而鎖定)萌京。因?yàn)镕lutter應(yīng)用程序被編譯為本機(jī)代碼,所以它們不需要領(lǐng)域之間的緩慢橋接(例如宏浩,JavaScript到本機(jī))知残。他們的啟動(dòng)速度也快得多。
-Dart允許Flutter避免使用單獨(dú)的聲明性布局語言(如JSX或XML)或單獨(dú)的可視化界面構(gòu)建器比庄,因?yàn)镈art的聲明式編程布局易于閱讀和可視化求妹。并且所有布局都采用一種語言并在一個(gè)地方,F(xiàn)lutter很容易提供高級(jí)工具佳窑,使布局變得簡單制恍。
開發(fā)人員發(fā)現(xiàn)Dart特別容易學(xué)習(xí),因?yàn)樗哂徐o態(tài)和動(dòng)態(tài)語言用戶都熟悉的功能神凑。
Dart可以有效地編譯AOT或JIT净神,解釋或轉(zhuǎn)換成其他語言何吝。Dart編譯和執(zhí)行不僅非常靈活,而且速度特別快鹃唯。
使用Flutter優(yōu)點(diǎn):
- 有狀態(tài)的熱重裝爱榕, 在開發(fā)過程中,F(xiàn)lutter使用JIT編譯器坡慌,可以在一秒鐘內(nèi)重新加載并繼續(xù)執(zhí)行代碼黔酥。應(yīng)用程序狀態(tài)會(huì)盡可能在重新加載時(shí)保留,因此應(yīng)用程序可以從停止的位置繼續(xù)
- 避免猛拉
- AOT編譯和“橋梁”
- 搶占式調(diào)度洪橘,時(shí)間切片和共享資源
- 分配和垃圾收集
- 統(tǒng)一布局
- Dart上手快跪者,簡單易學(xué),完全開源
靜態(tài)語言和動(dòng)態(tài)語言區(qū)別:靜態(tài)語言通常編譯靜態(tài)語言以生成目標(biāo)機(jī)器的本機(jī)機(jī)器代碼(或匯編代碼)程序熄求,其在運(yùn)行時(shí)由硬件直接執(zhí)行渣玲。動(dòng)態(tài)語言由解釋器執(zhí)行,不產(chǎn)生機(jī)器語言代碼弟晚。