深色模式
Flutter 起步
安装
安装包方式
下载安装包 获取 Flutter SDK
解压
可以解压到
~/Library
中。配置环境变量
在
~/.bash_profile
中:sh# Flutter SDK PATH=$PATH:~/Library/flutter/bin
GitHub 方式
(不推荐,因为太慢)
sh
git clone https://github.com/flutter/flutter.git -b stable
配置代理
参考Using Flutter in China,在~/.bash_profile
中:
sh
# Flutter 镜像
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
开发平台与IDE
平台配置
- 如果要开发
Android
平台,需要安装Android Studio。 - 如果要开发
iOS
或macOS
平台,要安装XCode。 - 如果要开发
Web
平台,要安装Chrome。 - 如果要开发
Windows
平台,要安装Visual Studio(传说中的宇宙第一IDE)。
运行
sh
flutter doctor
可以检查flutter各个平台有没有配置正确。
注意:
- 只有在Windows机器上,才会检查Windows平台相关配置。
- 同理,只有在macOS上,才会检查iOS与macOS平台相关配置。
具体可参考平台配置。
IDE
可选的 IDE 有:
- VS Code
- Android Studio
- IntelliJ IDEA
- Emacs
使用1和2的人比较多。
新手建议选2,因为代码分析、重构能力更强,缺点是卡。
老手建议选1,因为快。
创建项目
IDE创建
在 Android Studio 中,选择 【New Flutter Project】 就可以创建。
但是,使用flutter create
命令创建项目的方式更灵活(主要是用 Android Studio 创建 Flutter 项目太卡了)。
命令行创建
flutter create
命令,可以用来创建项目,也可以用在已存在的项目上,为其增加缺失的文件,比如增加支持的平台。
详细用法可以输入flutter create --help
查看。
示例
无脑创建所有平台
最简单的用法,在当前目录中创建一个 Flutter 项目,名为myproj
,并且支持 Android、iOS、Web、MacOS、Linux、Windows 等6个平台。
sh
flutter create myproj
Android与iOS(常见)
指定一些参数:
sh
flutter create \
# 指定平台,不指定平台,则默认创建6个平台
--platforms android,ios \
# 项目名,即pubspec.yaml里面的name,它就是项目的package name
--project-name calendar \
# 组织名
--org com.xyz
# 项目文件夹名
calendar-app
创建插件
sh
flutter create \
# 插件项目
--template plugin \
# 指定平台,不指定平台,则默认创建6个平台
--platforms android,ios \
# 项目名,即pubspec.yaml里面的name,它就是项目的package name
--project-name myplugin \
# 组织名
--org com.xyz \
# 项目文件夹名
myplugin
添加常用第三方库
架构
sh
# hook
flutter pub add flutter_hooks
# riverpod
flutter pub add hooks_riverpod
flutter pub add riverpod_annotation
flutter pub add dev:riverpod_generator
flutter pub add dev:riverpod_lint
# dio
flutter pub add dio
# json序列化
flutter pub add json_annotation
flutter pub add dev:json_serializable
flutter pub add freezed_annotation
flutter pub add dev:freezed
# log
flutter pub add logger
# 代码生成
flutter pub add dev:build_runner
数据持久化
sh
# sp存取
flutter pub add shared_preferences
# 数据库SQLite
flutter pub add sqflite
# 路径操作
flutter pub add path
# 获取系统中的特定目录
flutter pub add path_provider
工具库
sh
# 集合
flutter pub add collection
移动端常用
sh
# build信息
flutter pub add package_info_plus
# 判断网络状态
flutter pub add connectivity_plus
# 权限请求
flutter pub add permission_handler
# Toast
flutter pub add fluttertoast
# 跳转到系统设置
flutter pub add app_settings
其它
sh
# 左滑删除
flutter pub add flutter_slidable
# 录音
flutter pub add record
# 播放
flutter pub add audioplayers
# markdown
flutter pub add flutter_markdown