Flutter入门学习指北

接触Flutter也有一段时间了,刚好最近用Flutter写的一个小项目落地了,记录一下学习的过程以及一些知识点吧,这里记录的只是一个大概的方向,可作为出入门学习参考。

一、初步了解Flutter

第一反应百度搜索并打开Flutter中文网https://flutterchina.club/先做一个初步了解。

1、Flutter使用Dart作为开发语言,所以了解一下Dart语法是很必要的,但是实际上只是简单的开发其实用不到太多东西,了解一下基础即可开始简单的开发,这里https://www.jianshu.com/p/ad19fc52dd2b简单总结了一下常用的语法,适合快速入门Dart。
2、语言大概了解了,下一步当然是不管三七二十一先来个HelloWord体验一下了。

二、环境安装与Helloword

当然还是在Flutter中文网中打开环境安装模块,按步骤一步步完成安装,公司开发用的是MAC,家里电脑是windows,安装有点差别,但大体流程都差不太多,大体上都是:

1、环境变量中配置镜像。
2、下载、安装、配置Flutter SDK
3、运行 flutter doctor,根据提示完善需要的配置。
然后配置编辑器,Android Studio、IntelliJ或VS Code均可。作为一个Android开发者,自然是用的AS,添加上Flutter和Dart插件简单粗暴完事。
创建一个Flutter App项目,HelloWord就完成了。其中界面默认项目包含一个按钮,根据按钮点击次数动态改变文本数量。

三、Flutter开发

要实现一些简单的开发,个人认为首先需要了解的东西有:
1、widget与布局

① Flutter 中的Widget 几乎实现了所有的功能,除了 UI、布局之外,还有交互、动画等,首先需要弄清楚StatelessWidget 和 StatefulWidget的区别和使用场景。
② MaterialApp 大部分情况下要作为 Flutter 的 根Widget,并且 MaterrialApp 经常和 Scaffold 搭配一起使用。
③ 了解常用基础widget,简单widget如显示文本的Text、输入框TextField、图片显示Image等,布局widget如Row、clown、stack、Center、container等,滚动widget如listview、gridview。

2、路由

了解路由Route,页面跳转及参数传递。

3、网络数据请求与解析

①网络请求使用的是网络库Dio,自己根据业务进行了简单的封装。
② json解析,了解json_serializable、json_annotation的使用。

4、异步

熟悉async 和 await 的使用,了解Future。

5、三方库的使用

一般配置pubspec.yaml中的dependencies,执行flutter packages get即可导入,按照库的API使用即可。

6、状态管理

目前用的是provider,其他常用的还有InheritedWidget、ScopedModel、Redux等。

四、项目参考

推荐https://github.com/phoenixsky/fun_android_flutter这个wanandroid开源项目,项目整体使用MVVM结构,结合Provider,实现了主题切换、夜间切换、国际化等,很不错的项目。

你可能感兴趣的:(Flutter入门学习指北)