Flutter 1.5 发布,正式成为全平台 UI 框架!
一. 序
在 Google I/O 2019 上,Dart 团队宣布推出新的 Flutter 稳定版本 1.5,这是 Flutter 迄今为止最大的一次版本发布。
伴随着 Flutter 1.5 的发布,同期也宣布发布 Flutter for Web 的 Preview 版本,正式开启了 Flutter 的全平台 UI 框架之路。
早在年初发布的 Flutter 2019 Roadmap 中,就有提到,会在今年支持移动设备之外的平台,对 Web 的支持,算是完成了一个新的里程碑吧。
二. Flutter for Web
Flutter 之所以能够在移动平台上运行,主要是依赖的 Flutter Engine,就是 Flutter 所依赖的运行环境。这就导致在移动平台,只要你使用了 Flutter,哪怕只用混合开发的模式写了一个页面,这也将为你的 App 增大大约 4MB 的体积。
而 Flutter for Web,完全是一种全新的模式,它可以将 Dart 编写的现有 Flutter 代码,编译成可嵌入浏览器并部署到任何 Web 服务器的代码。
编译后的代码,完全是基于 HTML、CSS 和 JavaScript 这些标准的 Web 技术,所以它也不需要任何浏览器插件的支持。
早期微软的 Silverlight 和 Adobe 的 Flash 都证明了,一切需要插件才能支持的 Web 应用,都是纸老虎,最终都会被基础的 HTML 技术所替代。
我想这也是 Flutter for Web 选择这种支持方式的一个考量因素。
添加 Web 支持,涉及在标准 API 之上,实现 Flutter 的核心绘图层,结合使用 DOM、Canvas 和 CSS,Flutter for Web 能够实现在现代浏览器中提供便携的、高质量和高性能的用户体验。
Flutter for Web 很大程度上,归功于 Chrome、Firefox 和 Safari 等现代浏览器的快速发展,这些浏览器提供了基础的硬件加速的图形、动画和文本以及 JavaScript 的快速执行。
随着 Flutter for Web 的发布,Flutter 正式成为一个全平台的 UI 框架。
Flutter 最初的设想,也并不是想作为一个 HTML 的替代品,而是想基于 Flutter 能够快速构建出全平台的所支持的,图形丰富、交互流程的应用。
在 Google I/O 上,也展示了最近刷屏的 KENKEN 益智游戏(文末有地址),该游戏在 Android、iOS、Web、Mac 和 Chrome 上,运行的都是相同的代码。
Flutter for Web 还只是一个 Preview 版本,还有很多不足和被限制的地方。
限制:
- Flutter_web 的插件还不完善,暂时只提供了最基础的
dart:html、dart:js、dart:svg、dart:indexed_db,可以通过他们访问绝大多数浏览器的 API。 - 并非所有的 Flutter 都在 Flutter_web 上实现了。
- Flutter_web 编译还很慢。
- 在桌面浏览器上运行,还有一些不足,大部分是基于移动应用的操作特性,而没有对桌面系统的操作习惯进行特殊的优化。
- 开发流程目前仅支持 Chrome。
更多细节,可以直接上 Github 上查看。
三. 小结
自此 Flutter 就不再是一个单纯的移动框架,而是一个多平台框架,通过它,可以快速的构建应用,更快的触达用户。
坦率的讲,Flutter 这一年的发展以及推广效果都是惊人的,据公开的消息来看,不少一线大厂已经在一些生产项目上,尝试使用 Flutter,虽然尝试的大多都并不是主力项目,但这背后一定也少不了 Google 的推广,Google 本身对 Flutter 的期望也很大,短期应该不会凉。
不过框架这个东西,有兴趣看看就好了,毕竟铁打的基础,流水的 API,不要花太多的精力沉迷在框架中,把编程的基础技术学好才是正道。如果真到了公司想尝试 Flutter 的地步,专门花一周两周突击一下,肯定能上手。
本文对你有帮助吗?留言、点赞、转发是最大的支持,谢谢!
公众号后台回复成长『成长』,将会得到我准备的学习资料,也能回复『加群』,一起学习进步;你还能回复『提问』,向我发起提问。
Flutter 1.5 发布,正式成为全平台 UI 框架!的更多相关文章
- 2020发布 .NET 5 下一代全平台 .Net 框架
[翻译] 正式宣布 .NET 5 2019-05-07 01:18 by Rwing, 16515 阅读, 79 评论, 收藏, 编辑 原文: Introducing .NET 5 今天,我们宣布 . ...
- 干!垃圾微软!发布我的Netcore跨平台UI框架 CPF
什么鬼,我的CPF快写好了,你居然也要搞跨平台UI框架?什么Maui? 之前怎么不早说要搞跨平台UI框架呢?看到谷歌搞flutter眼红了?明年年底发布?又搞这种追别人屁股的烂事情. 什么MVU模式? ...
- .NET之全平台一体化的体验
一.前言 近来利用空闲时间研究了一下Xamarin的技术,想想既然提供了如此好的支持,就该尝试一切可能,来一个”大小通吃“. 何为全平台:APP包括Android.IOS.WP,WEB可在Window ...
- NET之全平台一体化
NET之全平台一体化的体验 一.前言 近来利用空闲时间研究了一下Xamarin的技术,想想既然提供了如此好的支持,就该尝试一切可能,来一个”大小通吃“. 何为全平台:APP包括Android.IOS. ...
- 全平台 Chrome 浏览器 44.0.2403.89 版本下载
全平台 Chrome 浏览器 44.0.2403.89 版本发布 详细更新日志请参见:https://chromium.googlesource.com/chromium/src/+log/43.0. ...
- 谷歌移动UI框架Flutter入门
引言 作为Android开发人员,很有必要学习一下Flutter,那么Flutter是什么呢?它到底有什么作用呢?我们一一来揭晓. Flutter是谷歌的移动UI框架,可以快速在iOS和Android ...
- 全平台Markdown笔记软件——Notable
简介 The markdown-based note-taking app that doesn't suck. 一款简介.跨平台的本地笔记软件,github地址:https://github.com ...
- 痞子衡嵌入式:RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计
大家好,我是痞子衡,是正经搞技术的痞子.今天给大家带来的是痞子衡的开源项目 RT-UFL. 痞子衡在近两年多的i.MXRT客户项目支持过程中,遇到的一个相当高频的问题就是制作i.MXRT下载算法.我们 ...
- 让自己写的电子笔记连文带图全平台兼容(MarkDown图片显示兼容)
目录 一.工具使用 语言使用:MarkDown 简介 使用原因 使用方法 软件使用:Typora 简介 环境设置搭建 1)搭建图床 2)配置PicGo 3)配置typora 4)测试 图片上传测试 平 ...
随机推荐
- DOMContentLoaded事件<zz>
今天查看百度空间源代码,发现多了个util.js文件,打开看看.里面里面定义了addDOMLoadEvent.这是干什么用的? 仔细查看代码,发现在Mozilla添加了DOMContentLoaded ...
- fontend-githubs
https://github.com/dypsilon/frontend-dev-bookmarks
- Ruby学习笔记(二)——从管道读取数据
在对文件名修改后,今天又给自己出了新的难题,想从实验结果中提取数据,并将其作为文件夹的名称.其中,比赛的主办方提供的评估算法是用perl写的,因此读取实验结果最为简单的想法自然是使用管道命令,即 ./ ...
- dnscat使用——整体感觉这个工具不完善,失败率很高,传文件时候没有完整性校验,我自己测试时通过域名转发失败,可能是其特征过于明显导致
git clone https://github.com/iagox86/nbtool make 然后就可以按照下面的官方说明进行操作了. 我的感受:整体感觉这个工具不完善,失败率很高,传文件时候没有 ...
- UESTC--1263--The Desire of Asuna(贪心)
The Desire of Asuna Time Limit: 1000MS Memory Limit: 65535KB 64bit IO Format: %lld & %llu Su ...
- mysql(8.0.*版本 windows10 )忘记密码解决方案
安装完mysql-8.0.13-winx64后,一些列的安装命令过后再执行mysql -uroot -p之后 报错了 what fuck 什么鬼,就是这个错 ERROR (): Access deni ...
- linux 下Redis 5.0主从复制(一主二从)哨兵模式的搭建
文档结构如下: 一.环境说明: 作用 IP地址 端口 操作系统版本 安装目录 哨兵文件 主库 172.16.10.80 6379 Redhat 6.7 /redis5.0/redis-5.0.0 Se ...
- Git 学习笔记(三)
我记得最初学习的时候我提到了使用版本控制软件的最大好处是让你可以永远后悔,那么如何吃后悔药呢?在项目过程中我们很有可能因为各种因素对我们的操作进行回滚,对于传统的版本控制系统来说,并不复杂,拿 SVN ...
- JQuery事件绑定,bind与on区别
jquery事件绑定bind:向匹配元素添加一个或多个事件处理器 $(selector).bind("click",data,function); live:向当前或未来的匹配元素 ...
- Linux top命令简解
简介: top 命令是最流行的性能监视工具之一,它是一个优秀的交互式工具,用于监视性能.它提供系统整体性能,但报告进程信息才是 top 命令的长处. top 界面分为两个部份,光标上面部份显示关于系统 ...