Flutter学习路线
![](https://img.haomeiwen.com/i28055132/88837abe4061a807.png)
Dart 语言
在学习 Dart 语言前,若没有任何编程基础,建议先了解一下计算机基础知识。Dart 作为一门现代化的面向对象编程语言,具备了市面上大多数编程语言的特点:
- 变量定义、赋值:基本数学运算
- 条件分支
- 循环
- 容器类
- 函数和参数
- 面向对象编程
- 继承、多态和抽象类
- mixin
- 泛型
- Future
- null safety
![](https://img.haomeiwen.com/i28055132/77bb21c302dbba17.png)
【一键获取】实战混合式开发Flutter3.0手册
环境搭建
其实学习每一项技术首先都需要搭建环境,这并不属于学习路线的一部分,拿到这里单独说,也并不是告诉大家如何搭建环境,而是给大家推荐环境的选择,因为Flutter的开发并没有专门的IDE,可以使用vscode、android studio等,这里推荐使用android studio,系统建议Mac OS,因为Flutter目前主要用于Android和IOS的开发。
![](https://img.haomeiwen.com/i28055132/705dabefacb4f3d0.png)
Flutter 组件
作为一个合格的App 开发,能够将一个UI 界面还原出来是基本的要求。建议一开始需要熟悉Flutter框架提供的自带组件,然后可以通过自带的组件组合成为自己的自定义组件。
布局类组件:
- Container
- SizedBox
- Padding
- Stack
- ListView
- GridView等组件。
业务类组件:
- TextField
- 按钮
- 文本
- 图片
- 图标等组件。
自定义组件:
利用布局类组件和业务类组件组合,构成自己的可复用的组件。
自有组件库:
根据产品特性和公司需要,抽取复用的组件构成自有的组件库,从而提升整个公司的开发效率。
UI控件
UI控件的学习是进入Flutter的钥匙,因此第一个要学习的就是相关UI控件,Flutter系统提供的组件非常多(估计300+)
![](https://img.haomeiwen.com/i28055132/0f72715b680ea8df.png)
Mixin
mixin是面向对象程序设计语言中的类,提供了方法的实现。其他类可以访问mixin类的方法、变量而不必成为其子类。
简而言之,mixins是普通的类,我们可以从中扩展方法(或变量)而不扩展类。
![](https://img.haomeiwen.com/i28055132/6095bfe4b2369a3e.png)
手势事件及事件传递机制
Flutter中有点击、长按、双击等各种手势事件,学习如何给控件绑定手势事件及事件的处理,最后需要对事件的传递机制有一定的了解。
动画
当你掌握上述的基本技能后,你看到别人 App 的酷炫动效时肯定心痒痒,想自己偶尔也能玩一下这类高大上的东西。这个时候就需要了解动画的实现了,Flutter 提供了很多动画构建方式。
基础动画组件:
- AnimatedContainer
- AnimatedOpacity
动画复用:
使用 AnimatedBuilder可以构建可复用的动效。
动画曲线
动画插件
- Lottie
本地数据存储
本地数据的存储有如下几种方式:
- 文件读取、写入。
- shared_ preferences: 通过key-value的方式存放数据,适合存储简单的数据,比如配置数据等。
- sqflite:数据库的形式存储数据,适合存储大量数据。
网络请求
任何一一个App基本都离不开请求网络,学会网络请求数据,强烈建议先了解下Dart自带网络请求,然后使用dio第三方库获取网络请求。
Flutter响应式编
实现响应式编程。这里面典型的是 BLoC 模式 (BLoC 也可以用于状态管理)。了解一下 BLoC 的理念对设计整个应用程序框架十分有帮助。
原生交互
原生交互分为三个部分:
- Flutter为原生提供服务
- Flutter 使用原生提供的接口
- 原生页面与 Flutter 页面之间的跳转
国际化
如果你的App需要国际化,那么你需要学习国际化相关的内容,如何设置不同国家的文案等。当然这并不是必须的。
混合开发
混合开发是一一个非常重要的内容,即使你完全使用Flutter开发一个全新的App, 也可能涉及到原生开发。这部分你需要了解如下内容:
- 在原生项目中增加Flutter模块。
- Flutter与原生通信。
-
Flutter与原生通信更为重要,因为-些涉及硬件功能Flutter必须通过原生实现,比如相机、蓝牙等。
03编写实战一个Flutter APP .png
文末
学习是自己的事情,每个人都有自己的学习方式和节奏,要评估好自己的学习能力和学习节奏,找到属于自己的学习方式。
【一键获取】实战混合式开发Flutter3.0手册
比如我,你让我看视频或者光看文档学习,我是根本学不下去的,第一篇内容还没看完我可能就睡觉了:)。所以学的学习方式简单粗暴,直接上手写 DEMO,一边写一边查文挡,整个小项目做完也学的差不多了,这就是我的学习方式。
每个人都有自己的学习方式,别人的学习方式你可以参考不要照搬。
网友评论