flutter跨端UI框架简介

flutter跨端UI框架简介

简介

Flutter是由Google开发的开源应用开发框架,主要用于构建高性能、跨平台的移动、Web和桌面应用程序。Flutter使用Dart语言,提供了一套丰富的Widgets,使开发者能够快速创建美观的用户界面。其最大特点是热重载功能,使得开发者可以即时查看修改效果,从而提升开发效率‌。
在这里插入图片描述

flutter特点

  • 跨平台‌:Flutter可以同时运行在iOS和Android平台上,并且支持Web、Windows、macOS和Linux等多个平台。开发者只需编写一套代码,即可实现多平台部署‌。
  • 高性能‌:Flutter编译为原生机器代码,保证了应用的流畅度和动画效果。其高性能渲染引擎能够提供高帧率的UI体验‌。
  • 丰富的组件‌:Flutter提供了丰富的Widgets,涵盖了各种常用的用户界面元素,方便开发者快速构建应用‌。
  • 热重载‌:Flutter支持热重载功能,开发者可以实时看到代码修改的效果,极大地提高了开发效率‌。

flutter配置

下载
win环境配置参考

环境变量配置

Path添加变量<flutter目录>\bin
PUB_HOSTED_URL=https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

安装dart

执行<flutter目录>\bin\dart.bat
Path添加变量<flutter目录>\bin\cache\dart-sdk\bin

启动

执行<flutter目录>\flutter_console.bat

android-sdk配置

下载,选择SDK Tools

安装

运行SDK Manager.exe
选择一组platform-tools、build-tools、platform和Extras安装
确认选择的所有组件都安装成功,失败的重试多次,不然后面运行会提示Failed to install the following Android SDK packages as some licences have not been accepted

环境变量配置

ANDROID_HOME=<sdk目录>
Path添加变量%ANDROID_HOME%\platform-tools和%ANDROID_HOME%\tools
cmd执行adb命令验证

vscode配置

参考

安装插件

安装flutter插件
安装dart插件
安装仿真器插件Android iOS Emulator

环境验证

View>Command Palette>Flutter: Run Flutter Doctor

新建flutter项目

View>Command Palette>Flutter: New Project

模拟器配置

下载

运行体验

运行第三方模拟器
进入模拟器目录下cmd执行nox_adb.exe connect 127.0.0.1:62001
vscode上终端执行adb connect 127.0.0.1:62001
vscode上运行flutter项目。将会打包apk并传输到模拟器上安装运行
注:flutter编译时如果遇到Failed to install the following Android SDK packages as some licences have not been accepted,则需确认安卓sdk组件是否全部安装成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/5338.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

找不到mfc140u,具体原因分析

mfc140u.dll 是 Microsoft Foundation Classes (MFC) 库的一部分&#xff0c;通常与使用 MFC 构建的应用程序一起分发。当应用程序尝试运行但找不到 mfc140u.dll 时&#xff0c;可能的原因包括但不限于以下几点&#xff1a; 1.文件缺失&#xff1a; •可能是在安装或更新过程中…

StarRocks 3.4 发布--AI 场景新支点,Lakehouse 能力再升级

自 StarRocks 3.0 起&#xff0c;社区明确了以 Lakehouse 为核心的发展方向。Lakehouse 的价值在于融合数据湖与数据仓库的优势&#xff0c;能有效应对大数据量增长带来的存储成本压力&#xff0c;做到 single source of truth 的同时继续拥有极速的查询性能&#xff0c;同时也…

[答疑]这个消息名是写发送数据还是接收数据

睡鱼(61***11) 16:08:29 睡鱼(61***11) 16:08:58 他们说这个图有问题 UML菜鸟(1***22) 16:10:55 有点暗 睡鱼(61***11) 16:27:50 顺序图里面的箭头代表消息还是职责 睡鱼(61***11) 16:28:08 比如 a往b发送数据 睡鱼(61***11) 16:28:36 这个消息名是写发送数据还是接收数据 睡…

WPS按双字段拆分工作表到独立工作簿-Excel易用宝

我们老板真是事多&#xff0c;他说要把这个工作表以月份和支付方式的维度&#xff0c;以这两个字段进行拆分工作表&#xff0c;而且拆分出来的表格要保存一个新的工作簿。 啥事都交给我&#xff0c;他还以为我有三头六臂呢&#xff0c;还好我有易用宝&#xff0c;可以轻松拆分…

Linux——信号量和(环形队列消费者模型)

Linux——线程条件变量&#xff08;同步&#xff09;-CSDN博客 文章目录 目录 文章目录 前言 一、信号量是什么&#xff1f; 二、信号量 1、主要类型 2、操作 3、应用场景 三、信号量函数 1、sem_init 函数 2、sem_wait 函数 3、sem_post 函数 4、sem_destroy 函数 ​​​​​​…

Github 2025-01-20 开源项目周报 Top15

根据Github Trendings的统计,本周(2025-01-20统计)共有15个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目10Rust项目2TypeScript项目1C++项目1Jupyter Notebook项目1Go项目1Tabby: 自托管的AI编码助手 创建周期:310 天开发语言:Rust协议类…

【分布式架构设计理论1】架构设计的演进过程

文章目录 一. 分布式架构要解决的问题二. 架构设计的演进过程1. 应用与数据一体2. 应用与数据分离3. 添加缓存&#xff1a;突破数据库&#xff08;IO&#xff09;瓶颈4. 服务器集群处理并发5. 数据库读写分离&#xff1a;释放读性能5.1. 问题分析5.2. 解决方案&#xff1a;读写…

【数据分享】1929-2024年全球站点的逐年最低气温数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff01;说到气象数据&#xff0c;最详细的气象数据是具体到气象监测站点的数据&#xff01; 有关气象指标的监测站点数据&#xff0c;之前我们分享过1929-2024年全球气象站点…

数据结构-ArrayList和顺序表

1.线性表 线性表是n个具有相同类型的数据元素所组成的有限序列&#xff0c;当n0时&#xff0c;线性表为一个空表。 常见的线性表&#xff1a;顺序表&#xff0c;链表&#xff0c;栈和队列... 线性表在逻辑上是线性结构&#xff0c;可以说是连续的一条直线。但是在物理结构上…

C#使用WMI获取控制面板中安装的所有程序列表

C#使用WMI获取控制面板中安装的所有程序列表 WMI 全称Windows Management Instrumentation,Windows Management Instrumentation是Windows中用于提供共同的界面和对象模式以便访问有关操作系统、设备、应用程序和服务的管理信息。如果此服务被终止&#xff0c;多数基于 Windo…

CPU狂飙900%如何分析?怎么定位?怎么溯源处理

当你的服务器CPU飙升到900%&#xff0c;系统卡顿、响应迟缓、业务受阻&#xff0c;这种令人焦虑的场景是否让你束手无策&#xff1f;别慌&#xff0c;这并不是世界末日&#xff0c;只要掌握正确的分析与定位方法&#xff0c;就能快速找到问题根源&#xff0c;并有效解决。 CPU…

第五篇 vue3 ref 与 reactive 对比

ref 若需要自动加载 .value ,那么就要在 底部 菜单 中 设置 选项 选择 vue 勾选 &#xff1a; Auto Insert: Dot Value Auto-complete Ref value with .value. 注意点&#xff1a; ref 不能写越过 value. 必须要在valeu 前面 进行定义 通过 reactive 来修改整体名称…

“大模型横扫千军”背后的大数据挖掘--浅谈MapReduce

文章目录 O 背景知识1 数据挖掘2 邦费罗尼原则3 TF.IDF4 哈希函数5 分布式文件系统 一、MapReduce基本介绍1. Map 任务2. 按键分组3. Reduce 任务4. 节点失效处理5.小测验&#xff1a;在一个大型语料库上有100个map任务和若干reduce任务&#xff1a; 二、基于MapReduce的基本运…

Linux系统的第一个进程是什么?

Linux进程的生命周期从创建开始&#xff0c;直至终止&#xff0c;贯穿了一个进程的整个存在过程。我们可以通过系统调用fork()或vfork()来创建一个新的子进程&#xff0c;这标志着一个新进程的诞生。 实际上&#xff0c;Linux系统中的所有进程都是由其父进程创建的。 既然所有…

使用tritonserver完成clip-vit-large-patch14图像特征提取模型的工程化。

1、关于clip-vit-large-patch14模型 关于openapi开源的clip-vit-large-patch14模型的特征提取&#xff0c;可以参考之前的文章&#xff1a;Elasticsearch向量检索需要的数据集以及768维向量生成这篇文章详细介绍了模型的下载地址、使用方式、测试脚本&#xff0c;可以让你一步…

人工智能之深度学习_[3] -PyTorch自动微分模块和构建线性回归模型

文章目录 自动微分模块9.1 梯度基本计算9.2 梯度下降法求最优解9.3 梯度计算注意点9.4 自动微分模块应用 10 PyTorch构建线性回归模型 自动微分模块 自动微分就是自动计算梯度值,也就是计算导数。 什么是梯度 对函数求导的值就是梯度 什么是梯度下降法 是一种求最优梯度值的方法…

logback日志自定义占位符

前言 在大型系统运维中&#xff0c;很大程度上是需要依赖日志的。在java大型web工程中&#xff0c;一般都会使用slf4jlogback这一个组合来实现日志的管理。 logback中很多现成的占位符可以可以直接使用&#xff0c;比如线程号【%t】、时间【%d】、日志等级【%p】&#xff0c;…

Qt中自定义信号与槽

在学习信号和槽的时候&#xff0c;我们知道信号一般对应的就是用户的行为&#xff0c;槽指的是接受到信号后的响应&#xff0c;在类内有许多的内置信号和槽函数&#xff0c;能够去实现一些常见的行为&#xff0c;但实际业务开发中&#xff0c;尤其是接受到信号的响应会根据具体…

Yearning开源MySQL SQL审核平台

一款MYSQL SQL语句/查询审计工具&#xff0c;为DBA与开发人员使用. 本地部署&#xff0c;注重隐私&#xff0c;简单高效的MYSQL审计平台。 它可以通过流程审批&#xff0c;实现真实线上环境sql的审核和执行&#xff0c;还可以回滚执行&#xff0c;能够确保线上SQL更新的可靠性…

【Python项目】小区监控图像拼接系统

【Python项目】小区监控图像拼接系统 技术简介&#xff1a;采用Python技术、B/S框架、MYSQL数据库等实现。 系统简介&#xff1a;小区监控拼接系统&#xff0c;就是为了能够让业主或者安保人员能够在同一时间将不同地方的图像进行拼接。这样一来&#xff0c;可以很大程度的方便…