Flutter Windows开发环境搭建教程与学习资料推荐-程序员宅基地

技术标签: flutter  windows  IDE配置  

  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 dart

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) flutter插件安装

  下载idea, 安装flutter插件, 安装flutter插件时会提示需要安装dart插件,点击是即可, 安装过程可能比较长, 安装完成后, 需要重启IDEA.
在这里插入图片描述

  flutter插件安装完后,需要重启idea

在这里插入图片描述

(2) 创建flutter windows项目

  初次使用idea创建flutter项目,需要指定flutter的路径

在这里插入图片描述

  填写项目名称, 指定项目路径

在这里插入图片描述
  注意项目名需要小写, 提示项目目录不存在, 点击Create即可.

(3) 运行项目

  初次创建项目时,可能会出现某些包未更新, 需要联网更新, 例如下面的错误,

flutter错误
D:\devkits\flutter_windows_3.10.2-stable\flutter\bin\flutter.bat
–no-color pub get Resolving dependencies… Got TLS error trying to find package cupertino_icons at https://pub.dev. Process finished with
exit code 69

更新完之后选择设备, 这里选择的是Windows, 运行项目, 如下图:

在这里插入图片描述

2 命令行创建Flutter项目

  除了使用IDEA创建Flutter项目,也可以使用命令行创建项目, 然后使用idea或者vscode打开项目文件夹即可.

命令行如下:

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

在这里插入图片描述

四、如何学习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端生态较弱,钉钉PC端部分界面使用了Flutter, 其它基本无参考。

开发难度

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

框架选型

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yao_hou/article/details/130907155

智能推荐

基于红外热感应传感器LHI958的微机课程设计2——汇编语言(8086/8088)[实验环境/模块/连线介绍与编程思路]_汇编语言 实验环境-程序员宅基地

文章浏览阅读361次,点赞4次,收藏2次。紧接着就要使用到定时器 55 了,由于实验箱只提供 1MHZ 以上频率 的时钟,如果直接用它来进行定时10s, 计数初值为10^7,而8086允许的操作数最多16位,已经严重超出,所以不能直接定时,需要使用8254的计数器0将1MHZ的输入时钟频率进行分频,如1KHZ, 将它输出到8254定时器的计数器1的输入,这样就可以使8254的计数器 1 进行10s的定时。要成功显示汉字,首先需要确定该汉字要显示的地址,根据表2-2可知,“北” 字所在的地址是90H,“京”字所在的地址是91H……_汇编语言 实验环境

win7系统如何安装python_python安装教程详解 python下载安装教程步骤_win7怎么安装python-程序员宅基地

文章浏览阅读394次,点赞3次,收藏3次。Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

C#版网络对战五子棋以及Socket通信_c#五子棋编程对等协议-程序员宅基地

文章浏览阅读3.5k次,点赞14次,收藏61次。前言    这个网络版五子棋游戏是今年四月初写的。当时觉得自己应该学一些网络编程的东西。而我课程设计的题目已经定了———做一个Everything。 那就帮我斐哥做个网络版的五子棋吧。    界面是WinForm的,使用GDI绘图来完成棋盘与棋子的绘制,落子坐标通过定义的公式来计算。我原先做过人机对战版的五子棋,因此游戏逻辑这个最重要的部分并没有花很多时间。这个程序一个多星期就搞的差不多了。..._c#五子棋编程对等协议

软件测试技术分享丨uiautomator2详细使用方法_uiautomator2命令帮助-程序员宅基地

文章浏览阅读1.3k次,点赞50次,收藏28次。uiautomator2是一个自动化测试开源工具,仅支持android平台的自动化测试,其封装了谷歌自带的uiautomator2测试框架,可以运行在支持Python的任一系统上,目前版本为2.10.2开源库地址:https://github.com/openatx/uiautomator2。_uiautomator2命令帮助

有关计算机的论文参考外文文献,最新计算机论文参考文献 计算机外文文献怎么找...-程序员宅基地

文章浏览阅读1.9k次。精选了【100个】关于最新计算机论文参考文献供您后续的写作参考,在写计算机论文之前,很多大学生总是被计算机外文文献怎么找难倒怎么办?请阅读本文!一、计算机论文参考文献范文[1]集成电路发展对抗恶劣环境计算机的影响与对策.朱天成,2013全国抗恶劣环境计算机第二十三届学术年会[2]可信计算在弹载计算机上的实现方法研究.王可,2013全国抗恶劣环境计算机第二十三届学术年会[3]适应海上环境计算机需求分..._计算机外文文献论文

分别使用原生Ajax 和Jquery的方式实现数据请求_编写一个简单的登录页面,同时将登录信息通过原生ajax和jquery ajax两种方式发给po-程序员宅基地

文章浏览阅读127次。分别使用原生Ajax 和Jquery的方式实现数据请求Ajax是什么?“Asynchronous Javascript And XML”(异步JavaScript和XML),并不是新的技术,只是把原有的技术,整合到一起而已。 1.使用CSS和XHTML来表示。 2. 使用DOM模型来交互和动态显示。 3.使用XMLHttpReques..._编写一个简单的登录页面,同时将登录信息通过原生ajax和jquery ajax两种方式发给po

随便推点

C语言函数ANSI风格与K&R风格【是int fun(void)还是int fun()】_r&k风格-程序员宅基地

文章浏览阅读2.3k次。在学习C语言函数指针的过程中,我发现了函数的参数列的一些问题:无论参数部分是否填入类型,编译均可通过。查阅资料后发现C语言中有两种函数参数风格:ANSI和K&R。ANSI是我们所学习的风格;K&R则是老式的,是编写Linux内核所使用的风格。int foo(void) 还有 int foo(int a, int b)就是ANSI风格的。它的特点是参数都有类型..._r&k风格

45,原子核物理实验方法篇_有效剂量-程序员宅基地

文章浏览阅读312次,点赞7次,收藏7次。为了解决这个问题,研究人员为身体的不同器官定义了组织权重因子WT,如表1所示。我们需要注意的是,组织权重因子完全独立于辐射类型和能量(正如辐射权重因子WR独立于组织类型一样),千万不要搞混淆了!研究发现,有效剂量与癌症等疾病发生的概率有更好的相关性,并且有效剂量与剂量当量一样,以西弗为单位进行测量。请注意,组织权重因子的定义是将其总和归一化为1。对于全身均匀收到的剂量当量,有效剂量在数值上等于剂量当量。研究发现,由于辐射而产生癌症或发生遗传异常等生物效应的概率与接受辐射的特定器官或组织相关。

Nginx配置网页转发_nginx 转发页面-程序员宅基地

文章浏览阅读1.6k次。将云服务器的80端口转发到另一台服务器部署的网页。_nginx 转发页面

时序数据特征提取:用 pandas 进行上采样、下采样_时序特征-程序员宅基地

文章浏览阅读2.9k次。# 对温度做分段常数逼近处理,下采样def constant_appro_low(df_data_by_date_tem): df_data_by_date_tem = df_data_by_date_tem.reset_index(drop=True) df_appro = pd.DataFrame() date_index = pd.date_range(end = ..._时序特征

DirectX11 Effect特效文件_directx 特效-程序员宅基地

文章浏览阅读3.6k次。Effect特效文件1. 什么是Effect特效文件? Direct3D 中,有个 Effect 文件的概念。将所创建的着色器与这些文件捆绑在一起就是所谓的一个效果(特效)。 大多数时候,你只是结合顶点和像素着色器来创建某一行为,这叫做技术(technique)。一种技术定义了一个渲染效果,而 Effect文件就是包含很多渲染技术的文件。 例如: technique11 Colo_directx 特效

Error inflating class android.webkit.WebView NotFoundException: String resource ID #0x2040002_unable to start activity componentinfo error infla-程序员宅基地

文章浏览阅读2.6k次。在Android 5.0.1手机上出现WebView加载出错问题,具体报错信息:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.lianzhuoxinxi.baoduoduo/com.lianzhuoxinxi.baoduoduo.ui.other.WebViewActivity}: android.v..._unable to start activity componentinfo error inflating class android.webkit.

推荐文章

热门文章

相关标签