1 什么是 flutter ?
Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。 Flutter 开源、免费,拥有宽松的开源协议,适合商业项目。
1.1 Flutter 特性
快速开发
Flutter的热重载帮助你快捷方便的试验、重构UI、添加特性和修复bug。在仿真器、模拟器和ios、android硬件上体验亚秒级的重载,而不会丢失状态
绚丽UI
通过Flutter内建的漂亮的质感设计和Cupertino(ios-flavor)小工具、丰富的动画API,平滑的自然滚动和平台感知,让用户感到满意。
响应式
通过Flutter的现代响应式(Reactive)框架和丰富的平台布局和基础组件轻松构建您的用户界面。用强大而灵活的API解决2D、动画、手势、效果等难题。
访问原生功能
通过平台api、第三方sdk和原生代码使您的应用变得生动起来。Flutter让您可以重用您现有的java、swift和Objc代码,并在iOS和Android上访问原生特性和SDK。
1.2 框架结构
Flutter的主要结构包括:
Flutter engine
用C++编写,实现了Flutter的核心库,包括Dart虚拟机、动画和图形、文字渲染、通信通道、事件通知、插件架构等。引擎渲染采用的是2D图形渲染库Skia,虚拟机采用的是面向对象语言Dart VM,并将它们托管到平台的中间层代码(Embedder)
Framework(Dart)
该层是Dart库,google实现一套用Dart语言开发的基础库,包括Widget,手势,绘图,动画等,有Material和Cupertino风格
Embedder(Platform Specific)
嵌入层,为Engine创建和管理线程,作用是把Engine的Task Runners(任务运行器)运行在嵌入层管理的线程上
2 安装 flutter SDK
2.1 windows 下安装 flutter SDK
从GitHub 上的Flutter repo获取源代码,并根据需要更改分支或标签。例如:
C:\src>git clone https://github.com/flutter/flutter.git -b stable
然后,在 flutter 控制台中运行flutter
命令。
注意:从 Flutter 的 1.19.0 开发版本开始,Flutter SDK 包含dart命令旁边的flutter 命令,以便您可以更轻松地运行 Dart 命令行程序。下载 Flutter SDK 也会下载 Dart 的兼容版本,但如果您已经单独下载了 Dart SDK,请确保dart您的路径中首先包含 Flutter 版本,因为这两个版本可能不兼容。以下命令告诉您flutter和dart 命令是否来自同一bin目录并因此兼容。
where flutter dart
C:\path-to-flutter-sdk\bin\flutter
C:\path-to-flutter-sdk\bin\flutter.bat
C:\path-to-dart-sdk\bin\dart.exe :: this should go after `C:\path-to-flutter-sdk\bin\` commands
C:\path-to-flutter-sdk\bin\dart
C:\path-to-flutter-sdk\bin\dart.bat
在flutter控制台窗口,运行如下命令查看是否有任何平台依赖项需要完成设置:
C:\src\flutter>flutter doctor
2.2 MacOS 下安装flutter SDK
下载flutter SDK 安装包
flutter_macos_3.0.1-stable.zip
flutter_macos_arm64_3.0.1-stable.zip
将文件提取到所需位置,例如:
cd ~/development
unzip ~/Downloads/flutter_macos_3.0.1-stable.zip
将flutter工具添加到您的路径:
export PATH="$PATH:`pwd`/flutter/bin"
运行以下命令以查看是否需要安装任何依赖项才能完成设置
flutter doctor
当然,如果不想采用上面的步骤,可以使用 git 构建 Flutter SDK 开发环境:
git clone https://github.com/flutter/flutter.git -b stable
此方法,与windows 相同。