返回顶部
首页 > 资讯 > 移动开发 >使用Flutter构建Web应用逻辑解析
  • 743
分享到

使用Flutter构建Web应用逻辑解析

Flutter构建Web应用FlutterWeb构建 2022-12-08 20:12:56 743人浏览 泡泡鱼
摘要

目录一、起源二、渲染逻辑三、打包处理四、配置开发环境测试应用结束语一、起源 Flutter 的起源就很有意思,大家都知道早期 Flutter 最先支持的平台是 Android 和 i

一、起源

Flutter 的起源就很有意思,大家都知道早期 Flutter 最先支持的平台是 AndroidiOS,至今最核心的维护平台依然是 Android 和 ioS,但是事实上Flutter 来源于前端 Chrome 团队。另外前端的同学应该知道,dart 起初也是为了 WEB 而生,事实上 Dart 诞生至今也有 10 年了,所以可以说 Flutter 其实充满了 Web 的基因。

二、渲染逻辑

首先 Flutter Web 和其他 Flutter 平台一样共用一套 Framework,理论上绝大多数的控件实现都是通用的,而由于 Web 的特殊场景,Flutter Web 在 "几经周折" 之后落地了两种不同的渲染逻辑: htmlcanvaskit,它们的不同之处在于:

  • html 的实现更轻量级,渲染实现基本依赖于 Web 平台的各种 HTMLElement,它更贴近现在的 Web 环境,所以有时候我们也称呼它为 DomCanvas。
  • canvaskit 的实现可以说是更贴近 Flutter 理念,因为它其实就是 Skia + WebAssembly 的实现逻辑,能和其他平台的实现更一致,性能更好,比如滚动列表的渲染流畅度更高等。

Flutter For Web和Flutter For Mobile的上层实现基本类似,但是在下层的实现有很大的差别。Flutter For Mobile中的绘制是使用了Engine中的Dart、Skia和Text,然后再调用iOS和Android提供的底层绘制能力来实现的。

三、打包处理

默认情况下 Flutter Web 在打包渲染时会把 html 和 canvaskit 都打包进去,然后再 PC 端使用 canvaskit 模式,在 mobile 端使用 html 模式,当然您也可以在打包时通过 flutter build web --web-renderer html --release 之类的配置强行指定渲染模式。

四、配置开发环境

  • 首先需要master或者dev渠道的Flutter SDK来获取Web支持
flutter channel stableflutter upgradeflutter config --enable-web
  • 创建一个名为myapp的应用
flutter create myappcd myapp
  • 编译当前应用
flutter build web

你可以通过运行 release 模式 (flutter run --release) 或运行 flutter build web 来构建 release 模式的应用。同时,你可以使用(--web-renderer html)或者(--web-renderer canvaskit)分别切换 HTML 或 CanvasKit 渲染器。

  • 为现有项目添加 Web 支持
flutter create .

测试应用

你可以在命令行使用 flutter run -d chrome 命令测试应用程序。这会构建出 debug 版本的应用。

对于增加了对Flutter For Web支持的Flutter应用,在代码目录中增加了一个Web文件夹,其中index.html 文件是整个Web应用的入口。其中引用了一个js文件是main.dart.js,但在工程目录中找不到该文件。其实这个文件是Flutter工程编译后生成的js文件,如果曾编译成功过这个工程,会在编译后的build文件夹中看到该js文件。

和普通的Flutter应用一样,主要的功能实现还是在工程中的lib文件夹中。但是如果需要有资源文件、js 文件等 web 所需资源,可以放到Web这个文件夹中。

结束语

关于flutter web的起源跟构建学习到这里就结束了,更多关于Flutter 构建Web应用的资料请关注编程网其它相关文章!

--结束END--

本文标题: 使用Flutter构建Web应用逻辑解析

本文链接: https://lsjlt.com/news/174375.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用Flutter构建Web应用逻辑解析
    目录一、起源二、渲染逻辑三、打包处理四、配置开发环境测试应用结束语一、起源 Flutter 的起源就很有意思,大家都知道早期 Flutter 最先支持的平台是 Android 和 i...
    99+
    2022-12-08
    Flutter 构建Web应用 Flutter Web构建
  • Flutter中的Web应用程序开发:构建现代Web应用程序
    作者:禅与计算机程序设计艺术 Flutter 中的 Web 应用程序开发:构建现代 Web 应用程序 作为人工智能专家,程序员和软件架构师,CTO,我今天将为大家分享有关 Flutter 中 Web...
    99+
    2023-09-23
    自然语言处理 人工智能 语言模型 编程实践 开发语言 架构设计
  • web前端逻辑运算怎么使用
    本篇内容介绍了“web前端逻辑运算怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  逻辑 与 &&  va...
    99+
    2023-06-04
  • 利用Python构建Flutter应用的教程详解
    目录关于FLET如何安装 FLET简单介绍 Flutter用 FLET 构建简单的应用程序用户界面你知道可以用 Python 来构建 flutter 应用吗? Flutter 在软件...
    99+
    2022-12-20
    Python构建Flutter应用 Python Flutter应用 Python Flutter
  • PHP逻辑的实际应用场景分析
    PHP作为一种流行的服务器端脚本语言,主要用于开发Web应用程序。它具有灵活、简单易学的特点,因此在各种项目中得到了广泛应用。本文将从实际应用场景出发,分析PHP逻辑的使用,并提供具体...
    99+
    2024-03-06
    用户权限控制 表单提交 lsp
  • 如何创建并使用LVM逻辑卷
    小编给大家分享一下如何创建并使用LVM逻辑卷,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1 创建PV添加一个sdb磁盘,创建4个分区[root@xuegod63 ~]# fdisk /dev/sdb #创建4个主分区,每...
    99+
    2023-06-06
  • ios开发Flutter构建todo list应用
    目录正文基础 Flutter 应用脚手架创建 TodoItem展示 Dialog 去添加列表项列表项添加状态正文 今天,我们将使用 Flutter 构建一个动态的 todo list...
    99+
    2024-04-02
  • Flutter 实战:构建跨平台应用
    文章目录 一、简介二、开发环境搭建三、实战案例:开发一个简单的天气应用1. 项目创建2. 界面设计3. 数据获取4. 实现数据获取和处理5. 界面展示6. 添加动态效果和交互7. 添加网络错误处理8. 添加刷新功能9. 添加定位功能...
    99+
    2023-12-22
    flutter
  • PostgreSQL逻辑备份pg_dump使用及其原理解析
    一、原理分析 1、循环调用getopt_long解析命令行参数,将参数保存到static DumpOptions dopt;中2、判断参数是否相容,不相容则退出: options -s/--sche...
    99+
    2024-04-02
  • 使用Golang函数构建响应式Web应用程序
    答案: 可以使用 golang 函数构建响应式 web 应用程序,提供动态内容和交互式界面。详细描述:创建 go 函数,定义一个 http 处理程序来响应请求。运行应用程序以启动 htt...
    99+
    2024-05-02
    java php golang
  • 使用PHP和Bootstrap构建响应式布局的Web应用
    随着移动互联网的普及,越来越多的用户开始在移动设备上访问Web应用。这也带来了一个新的挑战,即如何为不同尺寸和分辨率的屏幕提供良好的用户体验。为了解决这个问题,响应式布局应运而生。本文将介绍如何使用PHP和Bootstrap构建响应式布局的...
    99+
    2023-05-23
    Bootstrap PHP 响应式布局
  • 使用PHP和TypeScript构建现代化的Web应用
    随着互联网的快速发展,Web应用也逐渐成为人们必不可少的工具。如今,许多人都希望构建现代化的Web应用,以在市场中保持竞争力。为了满足这一需求,许多开发人员使用PHP和TypeScript构建Web应用。PHP是一种广泛用于Web开发的开放...
    99+
    2023-05-24
    PHP TypeScript Web应用
  • 如何使用Go和Laravel构建Web应用程序?
    随着Web应用程序的不断发展,越来越多的开发者开始使用多种技术来构建高效、可靠的应用程序。在本文中,我们将介绍如何使用Go和Laravel构建Web应用程序,让你快速入门,学习如何构建高质量的应用程序。 什么是Go和Laravel? Go是...
    99+
    2023-08-16
    laravel 学习笔记 shell
  • 怎么使用Shiny包构建交互式Web应用
    使用Shiny包构建交互式Web应用的一般步骤如下: 安装Shiny包:首先需要安装Shiny包,可以通过在R中运行 instal...
    99+
    2024-03-04
    Shiny
  • 如何使用C++构建单页Web应用程序?
    使用c++++构建spa涉及:1. 安装emscripten并配置编译器;2. 运行构建脚本编译代码;3. 创建包含wasm模块的html界面;4. 部署spa到web服务器。 使用C...
    99+
    2024-05-13
    c++ web应用程序
  • 怎么使用Flutter开发简单的Web应用
    本篇内容主要讲解“怎么使用Flutter开发简单的Web应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Flutter开发简单的Web应用”吧!为 W...
    99+
    2024-04-02
  • 如何在 Linux 上使用 ASP 构建 Web 应用程序?
    在 Linux 上使用 ASP 构建 Web 应用程序是一项非常实用的技能,它能够帮助开发者快速构建高效的 Web 应用程序。下面我们将详细介绍如何在 Linux 上使用 ASP 构建 Web 应用程序。 一、准备工作 在开始之前,我们需要...
    99+
    2023-06-21
    npm javascript linux
  • Mybatis plus逻辑删除注解@TableLogic的使用
    目录物理删除和逻辑删除@TableLogic注解@TableLogic注解默认值:@TableLogic注解用法首先这个注解是苞米豆出品,也就是我们常说的mybatis升级版的东西。...
    99+
    2024-04-02
  • Netty分布式ByteBuf使用的回收逻辑剖析
    目录ByteBuf回收这里调用了release0, 跟进去我们首先分析free方法我们跟到cache中回到add方法中我们回到free方法中前文传送门:ByteBuf使用subPag...
    99+
    2024-04-02
  • 如何使用 Python 的 path 和 django 构建 Web 应用程序?
    Python 是一种高级编程语言,它非常适合用于 Web 应用程序的开发。在 Python 的生态系统中,有很多工具和框架可以用来构建 Web 应用程序,其中 Django 是最受欢迎的之一。本文将介绍如何使用 Python 的 path ...
    99+
    2023-10-03
    教程 path django
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作