写点什么

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

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

关注

评论 2 条评论

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

网络中的数据传输模式有哪些-镭速

镭速

以PHP门面模式实现简单的邮件发送

北桥苏

php 设计模式 门面模式

设计原则 — D 依赖反转原则

Lemoon Can

依赖反转原则 设计原则 依赖反转

如何注册appuploader账号​

雪奈椰子

Cloud Kernel SIG月度动态:发布ANCK 5.10、4.19新版本,ABS新增仓库构建功能

OpenAnolis小助手

开源 CVE anck 龙蜥sig Cloud Kernel

Mac打不开后缀名为txt文件,显示文本编码中文不适用

互联网搬砖工作者

PoseiSwap:合规、隐私与支持更广泛的资产

西柚子

如何使用appuploader制作描述文件​

雪奈椰子

全国标杆!3DCAT实时云渲染助力深圳移动5G+智慧校园建设

3DCAT实时渲染

虚拟现实 虚拟仿真 实时渲染云

TiDB x CAPCOM | 为在线游戏提供灵活、可靠、可扩展的数据库服务

PingCAP

如何实现文件共享,文件共享的设置方法

镭速

英特尔 x 波士顿咨询:打造嵌入式安全技术GenAI解决方案,满足企业实际需求

科技之家

NFTScan: 蓝筹 NFT 跌幅严重,如何保持竞争力?

NFT Research

构建动态财务模型,打造商业化的全面预算管理模式

智达方通

业务场景 全面预算管理 财务模型

没关系,前端还死不了

引迈信息

Vue 前端 低代码 JNPF

永远不该忘记!科技才是硬道理,手中没有剑,跟有剑不用,是两回事

加入高科技仿生人

人工智能 ChatGPT 文心一言 通义千问 科学技术

为什么企业选择局域网即时通讯软件?局域网即时通讯软件哪家好?

WorkPlus

关于在 MySQL 排序中使用索引这件事!

江南一点雨

MySQL 数据库

做共享电动车找哪家工厂生产电动车?

共享电单车厂家

共享电动车厂家 共享电单车生产 工厂生产电动车 共享电动车找哪家工厂 本铯共享电动车厂家

什么是Bundle ID​

雪奈椰子

如何使用appuploader制作描述文件​

雪奈椰子

还在为项目初始化、依赖管理问题困扰?Dubbo Initializer 来了!

阿里巴巴云原生

阿里云 云原生 dubbo

企业移动数字化平台如何赋能企业管理升级?

WorkPlus

Electron登录注册桌面应用源码+安装文件的打包方法

北桥苏

JavaScript Electron electron实战

最高5W奖金!百度“墨客”挑战邀请赛再启

百度安全

搜索接口优化方案——幂集分词表

北桥苏

php elasticsearch thinkphp 搜索引擎;

如何在uni-app中使用fingerprint2实现游客设备标识

北桥苏

JavaScript 前端 uniapp fingerprint

PHP如何通过rabbitMQ死信队列实现业务的延时/定时操作

北桥苏

php RabbitMQ

如何注册appuploader账号​

雪奈椰子

宝塔中极速安装的PHP如何使用AMQP连接RabbitMQ

北桥苏

RabbitMQ AMQP php-amqplib

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