Flutter為何選擇Dart?

Dart 是(可能唯一)一種同時支持 JIT/AOT 編譯的語言. JIT 開發模式時能快速編譯生效,是Hot Reload體驗的關鍵。AOT 生成高效的原生代碼,和 C/C++ 生成的代碼不遑多讓。

Dart 在谷歌內部和外部都有成功的使用場景。

用 Dart 寫布局很容易上手,寫多了,會感覺比 XML 更爽,還能在布局裡寫簡單邏輯。Dart2 讓這個優勢更明顯了。已經有人稱之為最容易學習的語言。

App 最重要的因素可能是平滑(smooth),Flutter 的線程體系里控制 GPU 和 Dart 在不同線程,可以說界面永遠能刷新(不卡頓),也不會出現動畫速度過快的不協調。

JavaScript 可能是最廣泛使用的語言。Flutter 比起 ReactNative 少了一層 JavaScript Bridge, 這個 Bridge 涉及多種語言,多個線程,會導致代價最為高昂的線程切換,這也是RN性能的硬傷。

Dart 之所以比 Java 好,

1 吸取了新生代語言的優點,語法簡潔優雅

2 單線程,也沒有鎖,GC 相對平滑,沒有了 JVM 的卡頓

3 擁有完全權利,不會惹出88億美元的官司

Fuchsia 里沒有一行代碼支持Java,看得我心裡不知道有多樂。

雖然安裝包大小在安卓上有明顯差距,但是iOS上差距會變小,因為蘋果會再打開安裝包加密,會增大很多,11M的包發布時能到>20M.

其它

我之前做的 Flutter App,兩三天就更新一個版本。

產品很擔心兩個問題:上傳包太多會佔用蘋果伺服器大量空間。三天兩頭審核,蘋果會不會故意把這個App的審核速度放慢。

以前哪能做到,產品安裝要找2個開發人員,開發還得被打斷工作。

推薦閱讀:

TAG:Dart | Flutter | 程序設計語言設計 |