NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

关注

评论 2 条评论

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

【sql语句基础】——增(insert)

写代码两年半

数据库 sql MySQL 数据库 6月月更

curl导入postman报错小记

红毛丹

Postman 6月月更

Web3生态去中心化金融平台——Sealem Finance

EOSdreamer111

远程办公经验 | 社区征文

弑着去忘记う

初夏征文

InfoQ 极客传媒 15 周年庆征文|容器运行时技术深度剖析

liuzhen007

容器 运维 热门活动 InfoQ极客传媒15周年庆

数据库每日一题---第8天:超过5名学生的课

知心宝贝

数据库 程序员 前端 后端 6月月更

Android原生TabLayout使用全解析,看这篇就够了

yechaoa

android TabLayout 6月月更 material design

vue指令-6

小恺

6月月更

学习笔记:插件化Activity之Hook点位

北洋

插件化 Andriod 6月月更

自动化测试系列

IT蜗壳-Tango

6月日更 6月月更

【高并发】关于线程池,蚂蚁金服面试官问了我这些内容!!

冰河

并发编程 多线程 高并发 异步编程 6月月更

有哪些ABAP关键字和语法,到了ABAP云环境上就没办法用了?

Jerry Wang

云原生 SAP abap Netweaver 6月月更

C#入门系列(十一) -- 多维数组

陈言必行

C# 6月月更

线程池的创建

急需上岸的小谢

6月月更

细数十大信息安全原则

阿泽🧸

信息安全 6月月更

react管理渲染问题详解【王道react】

恒山其若陋兮

React 6月月更

循环结构语句

Jason199

js 循环语句 6月月更

远程办公经验分享 | 社区征文

Geek_ac6fb9

初夏征文

Fabric.js 动态设置字号大小 🎄

德育处主任

canvas 前端可视化 FabricJS Fabric.js 6月月更

云数据中心中的SDN/NFV应用

穿过生命散发芬芳

SDN网络 6月月更

ConcurrentHashMap 源码分析-ConcurrentHashMap与HashMap的异同

zarmnosaj

6月月更

快手处置超过5.4万个违规账号:如何打击平台上的违规账号

石头IT视角

了解 Vue 生命周期钩子

devpoint

Vue Vue3 钩子函数 vue2 InfoQ极客传媒15周年庆

【LeetCode】 极大极小游戏Java题解

Albert

LeetCode 6月月更

盲盒商城APP系统开发的软件特点和盲盒功能介绍

WDL22119

盲盒商城 盲盒开发 盲盒源码 盲盒H5开发 盲盒APP系统开发

【Spring 学习笔记(九)】Spring IoC/DI注解开发之纯注解开发

倔强的牛角

Java spring Java EE 6月月更

Sealem Finance打造Web3去中心化金融平台基础设施

股市老人

Es6新特性——箭头函数

大熊G

JavaScript 前端 6月月更

Sealem Finance-基于Web3的全新去中心化金融平台

小哈区块

数的奥秘之幂数与完全平方数

未见花闻

6月月更

为什么使用 Golang 进行 Web 开发

宇宙之一粟

golang 6月月更

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