飞天发布时刻:2024年 Forrester 公有云平台Wave™评估报告解读 了解详情
写点什么

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:026812
用户头像

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

关注

评论 2 条评论

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

在线IEEE浮点二进制计算器工具

入门小站

工具

Python 报错 ValueError list.remove(x) x not in list 解决办法

AlwaysBeta

Python 编程

GraphScope v0.12.0 版本发布

6979阿强

大数据 图计算 GraphScope 图分析 图数据

Docker容器简介、优缺点与安装

乌龟哥哥

4月月更

react源码解析12.状态更新流程

buchila11

React

自己动手写Docker系列 -- 5.8实现容器制定环境变量运行

Go Docker 4月月更

从安装到编译: 10分钟教你在本地使用和开发GraphScope

6979阿强

大数据 图计算 GraphScope 图分析 图数据

读《Software Engineering at Google》(04)

术子米德

架构师成长笔记

用 GraphScope 像 NetworkX 一样做图分析

6979阿强

大数据 图计算 GraphScope 图分析 图数据

seaborn绘制箱型图

Peter

可视化 数据可视化 seaborn

[Day14]-[动态规划]四键盘问题

方勇(gopher)

LeetCode 数据结构与算法、

半导体行业如何保持高效远程办公?因果集群(Causal Clustering)了解一下!

龙智—DevSecOps解决方案

远程办公 因果集群

Atlassian应对CVE-2022-22963,CVE-2022-22965的常见问题

龙智—DevSecOps解决方案

Atlassian CVE-2022-22963 CVE-2022-22965

万字长文:直击关于Docker所必须了解的知识

穿过生命散发芬芳

Docker 4月月更

基于卷积神经网络的猫狗识别

Peter

机器学习 深度学习 tensorflow keras

读《Software Engineering at Google》(03)

术子米德

架构师成长笔记

jupyter notebook换皮肤

Peter

Python 机器学习 数据分析 Jupyter Notebook

TypeScript基础学习

乌龟哥哥

4月月更

在线CSV转Excel工具

入门小站

工具

基于机器学习算法的钢材缺陷检测分类

Peter

Python 决策树 随机森林 集成学习 LightGBM

面试突击39:synchronized底层是如何实现的?

王磊

Java java面试

在 K8s 上运行 GraphScope

6979阿强

大数据 图计算 GraphScope 图分析 图数据

一文带你搭建RocketMQ源码调试环境

悟空聊架构

RocketMQ 4月日更 悟空聊架构 4月月更

企业如何进行信息化

秋去冬来春未远

数字化 信息化管理 如何信息化 信息化规律

如何在Unity中免费制作游戏

龙智—DevSecOps解决方案

Unity Perforce Helix Core

react源码解析11.生命周期调用顺序

buchila11

React

linux之chroot命令

入门小站

Linux

图计算 101:图计算的类型、语言与系统

6979阿强

大数据 图计算 GraphScope 图分析 图数据

使用 Helm 部署 GraphScope

6979阿强

大数据 图计算 GraphScope 图分析 图数据

通过质量内建,提高交付质量

老张

软件测试 质量内建 交付质量

Linux驱动开发-编写W25Q64(Flash)驱动

DS小龙哥

4月月更

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