>>国内基础软件,不管是数据库还是芯片上,都有哪些替代方案?>> 了解详情
写点什么

Flutter 1.0 重磅发布,除了移动它还想做桌面和 Web 开发

  • 2018-12-05
  • 本文字数:2047 字

    阅读完需:约 7 分钟

Flutter 1.0重磅发布,除了移动它还想做桌面和Web开发

今天,在 Flutter Live 上,Google 宣布 Flutter 1.0 正式发布。此外,谷歌还宣布和 Square 等公司合作开发一系列新的第三方集成工具和一些新功能,目的是使 Flutter 与现有应用程序的集成变得更加容易。


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 的重要特性

  • Flutter 可以让你构建漂亮的应用程序,它提供了很多 widgets,可以实现 Material Design。

  • 速度快,它基于 Skia 2D 硬件加速图形引擎,该引擎也同样用在了 Chrome 和 Android 平台。

  • 高效,Flutter 引入了热重载,这个革命性的特性可以让移动开发者和设计师们实时迭代应用程序,据了解,这个特性让开发效率提升了 3 倍。

  • 开放,Flutter 是一个基于 BSD-style 许可的开源项目,全球范围内数百位开发者在为它贡献代码。


更多 Flutter 详细的性能可戳此文:为什么说Flutter是革命性的?


Flutter 1.0 的新功能

自第一个测试版以来,Google 一直致力于为 Flutter 添加新功能和改进。特别是通过新的小部件完善了对像 iOS 应用程序的支持,增加了对近二十种 Firebase 服务的支持,并致力于提高性能和减少 Flutter 应用程序的大小。他们还根据社区的反馈解决了数千个问题。


Dart 2.1

Flutter 包含了最新版本的 Dart 2.1,更小的代码体积,更快的类型检查,以及更好的类型错误可用性。Dart 2.1 还提供了新的语言特性,可在构建用户体验时提高效率。


1.0 版本的侧重点是错误修复和保持稳定性,不过 Google 还推出了两个主要预览新功能,开发人员可以在预览模式下试用,预计将在 2019 年 2 月版本中发布:添加到 App 和平台视图。


添加到 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 MapsWebView等插件。



与其他组件一样,平台视图小部件可用于组合模型,这意味着你可以将它们与其他 Flutter 内容集成在一起。例如,在上面的屏幕截图中,右下角的浮动操作按钮是 Flutter 小部件,背景颜色为 50%alpha。这充分展示了 Flutter 独特的架构优势。


超越移动的 Flutter

到目前为止,Flutter 的主要目标是 iOS 和 Android。然而,Google 对 Flutter 的愿景是从移动设备扩展到更广泛的平台上。实际上,Flutter 从一开始就被设计为可移植的 UI 工具包,灵活到可以被用在任何基于像素绘制的地方。


其中的一些工作已经在进行中。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


代码试验: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


更多内容,可关注前端之巅(ID:frontshow)



2018-12-05 11:026364
用户头像

发布了 731 篇内容, 共 407.2 次阅读, 收获喜欢 1967 次。

关注

评论 2 条评论

发布
用户头像
招人招人,字节跳动基础架构团队,打造字节跳动的无线基础设施。
http://www.newsmth.net/nForum/#!article/Career_Plaza/1478841
2018-12-15 23:41
回复
没有更多了
发现更多内容

InnoDB 引擎了解(双写机制)

Ayue、

MySQL 数据库 1月月更

架构实战营 模块五作业

Jude

架构实战营

让创新触手可及,阿里云容器服务 ACK 发行版开放免费下载

阿里巴巴云原生

阿里云 云原生 容器服务 ACK

面试突击17:HashMap除了死循环还有什么问题?

王磊

架构训练营模块五作业

沈益飞

架构训练营 架构师训练营 4 期

最新版:Apache Pulsar 针对 Log4j 漏洞解决方案

Apache Pulsar

开源 架构 云原生 中间件 Apache Pulsar

使用 VSCode 调试 Electron 主进程代码

编程三昧

Electron 1月月更

「架构实战营」模块五《如何设计业务高性能高可用计算架构》作业

DaiChen

作业 模块五 「架构实战营」

ReactNative进阶(二十五):ScrollView 滚动视图组件详解

No Silver Bullet

React Native ScrollView 1月月更

微博评论的高性能高可用计算架构设计

皓月

「架构实战营」

【重构前端知识体系之HTML】讲讲对HTML5的一大特性——语义化的理解

归子莫

html html5 前端 语义化 1月月更

如何真正学习Go 语言[翻译]

宇宙之一粟

Go 学习方法 Go 语言 1月月更

阿里云开源业内首个应用多活项目 AppActive,与社区共建云原生容灾标准

阿里巴巴云原生

阿里云 开源 高可用 云原生 容灾

模块五

浮生若梦

【架构师训练营】模块五作业

樰巳-堕~Horry

架构实战营 「架构实战营」

SpringBoot 实战:加载和读取资源文件

看山

classpath SpringBoot 2 1月月更

架构实战营:模块三作业

Poplar

「架构实战营」

Flutter 1.0重磅发布,除了移动它还想做桌面和Web开发_移动_无明_InfoQ精选文章