Android 程序员入坑 Flutter

作者: 泽毛 | 来源:发表于2019-07-08 21:11 被阅读153次

    一、前言

    闲来无事,花了两个多星期入了Flutter的坑,总结了一下这段时间学到的东西以及学习过程中看过的资料,也是想看看自己有哪些遗漏的地方,感谢网上的各位大神。

    框架搭好了,之后也会根据总结好的知识体系,写一些自己的文章。

    二、准备工作

    2.1 Dart 语言

    学习下来,Dart语言很多地方和Java都很类似,对于Android程序员来说没有什么难度。我学习的时候主要关注的几点:

    • 变量定义
    • 函数定义(可选参数是最常用的点)。
    • 类(构造函数定义的一些变种)
    • 一些Java中没有遇到的操作符,例如?.expr1 ?? expr2b ??=1
    • ListMap等数据结构的定义方式。
    • 单例的实现方式。

    推荐文章

    2.2 找一篇完整的教程

    找到一篇完整的教程,从头到尾的跟着学习一遍,不要看独立的博客,有助于对整个Flutter涉及的方面有一个整体的认识

    在学习完之后,再去针对有疑问的点去针对性地学习。我是跟着下面这篇教程学下来的,受益匪浅,感谢!

    推荐文章

    三、知识点拆解

    经过了上面两步准备工作,就开始对知识点进行拆解,找一个笔记软件,按照拆解的分类,无论是别人写的,还是自己总结的,都要形成“知识组块”填入到脑海中,才不容易遗忘。

    3.1 Widget

    Widget的学习是单独的体力活,这里分为两步:

    • 第一步:了解一些Android中没有的概念
      • StatelessWidgetStatefullWidget的对比。
      • BoxConstraints的概念。
    • 第二步:采用类比的思维,在Android中,我们有ViewGroup/View,在Flutter中也一样,将控件分为MultiChild/SingleChild的方式针对性地学习,这里不建议花太多的时间,大家可以找一些在项目中做过的比较复杂的界面,试着用 Flutter的方式写一遍,找找感觉就好。

    大家可以把下面阿里巴巴提供的应用下载下来,用到控件的时候去看它是怎么实现的。

    推荐文章

    3.2 资源导入

    • 资源导入,分辨率的适配。
    • 第三方插件导入

    推荐文章

    3.3 动画

    动画的话简单的看 Flutter 实战 中这部分的代码就行了,主要了解动画组成,掌握:

    • 单个、组合动画。
    • 页面跳转动画。
    • 共享元素动画。

    推荐文章

    3.4 自定义组件

    这部分和Android的很类似,如果之前有自定义组件的经验,那么肯定不成问题。

    3.5 手势处理

    手势处理目前只是简单地了解了系统提供的API等,实现自定义的手势监听还等待研究。

    3.6 异步操作

    Android里面,异步操作的工具五花八门,AsyncTaskHandlerThread,但是在Flutter里面,一个async/await就解决问题了,主要掌握下面几点:

    • Flutter的事件模型,isolate的概念。
    • Future的概念。
    • async/await的使用方式,以及他们在事件循环中运行的时间点。
    • isolate之间如何通信。
    • RxDart的用法,这个和RxJava很类似,如果之前学过的应该很容易能够掌握。

    推荐文章

    3.7 路由

    掌握页面间跳转和传递参数的方式。

    推荐文章

    Flutter 实战之路由管理

    3.8 数据操作

    数据操作分为以下几类,都有开源的包可以使用,查看说明文档即可。

    3.9 Flutter 与 Native 的通信

    • FlutterNative之间如何进行数据和方法的传递。
    • 如何在Flutter中嵌入Android View

    参考文章

    3.10 状态管理

    mclzone 写的一系列关于状态管理的文章很棒!看完之后就明白了,没有再看过其它的文章。

    推荐文章

    3.11 国际化

    国际化的掌握分为三步:

    推荐文章

    3.12 进阶

    (1) 编译 & 打包原理

    (2) 初始化流程

    (3) 绘制框架分析

    ad6623 - 掘金 写的下面这系列关于渲染流水线的文章很棒,我每篇都边看边画流程图跟着学了下来,虽然很痛苦,但是收货很大,感谢!

    (4) 绘制框架的一些补充文章

    (5) Dart

    3.13 看一下实际的 App 是如何实现的

    3.14 性能优化

    刚入门,还没到性能优化的地步,还需继续努力。= =

    3.15 打包 & 发布

    四、小结

    当然,这只是一篇入门的教程,离工程化的标准还很远,这种只能到项目中实践了。

    相关文章

      网友评论

        本文标题:Android 程序员入坑 Flutter

        本文链接:https://www.haomeiwen.com/subject/nphzhctx.html