Flutter 初识与环境配置

200 阅读5分钟

为何选择 Flutter

uniapp

提到跨端技术,我首先想到的就是 uniapp,上手难度低,只要会 vue,通过一套代码就可以生成手机端网页、安卓应用、iOS 应用以及各种平台的小程序。工作中,我也用 uniapp 写了几个项目,但是体验终究和原生应用还是有所差距的。

React Native

RN 是由 Facebook 出品的,基于 js 和 React 的非常优秀的跨平台移动应用开发框架,对于前端开发人员而言学习成本不算太高。现在已经相当成熟,并且有着活跃的社区,包括我之前工作过的公司,也是在用 RN 进行 App 的开发。虽说在 RN 中,是使用 React 组件通过 js 来调用原生视图,有着不错的渲染性能。但其本质上还是通过 JavaScript VM 调用原生接口,相对而言通信比较低效。

Flutter

于是最近决定开始学习由谷歌出品的、原生平台编译的跨端解决方案 —— Flutter。当我们使用 Flutter 编写 App时, 使用的是 Dart 语言,再经过 Flutter 框架的翻译,将对应的结果交给同样由谷歌开发并维护的 Skia 绘图引擎,然后直接通过 CPU/GPU 处理,最终绘制生成我们看到的画面。这个过程,和开发原生应用是差不多的。我们以安卓为例,在安卓开发中,使用 Kotlin 或 Java 来编写代码,经由 Android 框架翻译,同样是将结果交给 Skia,再由 Skia 把数据交给 CPU/GPU 处理生成画面。图示如下:
image.png
不难看出,使用 Flutter 开发 App 的过程基本上与原生开发时一样的。而像 React Native 这种框架,则不能直接给 Skia 提供数据,而是需要借助于 Android 框架,这就存在较大的性能消耗: image.png

其实 Chrome 浏览器的绘图能力,包括 canvas 或 svg 等,底层靠的也都是 Skia 图形引擎。

环境配置

下面介绍在 Windows 系统的电脑上如何配置开发 Flutter 所需的环境。

1. 下载 Flutter SDK

SDK 就是 Software Development Kit 的缩写。可以去官方站点下载:

image.png

最好是下载 stable 版,也就是稳定版。下载后解压将 flutter 目录放在你想放的位置就好了,比如我是放在 C:\src\flutter。

2. 配置环境变量

在开始菜单的搜索功能输入“env”,然后选择“编辑系统环境变量”或者右击计算机图标 -> 属性 -> 高级系统配置 -> 高级 -> 环境变量,打开环境变量窗口,在系统变量中找到 Path,添加 flutter 目录下 bin 目录,比如“C:\src\flutter\bin”。 配置完后可以在命令行窗口输入 flutter --version 查看 flutter 版本,我下载的是 3.0.1:

image.png

也能直接看到 Dart 的版本,或是输入 dart --version 查看,我的是 2.17.1。 然后可以输入 flutter doctor 查看还有哪些相关的依赖需要配置的,比如是否安装了 Android Studio 等:

image.png

3. 配置 Android 环境

因为在 Windows 系统下不太方便安装 Xcode,所以我们忽略掉对 iOS 开发环境的配置,而直接开始配置 Android 开发环境。 首先需要下载安装 Android Studio —— 基于 IntelliJ IDEA 的、谷歌官方的安卓应用集成开发环境(IDE)。 安装完后打开 Android Studio 会来到如下图所示的 Android Studio Setup Wizard 窗口:

image.png 点击 Next 按提示安装一些开发 Android Flutter 应用时所需要组件(components)。 安装完后会来到如下所示的欢迎窗口:

image.png

点击 More Actions 的 Virtual Device Manager 前往虚拟设备管理窗口:

image.png

点击 Create device 进入到了选择硬件设备窗口,我直接选择了默认选中的 Pixel2:

image.png

然后点击 Next,进入如下窗口进行下载,我下载的是默认选中的 R 版本,对应的是 Android 11:

image.png

下载完成后就可以点击上图中的 Next,然后可以给新建的这个虚拟设备起个名字:

image.png

可能遇到的问题及解决

  1. 我在家里的电脑(win7)安装时,遇到了上图右边所示的红色提示:VT-x is disabled in BIOS。

解决办法是重启电脑进入 BIOS(我是华硕的主板,是按 F8 进入的),点击界面下方的 “Advanced Mode(F7)”,然后在 Advanced 菜单下,找到“Intel Virtualization Technology”,改为 “Enabled”,然后保存修改,退出即可:

2060365647.jpg

  1. 我在公司电脑(win10)进行到这一步时也遇到了问题,提示是: image.png
    解决办法是卸载掉 Intel@ Hardware Accelerated Execution Manager:
    image.png
    然后去 github 下载 haxm-windows_v7_5_1.zip,解压后点击 intelhaxm-android.exe 安装。 之后再次打开 Android Studio,重新创建一个虚拟设备,你会发现提示变成了 HAXM is not installed. image.png

直接点击下面的 Install Haxm 根据提示安装即可。 之后,就可以在 Device Manager 里看到我们新建的设备,点击三角图标可以启动模拟器:

image.png

4. 同意 Android 协议

在终端输入 flutter doctor --android-licenses,然后阅读并同意协议即可。

可能遇到的问题及解决

当我执行完命令后遇到了如下图所示的问题:
image.png 解决办法是打开 Android Studio 后点击 Tools 菜单的 SDK Manager 选项:

image.png

在打开的设置窗口按下图所示勾选安装 Android SDK Command-line Tools:

image.png

之后就可以正常操作了。

5. 安装 Flutter 和 Dart 插件

在 Android Studio 中,通过 File -> Settings -> Plugins 来到插件偏好设置窗口,安装 Flutter 插件,安装过程会要求安装 Dart 插件,点击同意,就安装好了 Flutter 和 Dart 插件:

image.png

创建应用

现在,我们就可以创建第 1 个 Flutter 应用了。打开命令行工具,来到想创建项目的目录下,执行 flutter create my_flutter_app,即可创建名为 my_flutter_app 的项目,注意项目名称不要使用大写字母:

image.png

然后我们通过 Android Studio 打开 my_flutter_app,选择之前创建的虚拟设备,然后点击右边的运行三角按钮:

image.png

等待一段时间的编译后,就能看到一个简单的计数器项目已经运行在虚拟设备上了:

image.png

至此,我们已经成功地配置好了 Flutter 的开发环境~

感谢.gif 点赞.png