爱了!阿里大神最佳总结“Flutter进阶学习笔记”,理论与实战
Posted 上马定江山
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爱了!阿里大神最佳总结“Flutter进阶学习笔记”,理论与实战相关的知识,希望对你有一定的参考价值。
前言
“小步快跑、快速迭代”的开发大环境下,“一套代码、多端运行”是很多开发团队的梦想,美团也一样。他们做了很多跨平台开发框架的尝试:React Native、Weex、PWA 等等。但都没有得到很好的解决,直至遇到Flutter。
Flutter 提供了一整套从底层渲染逻辑到上层开发语言的完整方案,有跨平台、高保真、高性能等优点。因此从发布开始,热度一路攀升,受到开发者们的热切青睐,也有了 阿里闲鱼、今日头条、腾讯 Now 等在内的一众知名商业案例。
我曾跟很多前端、android、ios 的开发者聊过,其中超过 80% 的人告诉我他正在或打算学 Flutter ,但他们中的大部分都遇到了这些问题:
1、Flutter 从语言到开发框架都是全新的,技术栈的积累必须从头开始,学起来很费力。
2、看了很多关于 Flutter 的教程,可它们都太重视应用层 API 各个参数的介绍或实现细节,感觉无从下手。
想学好 Flutter,不应该仅停留细节层面,更要深入它的原理、设计思路和通用理念。
分享一张我收藏的 Flutter 核心知识图谱,里面涵盖了开发、调试、测试、发布、线上运维及工程管理。只要你能掌握下面80%的知识点,绝对可以搞懂 Flutter。
Flutter 的优点
从出身来说,Flutter 是谷歌的,所以对于 Android 开发者来说,从开发环境上来说,上手要容易很多。
其次, Flutter 目前的更新与迭代非常频繁,在 3 月份发布了 Flutter的 2.0 版本,支持了Android、iOS、Windows、macOS、Linux 平台,甚至未来可以会被嵌入到一些智能设备:电视、智能家居甚至汽车。
回归到技术层面,大家都知道以前比较热门的跨端框架是 React Native,实现原理主要是利用 js 将页面上的控件转化为原生控件,这样就带来了很多问题,例如新控件的适配,以及不同平台控件的差异性没法磨平,一个页面Android、iOS展示效果有差异,UI 同学不会同意吧。
而 Flutter 彻底改变了之前「转化」的思路,采用了全新的 Widget,完全自己绘制,屏蔽掉平台的差异性。
最后,Flutter 整个社区的活跃度非常高,出问题有地方查,有大厂分享最佳实践,不香吗?
找工作的加分项
Flutter目前也是Android开发岗位的加分项,下面是我在Boss上面搜到的一部分招聘信息。
通过上图我们可以看出,很多大厂在高薪招聘这方面的人才,Flutter 确确实实可以成为我们找工作的一个帮助。
Android开发该如何快速上手Flutter?
我们可以利用 Flutter 官方网站的教程,搭建好环境,写出一些 Demo 示例,在此之后需要了解如何混合开发,“万物皆 Widget”到底怎么理解?对于 State 的理解等原理知识…
这些对我们Android开发来说都有一定的难度。
为了让大家快速无痛上手 Flutter,给大家分享一份阿里大神总结的《Flutter进阶学习笔记》。
整理大纲
-
为什么Flutter是跨平台开发的终极之选
-
在Windows上搭建Flutter开发环境
-
编写您的第一个 Flutter App
-
Flutter开发环境搭建和调试
-
Dart语法篇之基础语法(一)
-
Dart语法篇之集合的使用与源码解析(二)
-
Dart语法篇之集合操作符函数与源码分析(三)
-
Dart语法篇之函数的使用(四)
-
Dart语法篇之面向对象基础(五)
-
Dart语法篇之面向对象继承和Mixins(六)
-
Dart语法篇之类型系统与泛型(七)
-
Flutter中的widget
第一章 为什么Flutter是跨平台开发的终极之选
-
这是为什么?
-
跨平台开发
-
什么是 Flutter
-
Flutter 的特性
-
Flutter 构建应用的工具
-
使用 Flutter 构建的热门应用
-
构建 Flutter 应用的成本
-
……
第二章 在Windows上搭建Flutter开发环境
-
使用镜像
-
系统要求
-
获取Flutter SDK
-
编辑器设置
-
Android设置
-
起步: 配置编辑器
-
起步: 体验
-
体验热重载
-
创建新的应用
-
运行应用程序
-
……
第三章 编写您的第一个 Flutter App
-
第1步: 创建 Flutter app
-
第2步: 使用外部包(package)
-
第3步: 添加一个 有状态的部件(Stateful widget)
-
第4步: 创建一个无限滚动ListView
-
第5步: 添加交互
-
第6步: 导航到新页面
-
第7步:使用主题更改UI
-
……
第四章 Flutter开发环境搭建和调试
-
开发环境的搭建
-
模拟器的安装与调试
-
开发环境的搭建
-
模拟器的安装与调试
-
……
第五章 Dart语法篇之基础语法(一)
-
Hello Dart
-
数据类型
-
变量和常量
-
集合(List、Set、Map)
-
流程控制
-
运算符
-
异常
-
函数
-
……
第六章 Dart语法篇之集合的使用与源码解析(二)
-
List
-
Set
-
Map
-
Queue
-
LinkedList
-
HashMap
-
Map、HashMap、LinkedHashMap、SplayTreeMap区别
-
命名构造函数from和of的区别以及使用建议
-
……
第七章 Dart语法篇之集合操作符函数与源码分析(三)
-
Iterable
-
forEach
-
map
-
any
-
every
-
where
-
firstWhere和singleWhere和lastWhere
-
join
-
take
-
takeWhile
……
第八章 Dart语法篇之函数的使用(四)
-
函数参数
-
匿名函数(闭包,lambda)
-
箭头函数
-
局部函数
-
顶层函数和静态函数
-
main函数
-
……
第九章 Dart语法篇之面向对象基础(五)
- ……
第十章 Dart语法篇之面向对象继承和Mixins(六)
- ……
第十一章 Dart语法篇之类型系统与泛型(七)
- ……
第十二章 Flutter中的widget
- ……
由于篇幅有限,进截图展示部分内容,朋友们如果有需要完整版学习手册,可以到我的【Github】阅读下载.
特别认同一句话:只有拥抱变化,才能比别人更早发现机会。
没有谁甘愿薪资增长缓慢或一直被无情压榨,或早或晚我们都会走上进阶之路。与其被动接受,不如主动出击,先争取成为技术强+思维深+视野广的工程师,机会来临时才能从容不迫地顺应而上,比别人更快一步。
以上是关于爱了!阿里大神最佳总结“Flutter进阶学习笔记”,理论与实战的主要内容,如果未能解决你的问题,请参考以下文章
阿里P7大神:深入理解Java回调机制总结(同步回调/异步回调)
阿里大神万字总结:InnoDB锁类型及其详细分析(仅此一篇,干货建议收藏!!)