@qinyun
2018-12-05T10:42:48.000000Z
字数 2672
阅读 1472
未分类
今天,在Flutter Live上,Google宣布Flutter 1.0正式发布。此外,谷歌还宣布和Square等公司合作开发一系列新的第三方集成工具和一些新功能,目的是使Flutter与现有应用程序的集成变得更加容易。
自Flutter在2017年I/O大会推出以来,就吸引了很多移动开发者的目光。今年6月底,Flutter预览版发布的时候,Google宣布与阿里巴巴的闲鱼团队在 Flutter上合作,标志着 Flutter 进入了一个新阶段。
而目前在Google内部,Flutter已经用于各种各样的产品中,如Google Ads的iOS和Android版应用已经用了Flutter框架。
据Google的不完全统计,目前,Abbey Road Studios、阿里巴巴、Capital One、Groupon、Hamilton、京东、Philips Hue、Reflectly和腾讯等公司都已经使用Flutter进行开发。
Flutter可以让你构建漂亮的应用程序,它提供了很多widgets,可以实现Material Design。
速度快,它基于 Skia 2D 硬件加速图形引擎,该引擎也同样用在了 Chrome 和 Android 平台。
高效,Flutter 引入了热重载,这个革命性的特性可以让移动开发者和设计师们实时迭代应用程序,据了解,这个特性让开发效率提升了3倍。
开放,Flutter 是一个基于 BSD-style 许可的开源项目,全球范围内数百位开发者在为它贡献代码。
更多Flutter详细的性能可戳此文:为什么说Flutter是革命性的?
自第一个测试版以来,Google一直致力于为Flutter添加新功能和改进。特别是通过新的小部件完善了对像iOS应用程序的支持,增加了对近二十种Firebase服务的支持,并致力于提高性能和减少Flutter应用程序的大小。他们还根据社区的反馈解决了数千个问题。
Flutter包含了最新版本的Dart 2.1,更小的代码体积,更快的类型检查,以及更好的类型错误可用性。Dart 2.1还提供了新的语言特性,可在构建用户体验时提高效率。
1.0版本的侧重点是错误修复和保持稳定性,不过Google还推出了两个主要预览新功能,开发人员可以在预览模式下试用,预计将在2019年2月版本中发布:添加到App和平台视图。
在刚开始构建Flutter时,Google专注于提升从头开始构建新应用程序的效率。当然,并不是每个人都有机会从头开始构建新应用。一些大公司希望可以将Flutter用于开发现有应用程序中的新功能,或者将现有应用程序分阶段切换到Flutter。
Flutter的架构可以很好地支持这种模型:毕竟每个Flutter应用程序都包含了一个Android和iOS容器。Google也一直在努力让用户可以通过更新现有应用程序的模板和工具来逐步采用Flutter。他们让在Flutter和宿主代码之间共享资产变得更容易。Google还重新设计了工具,以便在不启动调试器的情况下轻松连接到现有的Flutter进程。
添加到App是一种将Flutter逐渐引入到现有应用程序的方法,但有时需要反过来将一个Android或iPhone平台控件嵌入到Flutter应用程序中。
所以Google引入了平台视图小部件(AndroidView和UiKitView),让你可以在每个平台上嵌入这些东西。几个月来Google一直在预览对Android的支持,现在正在扩展到对iOS的支持,并开始添加基于这些小部件的Google Maps(https://github.com/flutter/plugins/tree/master/packages/google_maps_flutter)和WebView(https://github.com/flutter/plugins/tree/master/packages/webview_flutter)等插件。
与其他组件一样,平台视图小部件可用于组合模型,这意味着你可以将它们与其他Flutter内容集成在一起。例如,在上面的屏幕截图中,右下角的浮动操作按钮是Flutter小部件,背景颜色为50%alpha。这充分展示了Flutter独特的架构优势。
到目前为止,Flutter的主要目标是iOS和Android。然而,Google对Flutter的愿景是从移动设备扩展到更广泛的平台上。实际上,Flutter从一开始就被设计为可移植的UI工具包,灵活到可以被用在任何基于像素绘制的地方。
其中的一些工作已经在进行中。Flutter Desktop Embedding(https://github.com/google/flutter-desktop-embedding)是一个还处在早期阶段的项目,它将Flutter引入到桌面操作系统,包括Windows、MacOS和Linux。他们最近还发布了在Raspberry Pi上使用Flutter的相关细节,演示了Flutter对嵌入式设备的支持。
Hummingbird是基于Web的一个Flutter运行时实现,它利用Dart将Flutter代码编译为本机ARM代码或JavaScript。这使得Flutter代码可以不经修改就能在Web上运行。
当然,移动仍然是Google的当务之急,你可以期待在未来几个月内看到他们对这些核心移动方案的巨大投入。
随着Flutter 1.0的发布,除了现有的beta、dev和master频道之外,Google还建立了一个新的“stable”频道,stable频道的更新频率低于其他频道,他们预计将按季度更新stable频道。
Flutter 1.0地址:https://flutter.io
代码试验:https://flutter.io/docs/codelabs
示例:https://flutter.io/docs/cookbook
相关视频:https://flutter.io/docs/resources/videos
参考链接:https://developers.googleblog.com/2018/12/flutter-10-googles-portable-ui-toolkit.html