Flutter Web 开发实践与优化

news/2024/11/17 16:00:25/

一,Flutter Web架构

目前,除了可以支持Android、iOS移动跨平台开发之外,Flutter还支持macOS、Windows、Linux和Web等多个跨平台的开发。可以说,作为一款先进的跨平台开发框架,Flutter已经真正意义上实现了“一次编写,处处运行”的美好愿景。

众所周知,Dart 语言存在之初就已经支持直接编译成JavaScript,并且针对开发和生产环境的工具链进行了优化。许多重要的应用已经使用 Dart 编译成的 JavaScript 在生产环境上运行,包括 Google Ads 的广告商工具 。由于Flutter 框架是 Dart 编写的,所以将其编译成 JavaScript 相对而言更为简单。

然而,使用C++编写的Flutter引擎是为了与底层操作系统进行交互的,而不是 Web 浏览器。因此我们需要另辟蹊径。Flutter 在 Web 平台上以浏览器的标准 API 重新实现了引擎。 目前我们有两种在 Web 上呈现内容的选项:HTML 和 WebGL。在 HTML 模式下,Flutter 使用 HTML、CSS、Canvas 和 SVG 进行渲染。而在 WebGL 模式下,Flutter 使用了一个编译为 WebAssembly 的 Skia 版本,名为 CanvasKit 。HTML 模式提供了最佳的代码大小,CanvasKit 则提供了浏览器图形堆栈渲染的最快途径,并为原生平台的内容 5 提供了更高的图形保真度。Flutter Web 版本的分层架构图如下所示。

image.png

与其他运行 Flutter 的平台相比,


http://www.ppmy.cn/news/42824.html

相关文章

大模型“云上经济”之权力游戏

文丨谭婧光阴者百代之过客。世人皆过客,软件亦如此。人工智能已有新旧之分。网友戏称,新人工智能是ChatGPT,旧人工智能是“之前那些”。历史在重演。云计算在美国问世的时候,否定论调居多。一个常见的否定论调是「做生意不用上云」…

Vite详解

目录前言一、Vite简介1. Vite组成2.为什么选 Vite?二、Vite的优缺点1.vite优点2.vite缺点三、使用Vite创建Vue3项目1. 创建 vite 的项目2.项目的结构前言 构建工具 Vite,目前只有vue3才可以使用Vite,如果本文对你有所帮助请三连支持博主。 一、Vite简…

60行代码出炫酷效果之 python语音控制电脑壁纸切换

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 电脑大家有吧!手大家有吧!今天!! 就由我带领大家用区区60行代码打造一款语音壁纸切换器程序!!! 单纯的桌面有时候会让人觉得单调&#xff0c…

【计算机系统概论Yale.patt】第一章

文章目录1. 计算机是简单部件的系统组合1.1 计算机组成1.1.1 编码体系1.1.2 晶体管构建微处理器1.1.3 冯诺依曼机1.1.4 LC-3机(冯诺依曼机实现)1.1.5 LC-3编程机器语言编程汇编语言编程输入输出信息问题两个重要机制栈和数据转换示例:计算器1.2 两个重要理念1.2.1 抽…

使用java实现斗地主小游戏

Landlords 项目地址:https://github.com/chunlaiqingke/Landlords 环境要求: jdk8(新手推荐jdk8,自带javafx), jdk11及以上去除了javafx,需要单独安装,高版本jdk可见下面参考链接,jdk17的代码已升级maven 基于java实现的斗地主…

托福高频真词List09 // 附托福TPO阅读真题

目录 4月10日单词 4月12日真题 4月10日单词 eminentdistinguishedadj.卓越的excretereleasev.分泌hazardousdangerousadj.冒险的impracticalunrealisticadj.不切实际的notionidean.观念🍰optimalmost favorableadj.最佳的🍰relativelycomparativelyadv…

(十一)排序算法-选择排序

1 基本介绍 选择排序也属于内部排序法,是从欲排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的。 动画展示: 选择排序思想: 选择排序(select sorting)也是一种简单的…

word文件上的电子签章的法律效力如何保证?

你有没有见过这样的word文件“电子签章”? 这种用PS制作的“电子签章”,或者在一些输入公司名称就能在线生成“电子签章”的小网站、小作坊买来的“电子签章”,通通都是没有法律效力的贴图章! 使用贴图章的word文件不但没有任何…