做移动开发的都知道,在今年 2月份的世界移动通信大会上,Flutter 团队宣布推出 Flutter 1.2 版本 ,这个版本已支持Web开发,在过去一年中,Flutter 的发展势如破竹,超乎了开发团队的想象。Flutter 严格意义是一种 的UI框架,并且采用 GPU 加速 canvas ,基于Dom 实时更新的UI渲染机制,已经让不少开发尝到了甜头。
Flutter 历史
2015年5月 Dart 开发者峰会上,亮相了基于Dart 语言的移动应用程序开发框架Sky [8-9] ,后更名为 Flutter。Dart语言2011年诞生,起初的竞对目标是Js,2016年谷歌的AdWords、AdSense和Fiber项目团队开始把Dart融入他们的前端应用开发。一项当时的内部报告表明,Dart可以帮助他们提升25%到100%的前端开发效率。谷歌内部的Dart代码量比去年增长了3.5倍。
但 Google从前端,到新开发的系统,到我们现在接触到的flutter都是使用dart,足以见得,Google对dart还是一定的重视。
- 2018 年 2 月底在世界移动大会 (MWC) 上宣布了第一个 Beta 版发布;
- 2018 年 5 月的 Google I/O 大会上发布了 Beta 3;
- 2018 年6 月底的 GMTC 宣布了首个发布预览版;
- 2018 年 9 月的谷歌开发者大会 (Google Developer Days) 上,宣布 发布预览版 2 发布。
- 2018 年 12月 Flutter live 2018 发布1.0稳定版本。
- 2019年3月发布1.2,宣布支持Web
Flutter 跨多端支持
5月7日 , Google i/O大会 官方宣布,Flutter 1.5 预览版来了,已支持移动、Web、桌面和嵌入式设备,也意味着它正式成为了支持多平台的轻量级 UI 框架,对于开发者而言越来越友好!
Flutter for Mobile
Flutter for Android & iOS 这个不用多说,很多读者们肯定已经体验了,并且做过实践的不少,官方也出了一些资料和wiki. 不在介绍。
Flutter for web
昨天的 Google i/O 大会,Flutter 团队发布了 Flutter for web 的首个预览版,表示 Flutter 正在为包括 Google Home Hub 在内的 Google 智能显示平台提供支持,并通过结合 Chrome OS 为桌面级应用程序提供支持迈出第一步。
Flutter for Web 是 Flutter 的代码兼容( code-compatible)实现版本,使用基于标准的 Web 技术(HTML CSS JavaScript)进行渲染。通过 Flutter for web,可以将 Dart 编写的 Flutter 代码编译成嵌入到浏览器并部署到任何 Web 服务器的客户端版本(client experience)。
开发者可以 使用 Flutter 的所有特性而无需浏览器插件,以前 Flutter 的使命是为开发 iOS 和 Android 移动应用程序提供最优秀的UI 框架。不过在去年发布 Flutter 1.0 时, Flutter 团队 就已尝试将 Flutter 扩展到其他平台,并在内部启动了一个代号为“Hummingbird”的探索性项目 —— 使用 Dart 构建 Web 框架,以评估通过移植 Flutter 引擎支持基于标准 Web 技术的优势。
得益于主流浏览器如 Chrome, Safari 等的快速发展,可以实现将 Flutter 框架带到 Web 上的可行性。
Flutter for Desktop
今年1月 ,Flutter 团队表示将支持移动端之外的平台,一直将 Flutter for Desktop 作为实现性项目,现在正在将其应用到 Flutter 引擎,现在还在内部开发阶段,但已发布早期版本的愿景 —— 用于开发在 Mac, Windows 和 Linux 上运行的 Flutter 应用程序。
Flutter for Embedded Devices
嵌入式设备,Flutter 团队最近发布了 Flutter 支持直接在树莓派等小型设备上运行。
此外,Flutter 团队 提供了嵌入式 API,使其可用于家具智能、穿戴设备,车载设备。本次官方宣布 Flutter 对多平台的支持,谷歌还表示将于本周发布稳定版的 Flutter 1.5,新特性请关注届时推送。
2019年度计划
以下几点是是官方在年初表示的重点关注:
- 核心和基础
- 易用性
- 生态系统
- 支持移动端之外的平台
- 动态更新
- 工具链
Flutter 团队表示,按计划会根据大家的反馈以及新的市场变化来做调整,Flutter 的产品经理 Tim Sneath “这份计划的内容我们不尽然一定会完成的工作。Flutter 是一个开源项目,我们欢迎大家参与到我们开源当中来”
期待 Flutter 能陆续解决以上几点问题,那么离普及的那一天就不会太远!大前端趋势预示着 Flutter 也不断对Web的做更多支持。
笔者最后有一个问题想问大家探讨? Google 把 Kotlin作为 首选开发语言,那么dart 又是一个什么角色呢?
END
开发者技术前线 ,汇集技术前线快讯和关注行业趋势,大厂干货,是开发者经历和成长的优秀指南。