欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • Flutter跨平台开发核心技巧与应用
      • 作者:编者:程序员老刘|责编:于成成
      • 出版社:化学工业
      • ISBN:9787122492401
      • 出版日期:2026/02/01
      • 页数:383
    • 售价:51.2
  • 内容大纲

        本书是一本系统且实用的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  集成与端到端测试