作品简介

本书主要讲述Flutter框架的核心技术。本书共12章,首先介绍了Flutter技术的基础知识、Dart的基础知识以及Flutter中的基础组件等,然后讲述了Flutter中的布局管理、动画管理、手势事件管理、路由管理以及状态管理等核心技术点,最后讨论了Flutter中的网络通信和应用测试并给出了一个完整的案例。本书有助于读者深入理解Flutter技术的完整知识体系。

本书适合Web前端开发人员、Android开发人员、iOS开发人员、Flutter初学者以及对移动开发感兴趣的人员阅读,也可供相关专业人士参考。

杨加康,移动开发工程师,目前就职于小米,在Android开发与前端开发方面具有丰富的理论基础与实践经验,精通Android系统的体系结构和应用层的开发。他从2018年开始投身Flutter领域,是国内较早使用Flutter与Dart的开发人员。在个人博客与相关技术社区发表过多篇高质量文章并获得较高的关注量,翻译过《物联网项目实战:基于Android Things系统》。个人的微信公众号是“MeandNi”(其中不定期分享Android、Flutter、Java等方面的文章/视频)。

作品目录

  • 内容提要
  • 推荐序1
  • 推荐序2
  • 前言
  • 作者简介
  • 第1章 认识Flutter
  • 1.1 移动开发简史
  • 1.2 Flutter的架构
  • 1.3 Flutter家族
  • 1.4 第一个应用——计数器
  • 1.5 原理浅析——3棵重要的树
  • 1.6 组件渲染过程简述
  • 1.7 小结与心得
  • 第2章 Dart入门
  • 2.1 “Hello, Dart”程序
  • 2.2 重要概念
  • 2.3 面向对象编程
  • 2.4 小结与心得
  • 第3章 一切皆为组件
  • 3.1 有状态组件与无状态组件以及相关函数
  • 3.2 内置的无状态组件
  • 3.3 内置的有状态组件
  • 3.4 常用容器组件
  • 3.5 可滚动组件
  • 3.6 结构化组件
  • 3.7 根组件——WidgetsApp
  • 3.8 元素树
  • 3.9 小结与心得
  • 第4章 布局管理
  • 4.1 布局约束
  • 4.2 RenderObject树
  • 4.3 布局约束实践
  • 4.4 内置布局组件
  • 4.5 小结与心得
  • 第5章 Dart进阶
  • 5.1 混入
  • 5.2 异步编程
  • 5.3 泛型
  • 5.4 小结与心得
  • 第6章 动画管理
  • 6.1 动画的4个要素
  • 6.2 动画组件
  • 6.3 隐式动画组件
  • 6.4 小结与心得
  • 第7章 手势事件管理与画布
  • 7.1 手势事件
  • 7.2 手势探测器
  • 7.3 指针事件
  • 7.4 自定义画布
  • 7.5 实战:结合画布与手势实现交互式画布
  • 7.6 实战:画布与动画的结合
  • 7.7 小结与心得
  • 第8章 路由管理
  • 8.1 路由
  • 8.2 路由栈
  • 8.3 路由动画
  • 8.4 路由数据
  • 8.5 路由监听器
  • 8.6 弹窗路由
  • 8.7 小结与心得
  • 第9章 状态管理
  • 9.1 初探状态
  • 9.2 统一管理——InheritedWidget
  • 9.3 局部更新——BLoC
  • 9.4 化繁为简——provider库
  • 9.5 小结与心得
  • 第10章 数据存储与通信
  • 10.1 数据持久化
  • 10.2 网络通信
  • 10.3 小结与心得
  • 第11章 应用测试
  • 11.1  单元测试
  • 11.2 模拟请求
  • 11.3 组件测试
  • 11.4 驱动测试
  • 11.5 小结与心得
  • 第12章 完整案例
  • 12.1 应用数据
  • 12.2 主题样式
  • 12.3 路由管理
  • 12.4 状态管理方案
  • 12.5 登录页面
  • 12.6 商城首页
  • 12.7 搜索页面
  • 12.8 结束语
  • 附录A 搭建Flutter开发环境
  • A.1 在Windows系统中安装Flutter SDK
  • A.2 在macOS中安装Flutter SDK
  • A.3 配置Android开发环境
  • A.4 配置iOS开发环境
  • A.5 配置Visual Studio Code
  • 附录B 安装Dart SDK
  • B.1 在Windows系统中安装Dart SDK
  • B.2 在macOS中安装Dart SDK
  • 附录C Pub包管理器
  • C.1 版本号以及版本冲突
  • C.2 依赖其他来源的第三方库
  • C.3 使用第三方库
  • C.4 配置文件
展开全部