极客视点
极客时间编辑部
极客时间编辑部
113243 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/04:15
登录|注册

Dart要崛起?

讲述:丁婵大小:5.83M时长:04:15
你好,欢迎收听极客视点。
近几年,谷歌正在开发第三个操作系统——Fuchsia。Fuchsia 是一个开源项目, 可以运行各种设备,从智能家居设备到笔记本电脑和手机等等。就在近日,谷歌 Fuchsia 网站上更新了一则“Fuchsia Programming Language Policy”的文档,详细解释了 Fuchsia 项目在编程语言方面的选型考虑。据官方文档披露,C/C++、Dart、Rust、Go 语言都是 Fuchsia 开发的候选语言,除了老牌编程语言 C 和 C++ 的江湖地位稳固得到了官方开发人员的认可以外,新兴编程语言中,Dart 击败了 Rust 和 Go 语言,成为用户 UI 界面的正式官方语言。

谷歌为什么选择 Dart 呢?

原因是 Fuchsia 的终端开发人员已经在使用 Dart 了,而且 Fuchsia 的大部分 UI 界面在使用 Flutter,而 Dart 正是 Flutter 的官方语言。此外也跟 Dart 自身的优势有关,比如支持使用直线代码编写异步程序、开发效率高以及提供了内存安全保证,从而降低了软件存在安全漏洞的风险。
当然,技术选型除了要考虑一门语言的优势,也需要考虑其劣势带来的影响。 Dart 的劣势包括:
使用垃圾回收机制管理内存,更加占用资源;
具有大量的运行时环境;
工具链强制在二进制大小、性能和启动延迟之间进行权衡,这比工具链为其他语言提供的权衡更糟糕。
综合考虑后,Fuchsia 决定:只支持面向非驱动程序的终端开发人员;最终用在 UI 界面编写和非无限期运行程序中。

Flutter 为什么要选择 Dart 开发?

据了解,早期的 Flutter 团队在选型时也是评估了十多种语言,最终选择了 Dart,因为它符合他们构建用户界面的方式。
更进一步,Dart 的诸多特性堪称为 Flutter 量身打造:
Dart 是 AOT(Ahead Of Time)编译的,编译成快速、可预测的本地代码,使 Flutter 几乎都可以使用 Dart 编写。这不仅使 Flutter 变得更快,而且几乎所有的东西(包括所有的小部件)都可以定制。
Dart 也可以 JIT(Just In Time)编译,开发周期异常快,工作流颠覆常规(包括 Flutter 流行的亚秒级有状态热重载)。
Dart 可以更轻松地创建以 60fps 运行的流畅动画和转场。Dart 可以在没有锁的情况下进行对象分配和垃圾回收。就像 JavaScript 一样,Dart 避免了抢占式调度和共享内存(因而也不需要锁)。由于 Flutter 应用程序被编译为本地代码,因此它们不需要在领域之间建立缓慢的桥梁(例如,JavaScript 到本地代码)。它的启动速度也快得多。
Dart 使 Flutter 不需要单独的声明式布局语言,如 JSX 或 XML,或单独的可视化界面构建器,因为 Dart 的声明式编程布局易于阅读和可视化。所有的布局使用一种语言,聚集在一处,Flutter 很容易提供高级工具,使布局更简单。
开发人员发现 Dart 特别容易学习,因为它具有静态和动态语言用户都熟悉的特性。
虽然以上功能并非 Dart 独有,但它与 Flutter 的组合却恰到好处,使其在实现 Flutter 项目时变得无比高效。
其实,对于软件开发行业来说,技术的实现只是成功中的关键一环,如何形成一个以某项技术为核心的庞大生态圈、良好的开发者社区和及时的维护同样无比重要。可以看到 Flutter 目前的使用流行度越来越广泛,各大厂的 Flutter 项目也正在稳步推进。而 Dart 作为 Flutter 的官方语言,如今又得到谷歌力推,是否会在不久的将来崛起呢?
以上就是今天的内容,对于 Dart 的未来发展,你看好吗?
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 小斧
    对于软件开发行业来说,技术的实现只是成功中的关键一环,如何形成一个以某项技术为核心的庞大生态圈、良好的开发者社区和及时的维护同样无比重要。
    4
收起评论
显示
设置
留言
1
收藏
23
沉浸
阅读
分享
手机端
快捷键
回顶部