热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Flutter(二)之环境搭建

前言:接下来一段时间我会陆续更新一些列Flutter文字教程更新进度:每周至少两篇;更新地点:首发于公众号,第二天更新于掘金、思否等地方;更多交流:可以添加我的微信37262332

前言:接下来一段时间我会陆续更新一些列Flutter文字教程

更新进度: 每周至少两篇;

更新地点: 首发于公众号,第二天更新于掘金、思否等地方;

更多交流: 可以添加我的微信 372623326,关注我的微博:coderwhy

希望大家可以 帮忙转发,点击在看,给我更多的创作动力。

Hello Flutter

这个章节我们学习如何安装Flutter,并且写第一个Flutter程序。

之后在iOS模拟器和Android模拟器上分别跑起来我们的应用程序(之后我会讲解如何跑在真机上)。

当然,这个程序中的很多代码你可能并不是特别理解,里面涉及到一些dart知识,也涉及到一些flutter的东西。这些都没有关系,我们的目的是把这个工程跑起来,就表示你的环境是OK的。

一. 环境搭建

环境搭建有点麻烦,特别是Android环境的安装,大家耐心安装,有任何问题可以添加我的微信 372623326

1.1. 操作系统选择

很多同学会问,学习Flutter到底使用什么操作系统呢?

学习阶段:Windows或者macOS(苹果操作系统)都是可以的

开发阶段:一般需要使用macOS,因为我们需要针对iOS进行调试,通常方便起见还是选择macOS

疑问:如果以后做Flutter开发没有macOS怎么办?

  • 这个可以完全放心,使用Flutter开发的公司必然会给你配备macOS的

Flutter可以在Windows上学习,也可以在macOS上,因为我之后的课程要进行Android和iOS的调试,所以我当前使用的环境是macOS的。

这里我再次强调,学习阶段使用Windows是没有任何问题,我之前也在Windows上写过很多Flutter的东西!

在安装的过程中,我也会说到很多Windows安装的注意事项,大家按照步骤一步步完成即可。

1.2. 安装Flutter SDK

使用Flutter开发,首先我们需要安装一个Flutter的SDK。

下载Flutter的SDK

来到Flutter的官网网站,选择最新稳定的Flutter SDK的版本

  • 网站地址:https://flutter.dev/docs/deve…
  • 选择自己的操作系统和最新稳定的版本(Stable版本)(我当前最新稳定的版本是1.7.8)

安装Flutter

1.解压下载好的Flutter SDK

  • 这个在Windows和macOS都是一样的(选择一个自己想要安装的目录)
  • 但是在macOS中,我通常会讲flutter目录拖入到应用程序中,将其当作我的一个应用(个人习惯而已)

《Flutter(二)之环境搭建》

2.配置Flutter的环境变量

  • 因为我们之后需要在命令行执行Flutter的命令,所以需要配置环境变量

macOS或者Linux系统,需要编辑~/.bash_profile文件

export PATH=$PATH:/Applications/flutter/bin

Windows用户将所在路径添加到环境变量的Path下

  • Windows环境变量修改:点击计算机图标 – 属性 – 高级系统设置 – 高级 – 环境变量
  • 找到Path,在其中添加Flutter SDK目录下bin目录

在终端中执行flutter –version,出现如下内容,说明安装flutter成功

《Flutter(二)之环境搭建》

配置镜像

flutter项目会依赖一些东西,在国内下载这些依赖会有一些慢,所以我们可以将它们的安装源换成国内的(也就是设置国内的镜像)

macOS或者Linux操作系统,依然是编辑~/.bash_profile文件

export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter

Windows用户还是需要修改环境变量

  • Windows环境变量修改:点击计算机图标 – 属性 – 高级系统设置 – 高级 – 环境变量
  • 新建 变量 PUB_HOSTED_URL,其值为https://pub.flutter-io.cn
  • 新建 变量 FLUTTER_STORAGE_BASE_URL, 其值为https://storage.flutter-io.cn

注意: 此镜像为临时镜像,并不能保证一直可用,大家可以参考详情请参考 Using Flutter in China 以获得有关镜像服务器的最新动态。

1.3. 配置iOS环境

如果想为Flutter配置iOS开发环境,需要在我们的电脑上安装一个Xcode(此部分Windows电脑忽略)

  • Xcode是苹果公司的iOS和macOS的IDE,进行过iOS开发的童鞋应该都非常熟悉

如何安装Xcode呢?常见的是两种

1.直接在App Store上搜索Xcode,找到安装即可

  • 这种安装方式有一个缺点,安装的一定是最新版本的(当然是用最新版本的最好)
  • 但是最新版本的Xcode会对macOS系统有一定的要求,所以可能还要设计到系统升级
  • 如果不希望系统升级,可以选择第二种方式

2.第二种方式是安装自己想要的Xcode的版本,需要手动去下载

  • 进入https://developer.apple.com/download/more页面
  • 登录自己的Apple ID
  • 在搜索框输入Xcode,回车搜索,找到各种版本Xcode下载即可

打开安装好的Xcode,可能打开速度有点慢:不着急,慢慢来

选择自己想用的iOS模拟器

打开Xcode,右上角点击Xcode – Open Developer Tools – Simulator

《Flutter(二)之环境搭建》

这个时候会打开一个默认的iOS模拟器,也可以在Hardware – Device – 系统版本中选择自己想要测试的模拟器

《Flutter(二)之环境搭建》

这个时候,我们就能看到如下模拟器了

《Flutter(二)之环境搭建》

1.4. 配置Android环境

如果想为Flutter配置Android开发环境,需要在我们的电脑上安装一个Android Studio

  • Android Studio是基于IntelliJ IDEA的、Google 官方的 Android 应用集成开发环境 (IDE)。

Android Studio的下载

  • 官网地址:https://developer.android.com…
  • 直接在官方下载即可
  • 安装直接双击安装即可

Android的环境配置

打开Android Studio,会问我们是否要设置代理,这是因为下载Android SDK等在国内不好下载

  • 至于如何设置代理,这里就不再讲解了~~~
  • 最好要设置代理哦,不然估计会被气死~~~

《Flutter(二)之环境搭建》

之后各种下一步,就会帮我们安装SDK等相关需要使用的内容

《Flutter(二)之环境搭建》

安装好后,点击Finish即可。

创建Android模拟器

安装好后,我们就可以去创建模拟器:选择Configure – AVD Manger

《Flutter(二)之环境搭建》

选择create virtual device

《Flutter(二)之环境搭建》

选择一个你想用的设备

《Flutter(二)之环境搭建》

选择Android的版本(这里我没有选择Q版本,它目前还是一个bata版本),点击download

  • 下一个界面,点击accept - next就可以了

《Flutter(二)之环境搭建》

接着下一步,给自己的模拟器起个名字

《Flutter(二)之环境搭建》

启动Android模拟器

《Flutter(二)之环境搭建》

这个时候我们执行一下如下终端命令:

flutter doctor

看到如下有两个可用的设备

《Flutter(二)之环境搭建》

1.5. 开发工具的选择

官方推荐两个工具来开发Flutter:Android Studio 和 VSCode,我们选择哪一个呢?

对于有选择恐惧症的人,还真不是特别好选择,所以下面我会分别说出它们的优缺点,选择权在你

最后我也会给出我的选择

VSCode优缺点

VSCode是最近非常非常流行的开发工具,并且非常好用!(我之前在微博感慨微软的东西最近两年越来越好用,其中之一就是VSCode)

而且VSCode最近已经有取代WebStorm作为前端首选开发工具的趋势了

VSCode的优点:

  • VSCode其实并不能称之为是一个IDE,它只是一个编辑器而已。
  • 所以它非常的轻量级,不会占用你非常大的内存消耗,而且启动速度等都非常快,对于电脑配置不是特别高的同学,肯定是一个非常好的选择。
  • 并且你可以在VSCode上安装各种各样的插件来满足自己的开发需求。

VSCode的缺点:

  • 很多Android Studio包括的方便操作没有,比如点击启动、热更新点击等;
  • 而且在某些情况下会出现一些问题;
  • 比如之前我在使用的过程中,有时候热更新不及时常常看不到效果,必须重启;
  • 比如某些情况下,没有代码提示不够灵敏;

使用须知:

使用VSCode开发Flutter我们需要安装两个插件:Flutter和Dart

Android Studio优缺点

对于进行过Android开发或者使用过Webstorm、IDEA、PHPStorm等的同学,使用Android Studio肯定是没有任何问题的

Android Studio的优点:

  • 集成开发环境(IDE)不用多说,你需要的功能基本都有
  • 而且上面说的VSCode存在的问题,在Android Studio中基本不会出现

Android Studio的缺点:

  • 一个字:重
  • 无论是IDE本身,还是使用Android Studio启动项目,都会相对慢一些
  • 占据的计算机资源也很多,所以电脑配置较低是会出现卡顿

使用须知:

使用Android Studio开发Flutter我们需要安装两个插件:Flutter和Dart

我的选择

其实在两个之间到底如何选择对于童鞋们学习Flutter更好,我也是纠结了很久。

  • 在我之前使用Flutter的过程中(写这个教程之前),我使用的都是VSCode。
  • 但是对于初学者来说,学习Flutter的过程中,Android Studio会更加友好。
  • 如果之后出视频教程,我可以设立一个投票,让大家决定使用的开发工具。

不过,无论使用哪个工具,都只是辅助而已,重要的还是我们课程的内容。

那么,我是如何选择 开发工具 呢?

  • 在学习Dart语言过程中,我选择VSCode,因为它可以直接创建一个dart文件让我们进行学习
  • 在学习Flutter过程中,我选择Android Studio,因为各种集成使用起来更加方便(你继续使用VSCode没有任何问题)

二. Hello Flutter

接下来我们创建自己的第一个Flutter应用程序,并且将其跑在两个模拟器上

2.1. 创建Flutter应用

有两种方式创建Flutter应用:通过终端,通过编辑器。

这里我先选择通过终端(Windows和macOS都是一样的命令)

打开终端 – 执行如下命令:

flutter create helloflutter
# 注意:后面的名称不能由特殊符号,也不能由大写

《Flutter(二)之环境搭建》

2.2. 项目跑在模拟器

通过一个你喜欢的开发工具打开(我这里暂时选择Android Studio)

《Flutter(二)之环境搭建》

选择你要启动的设备,点击 运行 按钮:

《Flutter(二)之环境搭建》

我把项目运行在了两个模拟器上

《Flutter(二)之环境搭建》

2.3. 体验Flutter热重载

对于我们开发测试阶段,如果每次修改代码都需要重新编译整个项目再加载的话,那每次可能都需要花费10秒左右甚至是几分钟的时间(电脑太慢的话),这样的开发效率是非常低的。

现在前端开发都支持热重载(Hot Reload),可以大大加快我们的开发效率。

  • 热重载可以在无需重新编译代码、重新启动应用程序的情况下,看到修改后界面的效果

Flutter在开发阶段使用JIT编译模式(后面我会讲解什么是JIT模式),所以可以做到热重载来提高我们的开发效率

下面我们体会一下热重载,后面有时间我们来分析热重载是如何实现的

将下面红框中的内容改成Hello Flutter,保存一下应用程序

  • 你会发现在不到1秒钟内,界面直接发生了刷新
  • 并且没有应用程序没有进行任何的重新,效率非常高

《Flutter(二)之环境搭建》

如果热重载不起作用,我们也可以点击右上角的 Hot Restart,并不需要重新运行项目

《Flutter(二)之环境搭建》

2.4. 工程目录分析

Flutter工程创建完毕会,会感觉比较复杂,我们来看下图:

《Flutter(二)之环境搭建》

目录包含哪些东西呢?

  • 其中包含Flutter开发和测试需要的lib、test,在开发过程中,我们主要使用的就是lib目录
  • 另外一些是管理项目的配置文件信息等,当然也包括一些Git相关的文件
  • 除此之外,还包括一个Android子工程和iOS子工程

为什么包含Android子工程和iOS子工程呢?

  • 这是因为作为一个跨平台的开发方案,最终还是要嵌入到Android工程或者iOS工程中来运行的
  • 并且在开发过程中也需要调用原生的一些功能

备注:所有内容首发于公众号,之后除了Flutter也会更新其他技术文章,TypeScript、React、Node、数据结构与算法等等,也会更新一些自己的学习心得等,欢迎大家关注

《Flutter(二)之环境搭建》


推荐阅读
  • 在尝试为 Unity 编译一个简单的 Java 库时,运行 `ant jar` 命令后遇到了 Java I/O 异常。具体错误信息为“无法启动程序 ${aAPT},错误代码 2”,这通常表示指定的文件或目录不存在。此问题可能是由于环境配置不正确或路径设置有误导致的。建议检查相关路径和环境变量,确保所有依赖项都已正确安装和配置。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • MicrosoftDeploymentToolkit2010部署培训实验手册V1.0目录实验环境说明3实验环境虚拟机使用信息3注意:4实验手册正文说 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 【实例简介】本文详细介绍了如何在PHP中实现微信支付的退款功能,并提供了订单创建类的完整代码及调用示例。在配置过程中,需确保正确设置相关参数,特别是证书路径应根据项目实际情况进行调整。为了保证系统的安全性,存放证书的目录需要设置为可读权限。值得注意的是,普通支付操作无需证书,但在执行退款操作时必须提供证书。此外,本文还对常见的错误处理和调试技巧进行了说明,帮助开发者快速定位和解决问题。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • Dense Matrix Inversion Results in Segmentation Fault: Causes and Solutions ... [详细]
  • 在CentOS 7上部署WebRTC网关Janus
    在CentOS 7上部署WebRTC网关Janus ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 深入解析 Unity URP/SRP 渲染管线:匠心打造的全面指南
    本文深入探讨了Unity中的URP、SRP和HDRP渲染管线,详细解析了它们之间的关系及各自的特点。首先介绍了SRP的基本概念及其在Unity渲染架构中的作用,随后重点阐述了URP和HDRP的设计理念与应用场景。文章还分析了SRP诞生的背景,解释了为何Unity需要引入这一灵活的渲染框架,以满足不同项目的需求。通过对比URP和HDRP,读者可以更好地理解如何选择合适的渲染管线,以优化项目的性能和视觉效果。 ... [详细]
  • MacOS双系统安装指南:十分钟速成,轻松省下数百元! ... [详细]
  • Ansible:自动化运维工具详解
    Ansible 是一款新兴的自动化运维工具,基于 Python 开发,集成了多种运维工具(如 Puppet、CFEngine、Chef、Func 和 Fabric)的优点,实现了批量系统配置、程序部署和命令执行等功能。本文将详细介绍 Ansible 的架构、特性和优势。 ... [详细]
author-avatar
沉醉不知归路1222
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有