ericltw / notes

0 stars 1 forks source link

Why Flutter use Dart #2

Open ericltw opened 6 years ago

ericltw commented 6 years ago

A quick list of the Dart features that together make it indispensable for Flutter:

Compilation and execution

Stateful hot reload

Avoiding jank

AOT compilation and the "bridge"

Preemptive scheduling, time slicing, and shared resources

Allocation and garbage collection

Unified layout

Reference

ericltw commented 6 years ago

Flutter選擇了Dart而不是JavaScript。

  1. Dart 的性能更好。Dart在JIT模式下,速度與JavaScript基本持平。但是Dart支持AOT,當以AOT模式運行時,JavaScript便遠遠追不上了。速度的提升對高幀率下的視圖數據計算很有幫助。
  2. Native Binding。在Android上,v8的Native Binding可以很好地實現,但是iOS上的JavaScriptCore不可以,所以如果使用JavaScript,Flutter 基礎框架的代碼模式就很難統一了。而Dart的Native Binding可以很好地通過Dart Lib實現。
  3. Fuchsia OS,看起來不像原因的一個原因。Fuchsia OS內置的應用瀏覽器就是使用Dart語言作為App的開發語言。而且實際上,Flutter是Fuchisa OS的應用框架概念上的一個子集。
  4. Dart是類型安全的語言,擁有完善的包管理和諸多特性。Google召集瞭如此多個編程語言界的設計專家開發出這樣一門語言,旨在取代JavaScript,所以Fuchsia OS內置了Dart。Dart可以作為embedded lib嵌入應用,而不用只能隨著系統升級才能獲得更新,這也是優勢之一。

Reference

ericltw commented 5 years ago

https://www.youtube.com/watch?v=iVYpeEd3Jes