Flutter入门
Flutter是谷歌移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。
它包含如下特点和核心概念
跨平台:现在Flutter至少可以跨5种平台包括:MacOS、Windows、Linux、Android、iOS以及谷歌最新的操作系统:Fuchsia。
丝滑般的体验:使用Flutter内置Material Design和Cupertino风格组件。
响应式框架:使用Flutter的响应式框架和一系列基础组件,可以轻松构建用户界面。
支持插件:通过Flutter插件可以访问平台本地API,如相机、蓝牙、WIFI等。
高性能:Flutter采用GPU渲染技术,所以性能极高,理论上可以达到60FPS。
组件是Fluttert应用程序用户界面的基本构建块,在Flutter种一切皆为组件,可以将布局方式、动画处理都视为Widget。(其中StatelessWidget和StatefulWidget都继承于Widget)
Flutter介绍
生命周期
Flutter中状态和React中的状态概念一致。React的核心思想是组件化的思想,应用由组件搭建而成,而组件中最重要的概念是State,是一个UI数据模型,是组件渲染时的数据依据。
Flutter程序的运行可以认为是一个巨大的状态机,用户的操作、请求API和系统事件的触发都是推动状态机运行的触发点,通过调用setState方法推动状态机进行响应。
State初始化时会依次执行 : 构造函数 > initState > didChangeDependencies > Widget build , 此时页面加载完成。
分层框架
Flutter框架是一个分层的结构,每一层都建立在前一层之上。上层比下层的使用频率更高。
分层设计的目标是帮助开发者用更少的代码做更多的事情 例如, Material 层通常组合来自 Widget 基本 Widget ,而 Widget 层通过较低级对象渲染层来构建。
环境配置
要安装并允许Flutter,开发环境必须满足以下要求:
操作系统:Windows 7或更高版本(64)
磁盘空间:400MB(不包括Android Studio磁盘空间)
工具:Git for Windows,需要手动添加D:\Program Files\Git\bin至Path系统环境变量中
Flutter SDK下载地址:https://flutter.dev/docs/development/tools/sdk/archive#windows
然后在Flutter安装目录flutter文件夹下的flutter_console.bat,双击运行启动flutter命令行。
注意:需要在环境变量path中添加flutter的路径信息:D:\Program Files\flutter\bin,然后在用户变量中添加如下变量:
PUB_HOSTED_URL=https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
然后打开命令窗口运行flutter doctor命令,如果出现如下提示:
则需要在环境变量中添加ANDROID_HOME = Android SDK路径
如果提示Flutter plugin not installed,则需要在Android Studio中安装Flutter插件和Dart插件
提示未安装licenses则运行flutter doctor --android-licenses,然后全部Y即可。
其中关于adb修改端口的方式如下所示:配置如下环境变量并指定端口即可。
ANDROID_ADB_SERVER_PORT=8826
如果gradle下载慢则配置如下镜像:
maven { url 'https://maven.aliyun.com/repository/google'}
maven { url 'https://maven.aliyun.com/repository/jcenter'}
maven { url 'http://maven.aliyun.com/nexus/content/groups/public'}
如果出现错误:Failed to install the following Android SDK packages as some licences have则在Android SDK目录下的SDK/tools/bin目录下输入:
sdkmanager --licenses
如果出现no devices则在flutter的控制台设置Android SDK的目录即可:
flutter config --android-sdk C:\SDK