Flutter Windows开发环境搭建教程与学习资料推荐

news2024/11/27 2:18:30

  Windows应用软件开发有很多框架可以选择,例如比较流行的Electron、Qt、CEF、WPF、WinForm、MFC、DuiLib、SOUI等等。Flutter是近几年流行的全平台应用开发框架,可以进行Android、IOS、Web、MacOS、Windows、Linux等平台的应用软件开发。

一、Flutter介绍

  Flutter是谷歌推出的一种移动应用开发框架,使用Dart语言编写。更多Flutter资料大家可参考Flutter官网: https://flutter.cn/。
  Flutter 2.10 起,Windows 的支持已进入 stable 渠道! 本篇介绍Flutter Windows开发环境搭建,以及如何使用Flutter进行Windows应用软件开发。

二、Flutter Windows开发环境搭建

  详细参考官网 https://flutter.cn/docs/get-started/install/windows
  有以下几点需要注意

1 C++编译支持

  Flutter Windows开发,依赖C++编译环境,因此需要先安装Visual Studio,安装时注意勾选C++模块、C++ Windows桌面开发模块。

2 查看电脑中是否有flutter dart环境

where flutter dar

3 必须在 Windows 10/11 上启用开发者模式

在这里插入图片描述

4 Flutter安装

  Flutter开发语言是Dart,注意,不需要单独安装dart sdk, flutter sdk包含有dart 。

5 环境变量设置

  根据官网的提示,进行配置环境变量,加入 flutter\bin 目录的完整路径,检测系统flutter开发环境

flutter doctor

结果如下:
在这里插入图片描述

三、Flutter IDE

  Flutter开发环境推荐使用IDEA或VS Code,下面介绍IDEA Flutter环境配置。

1 IDEA配置

  1 下载idea, 安装flutter插件
在这里插入图片描述
  2 初次使用idea创建flutter项目,需要指定flutter的路径
在这里插入图片描述

2 创建Flutter项目

命令行

flutter create my_app
cd my_app
flutter run

输入数字1,选择在Windows上运行
在这里插入图片描述
执行flutter run生成的是Debug版exe
生成的exe路径 D:\my_study\FlutterLearning\my_app\build\windows\runner\Debug

要生成 release 版本,可以运行以下命令之一

PS flutter build windows
flutter build macos
flutter build linux

例如windows

在这里插入图片描述
除了使用命令行创建,也可以在IDEA界面创建项目,建议在IDEA界面创建项目。

四、如何学习Flutter开发

  Flutter开发分为两部分,先学习Dart,再学习Flutter.

1 Dart学习资料

  使用Dart,需要Dart SDK,可以单独安装Dart SDK学习Flutter开发,也可以使用Flutter工具包自带的Dart SDK, 建议使用Flutter工具包自带的Dart SDK。
  自 Flutter 1.19.0 dev 版本开始,Flutter SDK 在 flutter 命令脚本的同级目录下增加了 dart 命令,你可以更方便地运行 Dart 命令行程序。下载 Flutter SDK 时也会下载对应版本的 Dart SDK,但如果你单独下载了 Dart SDK,请确保 Flutter SDK 内的 dart 在你的环境变量中排在首位,因为单独的 SDK 可能并不兼容 Flutter SDK。下面的命令展示了 flutter 和 dart 是否来自相同的 bin 目录,并且是否可以兼容使用。
  如何卸载Dart SDK,windows系统,Dart SDK一般安装在C:/tools目录,删除整个目录,然后把环境变量里和该路径的全部删除。

  Dart学习文档1 https://dart.cn/samples
  Dart学习文档2 https://www.dartcn.com/guides/language

2 Flutter学习资料

  Flutter开发文档 https://flutter.cn/docs
  Flutter实战电子书 https://book.flutterchina.club/

五、Flutter在桌面开发与Qt的对比

版权

  Flutter开源,完全免费;Qt需要版权费。大部分在开发windows应用时不会为Qt付费,可能会选择Electron、或者WPF等矿建。Flutter在PC客户端开发目前还不完善,需要探索。

开发生态

  Qt历史悠久,开发资料更多,生态成熟,Qt C++与系统交互更方便,性能接近Native,可参考的项目比较多,例如WPS、腾讯会议、剪映、亿图脑图、斗鱼、钉钉会议窗口等等; Flutter PC端生态较弱,基本无参考。

开发难度

  就开发学习难度来说,无对此性,唯手熟尔。

框架选型

  如果有Windows应用需求,可选择Qt、DuiLib、WPF,如果无Native交互需求,可选择CEF、Electron、tauri等等Web桌面客户端框架。近几年不建议使用Flutter进行桌面端开发,Flutter仍需要探索。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

启动U盘制作工具Rufus 4.0.2035

Rufus是是一款小巧实用免费开源的帮助格式化和创建可启动USB闪存驱动器的工具,如USB钥匙/软盘、记忆棒等,可快速制作linux系统或者win启动u盘,可快速的将ISO镜像文件制作成可引导启动的USB启动盘,支持ISO镜像、GPT和UEFI&#xff…

设置参考文献编号与文中插入引用的具体步骤

目录 一、前言 二、操作步骤 (一)参考文献设置编号 (二)文章中引用参考文献方式 一、前言 本教程使用的软件是WPS 二、操作步骤 (一)参考文献设置编号 1.把引用文献的这个编号全部删掉 2.右键点击段…

学习笔记——vue中使用el-dropdown组件报错

今天在工作中,发现使用el-select做的下拉框,下拉菜单展开后,鼠标点击下拉框之外的区域时,下拉菜单没有收起。然后,我打开控制台,发现了这个错误。 Uncaught TypeError: Cannot read properties of null (re…

《Linux0.11源码解读》理解(四) head之重新设置IDT/GDT

上节提到,现在cs:ip指向0地址,此处存储着作为操作系统核心代码的system模块,是由head.s和 main.c以及后面所有源代码文件编译链接而成。head.s(以下简称head)紧挨着main.c,我们先执行head。 重新设置内核栈 _pg_dir: _startup_3…

堆(堆排序 模拟堆)

目录 一、堆的数据结构二、堆的操作方法往下调整的示意图往上调整的示意图相关功能的实现思路1.插入一个数2.求最小值3.删除最小值4.删除任意一个元素5.修改任意一个元素 三、堆的实战运用堆排序模拟堆 一、堆的数据结构 堆是一个完全二叉树:除了最后一层结点以外&…

C语言三子棋,五子棋,n子棋的代码实现

C语言三子棋,五子棋,n子棋的代码实现 这里以五子棋为例,来说明开发过程开发思路菜单打印棋盘的打印棋子的打印电脑下棋(随机数)判断输赢代码整合注意事项 这里以五子棋为例,来说明开发过程 其中该项目包含…

《用户增长方法论》从产品、渠道、营销创意等多个维度,搭建了一套完整的用户增长方法体系

关于作者 黄永鹏,目前在阿里巴巴担任高级用户增长专家。黄永鹏是一个典型的 “ 斜杠青年 ” ,十年前从广告咨询行业转战互联网,在 BAT 三家 公司都待过,负责过多款用户和日活过亿的产品,比如腾讯手机管家、百度地图…

chatgpt赋能python:Python练手:提高你的SEO技能

Python练手:提高你的SEO技能 在当今数字化时代,搜索引擎优化(SEO)成为了网站和企业在线成功的关键。优化技巧既可以提高网站的排名,还可以增加网站的可见性,从而吸引更多的流量和潜在客户。Python是一个适…

网络通信协议-ARP协议

目录 一、ARP协议 二、ARP协议通信过程 应用情景一:同一广播域内通信 (1)第一步:ARP协议通信 1.交换机接受消息 2.电脑2接收到广播消息 3.电脑2回复 4.交换机转发回复给电脑1 5.电脑1记录 (2)第二…

Go快速上手之基础语法 | 青训营笔记

Go快速上手之基础语法 | 青训营笔记 文章目录 Go快速上手之基础语法 | 青训营笔记系列介绍本文摘要1. Go 介绍2. Go 的环境配置2.1 :sparkles: IDE2.2 Gitpod 和 Jetbrians Gateway 的使用 3. Go的基础语法3.1 Hello World3.2 变量与常量3.3 条件控制语句…

Linux(进程间通信)

目录: 1.进程间通信的介绍 2.管道通信 3.管道的原理 ------------------------------------------------------------------------------------------------------------------------------- 1.进程间通信的介绍 2.管道通信 当我们在创建子进程时,我们的…

chatgpt赋能python:Python生成pyc文件的介绍

Python生成pyc文件的介绍 Python是一种解释型语言,但是在执行某些操作时,它会生成缓存文件,以便提高执行效率。这些缓存文件以 .pyc 扩展名保存在同一目录中。 在本文中,我们将重点介绍Python生成pyc文件,并探讨它们…

使用Python绘制M2货币供应率曲线

M2广义货币供应量:流通于银行体系之外的现金加上企业存款、居民储蓄存款以及其他存款,它包括了一切可能成为现实购买力的货币形式,通常反映的是社会总需求变化和未来通胀的压力状态。近年来,很多国家都把M2作为货币供应量的调控目…

Fedora安装并配置开启SSH服务相关命令

Ubuntu参考我这篇:虚拟机里安装ubuntu-23.04-beta-desktop-amd64,开启SSH(换源、备份),配置中文以及中文输入法等 一、过程 1、检测是否安装了openssh-server $ rpm -qa | grep openssh-serveropenssh-server-7.9p1-5.fc30.x86_642、如果上…

【web框架】——Django——如桃花来

目录索引 web框架介绍:常见软件的架构:*CS架构:**BS架构:* 网络通信:socket知识复习:*服务端代码逻辑:**客户端代码逻辑:* socket代码演示:*服务端代码演示:*…

chatgpt赋能python:Python生成:深入了解Python编程中的生成

Python 生成:深入了解Python编程中的生成 简介 Python是一门多用途编程语言,广泛应用于 Web 开发,数据分析,人工智能和科学计算等领域。在Python编程中,生成是一个强大而又常用的概念。本文将介绍Python编程中的生成…

如何在华为OD机试中获得满分?Java实现【输入n个整数,输出其中最小的k个】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述…

Java 的 String、StringBuffer 和 StringBuilder(一文讲透)

提到 String、StringBuffer 和 StringBuilder,就不得不谈及它们的历史,在了解它们的历史之后,我们对它们的理解将更上一级台阶! 发展历史 String 与 StringBuffer 的出现 String 和 StringBuffer 在 Java1.0 中就已经有了&…

chatgpt赋能python:Python自动操作软件:提高工作效率和节省时间的利器

Python自动操作软件:提高工作效率和节省时间的利器 Python是一种高级编程语言,具有易读易用、快速开发、可移植性好、跨平台兼容等优点。它在自动化操作方面具有很大的优势,可以帮助用户实现各种自动化操作,从而为我们的工作提供…

有哪些信息安全/网络安全/渗透测试/众测/CTF/红蓝攻防/漏洞测试等前沿技术/研究/技巧获取渠道?

​前言 护网的定义是以国家组织组织事业单位、国企单位、名企单位等开展攻防两方的网络安全演习。进攻方一个月内采取不限方式对防守方展开进攻,不管任何手段只要攻破防守方的网络并且留下标记即成功,直接冲到防守方的办公大楼,然后物理攻破…