前言
自从2018年Google发布Flutter第一个预览版以来,Flutter就受到了开发者的热捧,短短一年多的时间,Flutter在GitHub上就收获了8W+stars,版本发布的频率超乎想象。在StackOverflow 2019年的全球开发者问卷调查中,Flutter被选为最受开发者欢迎的框架之一,甚至超过了TensorFlow和Node.js。
我一直关注大前端技术,在Flutter发布的第一时间就开始研究这个框架。后来应用到实际项目中,通过一年多的实践,我被它漂亮的UI界面、跨平台一致性、很高的开发效率所吸引。Flutter和其他跨平台方案有本质上的区别,它使用Skia渲染引擎——而其他跨平台方案(比如React Native等)则是最终转换为原生控件进行绘制,因此给我们提供了一个全新的解决跨平台问题的思路。
随着越来越多的知名公司在项目中引入Flutter,业界掀起了学习Flutter的浪潮。但Flutter是一门新的技术,学习资料比较匮乏,尤其是中文资料。为了让大家能够更好地学习Flutter技术,我把自己的学习经验整理出来,总结成这本书,希望可以帮助想学习Flutter的同行。
本书由浅入深地介绍Flutter技术,包含笔者在实际项目中遇到的大量问题及项目模块。全书共12章,各章内容介绍如下:
第1章:移动端软件及Flutter发展历程,以及环境搭建。
第2章:Flutter项目的概况,包括目录结构、调试及App构建发布流程。
第3章:Flutter组件的分类和使用细节,包括使用场景和案例。
第4章:Dart语言的基础知识及常用语法。
第5章:事件及手势处理的技术和案例。
第6章:Flutter动画原理及动画组件使用方法。
第7章:文件操作与网络请求技术,并通过项目“记事本”来展示文件操作方法。
第8章:Flutter路由相关知识及数据存储技术。
第9章:Flutter与Android和iOS的混合开发,包括如何将原生项目引入Flutter,以及相互通信。
第10章:国际化开发的相关知识。
第11章:通过分析一个项目的开发过程,展示Flutter的实际应用。
第12章:通过案例介绍App升级功能。
本书系统地讲解Flutter基础知识,这些都是在实际项目中经常会遇到的,既适合初学者,也适合专业技术人员。当然,如果读者有移动端或者前端开发经验,阅读起来体验会更好。本书各章内容相对独立,可以顺序阅读,也可以参照目录阅读需要的内容。
由于篇幅所限,本书中大多数示例代码都只是部分核心代码,完整代码可到GitHub下载,地址为https://github.com/781238222/flutter_examples。
致谢
首先感谢机械工业出版社吴怡编辑的耐心指点及帮助,在本书写作过程中吴怡编辑提供了非常专业的建议,并对本书进行了严格的审读。
然后要特别感谢我的爱人。2020年的新年是特殊的,新冠疫情给我们带来了巨大的困难,我的爱人作为一名医务工作者奋斗在疫情第一线,给我极大的鼓舞。没有她的勇敢和付出,本书也没有办法顺利到达你的手上。最后祝愿人类早日战胜病毒。
作者
于2020年春节