flutter 为什么扑要用 dart ?

tnkciper  于 2023-01-27  发布在  Flutter
关注(0)|答案(4)|浏览(124)

我知道可能有很多原因,但当开发人员社区已经采用ES6,并正在努力使它更好,那么为什么dart和JS?
有没有什么特别的东西让 dart 如此适合Flutter?

6yt4nkrj

6yt4nkrj1#

这是一个常见问题解答,已经得到了广泛的回答

我不确定你为什么写ES6和“dart js”。
Flutter与JavaScript无关。
虽然Dart可以编译为JavaScript,但Flutter不使用此功能。
对于Flutter Dart,编译为本机二进制代码。

oxosxuxt

oxosxuxt2#

在几个同事问我这个问题后,我做了一些研究,我认为总结一下我读过的和思考过的东西会有所帮助(这对我的同事来说是一个非常重要的问题)
Flutter的语言要求

  • AOT和JIT编译可实现快速重载和快速发布代码
  • 一个很好的垃圾收集器,可以在创建和销毁许多对象后进行清理
  • 单螺纹,以避免锁定,从而避免猛拉
  • 避免另一个引擎在设备上运行代码的arm编译器(又名React Native)

Dart满足了所有这些要求。JS(我认为)也非常接近地满足了上述所有要求,除了AOT和JIT编译器部分。
为什么Flutter不选择JS并构建JIT和AOT编译器呢?(最初他们确实选择了JS,但后来又换了)我可以猜测如下......

  • Dart从一开始就考虑到了二进制编译
  • Dart已经有了一个二进制JIT编译器,后来又增加了AOT编译器
  • Dart结构化程度更高,也更简单(它是类型安全的,没有eval)
  • JS可能实现新的语言特性,这可能会危及Flutter开发。
  • dart 可以为Flutter优化,而无需担心JS的其他用途
  • 新JS功能的历史等待时间较长(过去3年有所改善)
  • dart 和Flutter团队可以密切合作

综上所述,我可以想象JS解决方案可能会出现,但它可能会花费很大,而且是一个更复杂的解决方案。Dart相当不错,Dart2确实通过固有的类型安全性改进了一些东西。

e5nqia27

e5nqia273#

Dart具有易于阅读和可视化的声明性和可编程布局。因此,Flutter不需要单独的声明性布局语言(如XML)。Flutter很容易提供高级工具,因为所有布局都在一种语言中并位于一个中心位置

vqlkdk9b

vqlkdk9b4#

Dart比JavaScript快得多,因为它可以同时编译AOT和JIT,这有助于在几个方面构建应用,使用JIT编译可以加快开发速度,AOT编译可以在发布过程中使用,以获得更好的优化。

点击链接

https://medium.com/hackernoon/why-flutter-uses-dart-dd635a054ebf
https://insights.daffodilsw.com/blog/why-flutter-uses-dart

相关问题