在昨晚的 Flutter Live 2018 上,Google 宣布 Flutter 1.0 正式发布。这是一个基于 Dart 的移动开发平台,旨在帮助开发者在 iOS 和 Android 两个平台上开发高质量的原生应用界面。此外,Google 还宣布了 Flutter 运行时基于 Web 的实验性实现,旨在将 Flutter 应用引入标准 Web 浏览器。
从我们首次看到 Flutter 的 Beta 测试版,到如今的 1.0 正式版,总共经过了 9个多月。
2 月底在世界移动大会 (MWC) 上发布首个 Beta 版;
5 月的 Google I/O 大会上发布 Beta 3 ;
6 月底的 GMTC 发布首个预览版;
9 月的谷歌开发者大会上,发布预览版 2;
12月初的 Flutter Live 2018 上,发布1.0 稳定版。
Flutter 1.0 主要聚焦于稳定性和 bug 修复,同时还包含两项新功能的预览 —— Add to App 和 platform views:
Flutter 1.0 使用的是最新的 Dart 2.1。Dart 2.1 提供更小的代码体积,更快的类型检查和更好的诊断。按照 Google 的说法,Dart 2.1 将输出代码的大小减少了 17%,并将编译时间缩短了 15% 。Dart 2.1 还包含新的语言特性,例如通过新mixin
关键字改进 mixin 支持、支持 int-to-double 的转换、编译时类型检查、新的 HTTP 状态码等等。
Add to App 是一种逐步将现有应用移植到 Flutter 的方法,主要用于将 Flutter 用于现有应用,或者将现有应用分阶段转换为 Flutter 。
platform views 则是一种相反的方式,用于将 Android 或 iPhone 平台的控件嵌入到 Flutter 应用。
如开头所述,Google 还宣布了 Flutter 运行时基于 Web 的实验性实现 —— Hummingbird,旨在将 Flutter 应用引入浏览器。它利用 Dart 平台的特性不仅可以编译原生 ARM 代码,还可以编译 JavaScript 。这使得 Flutter 代码可以在基于标准的 Web 上运行而无需任何更改。
Hummingbird 可让 Flutter 覆盖更多平台,包括 Windows、macOS 和 Linux 。
发行说明:
https://developers.googleblog.com/2018/12/flutter-10-googles-portable-ui-toolkit.html
引用来自“很拽De土豆”的评论
Flutter底层为啥要用自家的Dart。感觉用typescript好多了,这个普及度更高也很好用。引用来自“很拽De土豆”的评论
Flutter底层为啥要用自家的Dart。感觉用typescript好多了,这个普及度更高也很好用。引用来自“dwingo”的评论
我觉得还是类型在变量名前面看着习惯, dart更像java,估计为了吸引Android开发者吧.引用来自“祥子-匠心”的评论
@dwingo 赞同,但有意思的是,Java10引入了var,但又不是任何时候可以用,只能用于局部变量,除了对齐变量这个小点,没找到其他亮点,也没有val,觉得鸡肋引用来自“dwingo”的评论
java的var只是个简单的语法糖,变量类型还是确定且静态的,成员变量需要明确类型; 而dart是偏动态类型的,更像js/ts.没有val可以看出java过于保守了, 异议稍多的特性就不会加.
引用来自“祥子-匠心”的评论
首先自己目前以Java为主,感觉Java是太保守了,历史包袱太重,觉得可以从8开始不向后兼容,砍掉一些非现代语言的特性,新型语言能快速成长,不就是站在巨人的肩膀以及没有历史包袱java也是因一直以来的兼容性维持了社区的稳定性和不断壮大, 所以以后的版本也会把兼容性放在首位, 所以语言方面的保守也是可以理解的, 没法同时做到既兼容还能保持快速新增特性, 走错任何一步都会成为历史包袱.
https://github.com/flutterchina/flutter-in-action
https://www.bookstack.cn/books/flutter-in-action