本书针对目前高速发展的Flutter跨平台移动开发技术方案,从零开始深入讲解其中涉及的技术点,内容全面详细。本书共分18章,第1章至第4章主要介绍Flutter入门基础知识,第5章至第7章主要介绍Flutter核心组件和布局相关组件,第8章至第15章主要介绍Flutter进阶知识,第16章至第18章主要介绍Flutter扩展及实战相关内容。
本书适合具有一定编程经验的学生、开发者阅读,也适合乐于尝试新技术、渴望不断提升自我的读者参考、学习。
基础知识 + 设计思想 + 实战技巧!基于Flutter新版本,技能点全面详细、案例丰富,手把手带领零基础开发者快速入门,完整实战代码全盘奉送!
前言
Flutter是Google推出的新兴跨平台移动开发技术方案,由于其开发效率高,性能优秀,并且有Google的大力支持,因此发展迅速,收获了许多关注。
Flutter不仅前期表现亮眼,其未来规划也值得我们期待。它的目标是实现移动端、Web端、PC端、服务器后端等平台的应用开发,成为真正的高性能、跨平台技术方案。
目前在Google内部,Flutter已被广泛应用于多个产品,比如Google Ads产品的iOS版本和Android版本都使用Flutter开发。全世界也有多家大型公司开始使用Flutter来开发应用,包括Abbey Road Studios、阿里巴巴、Capital One、Groupon、Hamilton、京东、腾讯等。
表现突出的Flutter同样赢得了许多开发者的青睐,很多开发者转型学习Flutter开发。在众多青睐者的努力下,Flutter社区越来越完善。有许多热情的学习者提供了关于Flutter的文档、资源、第三方插件库,Flutter官方也提供了Dart Pub插件库平台来帮助开发者提高开发效率。在GitHub最受欢迎开源软件排行榜中,Flutter排名前20。所以我们有理由相信,Flutter会变得越来越好,它势必成为未来的主流跨平台开发技术方案。
基于此,我想要将自己的实际开发经验和对Flutter开发的心得体会,总结成书,帮助开发者和学习者从零开始,全面、细致地学习Flutter相关技术。这本书从大纲策划,到实际写作,再到后期内容完善,我都十分认真地对待,投入了非常多的心血。本书的内容几乎覆盖了Flutter开发涉及的全部知识点,体现了从零开始学习Flutter开发到进行实战的过程。
衷心希望大家能够认真学习Flutter,因为对于一门新兴的、有前景的技术而言,如果你能成为第一批学习者,那么你将极有可能成为该技术的引领者,实现收获最大化。
很希望通过这本书和大家一起成长、进步,让我们一同期待Flutter更好的未来!
本书内容
本书内容全面,基本涵盖了Flutter开发涉及的所有知识点。全书共分18章,每章的内容简介如下。
第1章 认识Flutter
Flutter是Google公司推出的开源跨平台移动开发技术方案,本章将简单介绍跨平台开发技术,然后围绕Flutter的架构、特点、主流平台和未来展望带领读者全面认识Flutter。
第2章 Dart语言基础
学习一门编程语言,一定要了解它的特性,本章将首先介绍Dart语言的基础知识和特性,然后介绍Dart的数据类型与操作符、流程控制语句、类与方法、异步操作与导入类,为Flutter开发打下坚实的理论基础。
第3章 Flutter开发入门
从本章开始将正式进入Flutter开发环节,本章内容涉及开发环境搭建、项目结构分析、配置文件详解、组件分类,以及创建Flutter应用。
第4章 Flutter开发规范
本章将着重讲解Flutter开发规范,主要内容包括Flutter的项目结构规范、命名规范、代码格式规范、注释规范,以及代码使用规范。
第5章 Flutter常用组件(上)
本章将介绍Flutter中的常用组件。在Flutter中,几乎所有的对象都可以看成组件,组件不单单是UI控件,也具备一些逻辑操作功能。本章将主要介绍文本类组件、图片类组件、导航类组件。
第6章 Flutter常用组件(下)
在上一章内容的基础上,本章将继续介绍Flutter中的表单类组件、列表滚动组件、Dialog组件、表格组件。
第7章 Flutter常用布局组件
在Flutter中,布局也可以看作一个组件。本章将对Flutter常用布局组件中的典型布局组件进行讲解,并结合案例深入实践,内容涉及容器类布局、层叠类布局、线性布局、弹性布局和流式布局等组件。
第8章 Flutter路由与生命周期
在Flutter中,路由负责页面跳转和数据传递,是非常重要的概念。本章将主要讲解Flutter中路由的概念、使用方法,路由跳转的实现,参数传递,按键监听,以及Flutter的生命周期。
第9章 Flutter HTTP网络请求
Flutter中HTTP网络请求的实现方法主要有三种:通过io.dart里的HttpClient实现、通过Dart原生HTTP请求库实现、通过第三方库实现。本章将详细讲解这三种方法的特点和区别,并扩展介绍JSON编解码和WebSocket的使用方法。
第10章 Flutter文件操作与数据库操作
实际开发中离不开文件操作,Flutter也提供了相关的文件操作API,同时支持数据库操作。本章将结合实例介绍Flutter的文件操作、数据库操作,同时介绍Flutter的手势操作。
第11章 Flutter自定义组件与方法封装
在开发过程中,有些需求无法通过现有的Flutter组件实现,这时就要自定义组件。本章将介绍Flutter中自定义组件的几种方式,同时也会讲解Flutter方法的封装。
第12章 Flutter动画的实现
如果想让应用或产品的用户体验变得更好,动画效果是一个很重要的因素。本章将介绍Flutter中动画的基本使用方法和特点,涉及基础动画、Hero动画、交错动画。
第13章 Flutter主题与应用国际化
Flutter中也有“主题”这一概念。国际化可以让应用支持多种语言。本章将主要介绍Flutter中主题的多种实现,以及应用国际化的实现。
第14章 Flutter数据共享与传递
本章将配合实例详细介绍Flutter中数据共享与传递的方法:通过InheritedWidget组件、通过ScopedModel库、通过Redux库、通过EventBus库。同时也会介绍一些与数据交互相关的插件库。
第15章 Flutter与原生API交互及插件库开发
在使用Flutter进行开发的过程中,有时需要编写插件来实现相应的交互功能。本章将介绍Flutter与原生API交互的方法,Flutter插件库开发方法,以及常见插件库的用法,并配合实例详细说明。
第16章 Flutter调试与应用打包发布
在使用不同的开发语言进行开发时,一般都会用到调试功能。Flutter也支持调试和单元测试。本章将介绍在Flutter中进行调试和单元测试的方法,同时介绍Flutter应用打包与发布的流程。
第17章 Flutter拓展:Dart Web
Dart除了可以用于Flutter移动应用开发,还可以用于Web开发。本章将拓展介绍Dart Web相关开发知识,包括Dart Web开发环境搭建、Dart?Web项目的创建与运行等。
第18章 Flutter实战
本章将基于前面章节的内容进行实战:实现一个简易备忘录应用,以及编写一个TV应用。通过这两个示例,读者可以巩固之前学过的知识,高效查缺补漏。
阅读准备
要想运行本书中的示例代码,需要配置和安装如下系统环境和软件。
?操作系统:Windows、macOS、Linux均可。
?Dart环境:建议安装最新稳定版本的Dart SDK。
?Flutter环境:建议安装最新稳定版本的Flutter SDK。
?开发环境:Android Studio或Visual Studio Code均可。