-
内容大纲
本书是一本系统且实用的Flutter全栈开发指南,内容涵盖Flutter框架原理、Dart语言核心特性和开发环境搭建等基础知识,以及UI构建、路由管理、动画处理与网络请求等关键技术讲解。同时,本书通过一个完整的图书阅读App项目,实战演示企业级架构设计、状态管理和混合开发方案,并引入测试驱动开发(TDD)提升代码质量。全书理论结合实战,致力于帮助读者从零掌握商业级应用开发全流程。
本书适合移动开发初学者及希望系统提升Flutter技术能力的工程师阅读学习。 -
作者介绍
-
目录
第1章 Flutter简介
1.1 跨端技术的发展历史
1.1.1 原生开发
1.1.2 Hybrid
1.1.3 中间层开发+原生渲染
1.1.4 自渲染框架
1.2 Flutter 是什么
1.2.1 为什么是Dart
1.2.2 Flutter的框架结构
1.2.3 Flutter App结构剖析
1.2.4 声明式、响应式UI
第2章 Flutter开发环境搭建
2.1 安装必要的软件工具
2.1.1 系统要求
2.1.2 安装Java
2.1.3 安装Android Studio
2.1.4 安装Android SDK
2.1.5 安装Flutter SDK
2.1.6 安装Flutter开发插件
2.2 运行App 及问题排查
2.2.1 创建第一个Flutter项目
2.2.2 真机运行App
2.2.3 Flutter 环境问题排查
2.2.4 Android 原生问题排查
2.3 Android 模拟器使用方法
第3章 Dart语言基础
3.1 Dart 简介
3.2 DartPad
3.3 重要概念
3.3.1 注释
3.3.2 万物皆对象
3.3.3 强类型语言
3.3.4 泛型
3.3.5 全局函数
3.3.6 全局变量
3.3.7 成员访问控制
3.3.8 空安全
3.4 内置类型
3.4.1 数字
3.4.2 字符串
3.4.3 布尔类型
3.4.4 数组
3.4.5 Set
3.4.6 Map
3.5 变量和常量
3.5.1 变量定义
3.5.2 变量初始化
3.5.3 常量
3.6 函数(基本语法)
3.6.1 函数的两种形式
3.6.2 参数
3.6.3 Lambda 表达式
3.6.4 返回值
3.7 运算符
3.7.1 运算符的优先级及关联性
3.7.2 类型判断运算符
3.7.3 赋值运算符
3.7.4 条件表达式
3.8 流程控制
3.8.1 条件语句
3.8.2 循环语句
3.8.3 跳转语句
3.8.4 断言
3.9 异常处理
3.9.1 抛出异常
3.9.2 捕获异常
3.9.3 finally
3.9.4 自定义异常
3.10 面向对象编程
3.10.1 类和对象
3.10.2 继承
3.10.3 对象中的方法
3.10.4 抽象类
3.10.5 接口
3.10.6 类扩展
3.10.7 Mixin
3.10.8 静态变量和方法
3.10.9 枚举
3.10.10 泛型
3.11 函数式编程
3.11.1 什么是函数式编程
3.11.2 Dart 语言中的函数式特性
3.11.3 可迭代集合
3.12 空安全
3.12.1 为什么要设计空安全
3.12.2 空安全的逻辑
3.12.3 非空类型体系中的限制
3.12.4 可空类型
3.13 异步和流
3.13.1 异步与并发的区别
3.13.2 Future
3.13.3 async和await
3.13.4 Dart 异步实现原理
3.13.5 Stream
3.14 并发
3.14.1 isolate 基本概念
3.14.2 主isolate
3.14.3 后台isolate
3.15 库和可见性
3.15.1 使用库
3.15.2 实现库
3.16 高效Dart 语言指南
3.16.1 代码风格
3.16.2 设计模式
3.16.3 性能优化
3.16.4 错误处理
3.16.5 测试
第4章 Flutter开发基础
4.1 基础概念
4.1.1 Flutter 项目目录结构
4.1.2 声明式UI
4.1.3 万物皆Widget
4.1.4 Flutter 项目的代码结构
4.1.5 Material Design 简介
4.2 常用组件
4.2.1 基础组件
4.2.2 装饰组件
4.2.3 布局组件
4.2.4 可滚动组件
4.2.5 自定义组件初探:StatelessWidget和StatefulWidget
4.2.6 Flutter 渲染原理初探
4.2.7 功能型组件
4.3 路由管理
4.3.1 定义页面
4.3.2 路由管理器
4.3.3 匿名路由
4.3.4 命名路由
4.3.5 动态生成路由
4.3.6 对话框
4.4 手势识别与事件处理
4.4.1 常用手势识别
4.4.2 手势识别原理
4.5 通知
4.5.1 Notification的使用方法
4.5.2 实际应用场景
4.6 动画
4.6.1 动画基本原理
4.6.2 动画速度曲线
4.6.3 Transition 动画
4.6.4 属性切换动画
4.6.5 叠加动画
4.6.6 交织动画
4.6.7 路由切换动画
4.6.8 Hero 动画
4.6.9 动画监听
4.7 Flutter 渲染原理
4.7.1 显示器、GPU、CPU和操作系统
4.7.2 Flutter UI 框架
4.7.3 传说中的三棵树(Framework内部原理)
4.7.4 布局约束
4.8 自定义组件
4.8.1 CustomPaint 组件
4.8.2 CustomPainter 绘制器
4.8.3 包含 child 的场景
4.8.4 使用RepaintBoundary避免重绘
4.9 网络请求
4.9.1 dio 库
4.9.2 搭建mock 服务器
4.9.3 json 数据解析
第5章 实战项目说明
5.1 项目UI
5.1.1 发现页
5.1.2 书架页
5.1.3 个人中心页
5.2 标注讲解
5.2.1 密度无关像素:dp
5.2.2 字体尺寸的处理
5.2.3 颜色代码
第6章 架构设计
6.1 业务逻辑分层
6.1.1 数据层:构建可靠的数据基础设施
6.1.2 逻辑层
6.1.3 UI 层
6.2 辅助功能
6.2.1 日志管理模块
6.2.2 路由管理增强
6.2.3 异常捕获体系
第7章 实战项目启动
7.1 项目初始化
7.1.1 目录结构设计
7.1.2 命名路由配置
7.1.3 设置状态栏样式
7.2 App 首页框架
7.3 搜索栏组件
7.4 发现页
7.4.1 卡片封装
7.4.2 发现页面
第8章 个人中心页面
8.1 个人中心页面工作流程
8.1.1 工作流程描述
8.1.2 使用Mockoon 模拟接口
8.2 开发个人中心页面
8.2.1 创建用户模型
8.2.2 定义页面状态
8.2.3 定义个人中心页面Bloc
8.2.4 实现个人中心页面
第9章 书架页面
9.1 书架页面业务逻辑
9.1.1 书架页数据结构
9.1.2 本地缓存方案
9.1.3 在书架页面中使用KeyValueStorage
9.2 书架页面UI 开发
第10章 阅读页面
10.1 如何找到合适的三方库
10.2 集成epub_view
10.3 封装三方库
10.3.1 BookReader组件
10.3.2 BookReaderPage页面331#VH AA
第11章 Bug分析及调试
11.1 常见Bug 示例
11.1.1 UI布局问题
11.1.2 状态管理问题
11.1.3 异步操作问题
11.2 建立Bug的系统思考框架
11.2.1 发现Bug的时机
11.2.2 不同时机发现Bug 的处理思路
11.3 调试工具的使用
11.3.1 Flutter Inspector
11.3.2 通过IDE调试器调试应用
第12章 混合开发方案设计
12.1 为什么要混合开发
12.2 Flutter 与原生系统通信的两种方式
12.2.1 通过dart的FFI调用C/C++代码
12.2.2 通过MethodChannel调用平台原生代码
12.2.3 FFI 与MethodChannel对比
12.3 混合开发的三种模式
12.3.1 通过Dart 的FFI 调用本地代码
12.3.2 通过Platform View在Flutter页面中展示原生视图
12.3.3 Flutter 加原生混合开发模式
第13章 测试驱动开发
13.1 为什么要做TDD
13.1.1 瀑布模型的问题
13.1.2 TDD如何做的
13.1.3 TDD的核心价值
13.2 Flutter 中的TDD方案设计
13.2.1 Flutter 中单元测试的特点
13.2.2 架构与TDD的测试范围
13.3 Flutter 单元测试框架
13.3.1 Dart单元测试
13.3.2 Widget组件测试
13.3.3 集成测试
13.3.4 构建你的测试策略
13.4 实战案例:购物车页面开发
13.4.1 需求描述
13.4.2 将需求拆解为任务
13.4.3 任务拆解为测试用例
13.4.4 红灯、绿灯、重构
13.4.5 集成与端到端测试
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-

孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-

时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-

本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...
[
