Flutter App开发学习笔记
flutter简介
flutter=widget+dart
widget :中文名“组件”,对于flutter来说,everything is widget,你在页面上所有能看到的东西都是通过flutter来进行渲染的,包括官方提供的基础组件,开发者也可以自己封装组件,自己使用,封装原则应尽量秉承:足够公用,无关业务,无多余依赖。
dart:一门与java非常接近的语言,特性是everything is Object。比较特殊的是我们在通过调用接口返回数据时,应将数据格式封装为一个dto,再去使用,会事半功倍!在dart中所有网络请求都是异步的。所以在进行开发的时候可以当做一个java项目进行开发。
flutter自带的组件库
https://flutterchina.club/widgets/basics/
这个Api中贴出的18个官方支持的组件,涵盖了开发中能直接使用的页面绘制方式,几乎是决定了我们页面绘制的上线。
在实际工作中,发现原有的组件库只能够支持画出页面,而不能简单快捷的画出可复用的页面,所以我们通过自己封装组件库的方式封装了很多东西,但是我自己的直观感受是越写越恶心,感觉还不如html+css或者Vue写起来简单;各种嵌套,看的非常头疼。
目前我们自己封装的一些组件
分享组件
拍照组件
头像显示组件
PDF预览组件
网络图片展示组件
标题展示组件
key+value内容展示组件
loading页组件
提示组件
接口请求返回异常信息组件
金额格式化组件
日期格式化组件
判空组件
页面跳转组件
接口调用组件
与H5端交互组件
其中有一部分组件,flutter天然就支持,再进行封装的目的是为了获取日志信息进行问题排查。
目录结构
快速上手
- 环境搭建:安装flutter,配置环境变量;安装jdk,配置环境变量;安装Android studio,作为开发IDE;使用Android studio配置虚拟机。
- 项目搭建,命令:flutter create flutter_demo ,会生成一个“flutter_demo ”的flutter 项目,其中的目录接口可以自己构建
- app打包,安卓:https://www.jspang.com/detailed?id=44
ios:还没尝试过 - flutter的页面生命周期:
**注意:**初始化的值放在serState({})中