标签
内容简介
编辑推荐
作为电子工业出版社的技术书籍,其内容扎实且紧跟当时(出版时)的Flutter稳定版本。对于希望快速掌握Flutter并产出实际作品的开发者而言,本书提供了高效的路径。它避免了过于深奥的理论探讨,侧重于"怎么做"和"为什么这么做",代码示例较为完整,解释也力求平实。不过,技术框架迭代迅速,读者需注意书中基于特定版本(如Flutter 1.x或2.x初期)的细节可能与最新版本存在差异,但核心设计思想与开发模式依然具有很高的参考价值。总体而言,这是一本称职的入门到进阶的实践手册,能帮助开发者建立对Flutter开发全貌的认知并付诸实践。
适合谁读
适合
- 具备任意一门编程语言基础,希望转向移动应用开发的初学者
- 有Android或iOS原生开发经验,想探索跨平台解决方案的开发者
- 需要快速上手Flutter并完成一个完整项目上线的学习者
- 寻求结构化学习路径,偏好按步骤实践而非零散查阅文档的读者
不适合
- 寻求深入Flutter底层原理或框架源码剖析的高级开发者
- 希望了解Flutter最新版本(如3.x以后)所有特性和最佳实践的读者
阅读建议
- 建议按照章节顺序阅读并同步动手实践,书中项目代码是学习的主线
- 对于有经验的开发者,可快速浏览Dart和基础组件部分,重点阅读状态管理,混合开发及上线章节
- 阅读时善用Flutter官方文档以对照和查询API的最新变化,弥补书籍因出版周期产生的信息延迟
出版社简介
电子工业出版社是一家以电子信息及相关领域为出版特色的综合性出版社。从库内三千余种图书来看,其出版方向覆盖编程设计、人工智能、计算机综合、财经、摄影与社科等门类,既关注技术前沿,也兼顾大众阅读。代表图书包括《因子投资:方法与实践》《x86汇编语言:从实模式到保护模式》《RISC-V开放架构设计之道》《人工智能:语音识别理解与实践》《相控阵雷达技术》《雷达目标特性》及《100个Go语言典型错误》等,多围绕技术方法与工程实践展开。作者资源方面,有石川、李忠、王晓波、大卫·帕特森、安德鲁·沃特曼、余子濠等中外作者。受公开资料所限,暂不展开更多出版特色。
目录
- 版权信息
- 作者简介
- 内容简介
- 前言
- 第1章 Flutter简介
- 1.1 移动App开发的前世今生
- 1.2 为什么选择Flutter
- 1.2.1 Flutter的优势
- 1.2.2 Flutter强大的跨平台特性
- 1.2.3 Flutter的明天
- 1.3 Flutter的体系结构
- 第2章 初次遇见Flutter
- 2.1 开发环境搭建
- 2.1.1 下载JDK
- 2.1.2 安装JDK
- 2.1.3 安装和配置Xcode
- 2.1.4 下载Flutter SDK
- 2.1.5 配置Flutter SDK
- 2.1.6 配置必备组件
- 2.2 集成开发环境的选择
- 2.2.1 配置Android Studio
- 2.2.2 配置Visual Studio Code
- 2.3 第一个程序——Hello World
- 2.3.1 运行自诊断脚本
- 2.3.2 启动Android模拟器
- 2.3.3 将项目运行在模拟器上
- 2.3.4 探索Flutter热修复特性
- 2.4 升级Flutter
- 2.5 练习
- 第3章 Dart语言基础
- 3.1 Dart语言简介
- 3.1.1 Dart发展史
- 3.1.2 Dart重要概念
- 3.1.3 Hello Dart
- 3.2 变量与常量
- 3.2.1 变量
- 3.2.2 常量
- 3.3 基本数据类型
- 3.3.1 数值型
- 3.3.2 字符串
- 3.3.3 布尔
- 3.3.4 集合
- 3.3.5 UTF-32编码表示法
- 3.4 方法
- 3.4.1 定义一个方法
- 3.4.2 参数
- 3.4.3 主方法
- 3.4.4 作用域
- 3.4.5 闭包
- 3.4.6 检查两个方法是否相等
- 3.4.7 返回值
- 3.5 运算符
- 3.5.1 算术运算符
- 3.5.2 关系运算符
- 3.5.3 类型判定运算符
- 3.5.4 赋值运算符
- 3.5.5 逻辑运算符
- 3.5.6 位操作运算符
- 3.5.7 条件表达式
- 3.5.8 级联运算符
- 3.5.9 其他运算符
- 3.6 流程控制
- 3.6.1 if-else条件语句
- 3.6.2 for循环
- 3.6.3 while循环和do-while循环
- 3.6.4 break语句和continue语句
- 3.6.5 switch-case条件语句
- 3.6.6 断言
- 3.7 异常
- 3.7.1 Throw
- 3.7.2 Catch
- 3.7.3 Finally
- 3.8 练习
- 第4章 Dart语言的面向对象应用
- 4.1 类
- 4.1.1 类的实例化
- 4.1.2 实例变量
- 4.1.3 getter()方法和setter()方法
- 4.1.4 静态变量
- 4.1.5 构造方法
- 4.1.6 实例方法
- 4.1.7 静态方法
- 4.1.8 扩展类
- 4.1.9 可复写的运算符
- 4.1.10 抽象方法
- 4.1.11 抽象类
- 4.1.12 接口
- 4.1.13 利用Mixin特性扩展类
- 4.1.14 枚举
- 4.2 泛型
- 4.2.1 泛型的作用
- 4.2.2 泛型的使用示例
- 4.2.3 限制泛型类型范围
- 4.2.4 使用泛型方法
- 4.3 练习
- 第5章 Dart语言的高级使用技巧
- 5.1 库
- 5.1.1 使用库
- 5.1.2 创建库
- 5.2 异步处理
- 5.2.1 声明异步的方法
- 5.2.2 使用await表达式
- 5.2.3 异步在循环中的使用
- 5.3 可调用的类
- 5.4 Dart的isolates运行模式
- 5.5 方法类型定义
- 5.6 元数据
- 5.7 注释
- 5.7.1 单行注释
- 5.7.2 多行注释
- 5.7.3 文档注释
- 5.8 编写更有效的Dart代码
- 5.9 练习
- 第6章 绘制赏心悦目的界面
- 6.1 第一个Flutter项目
- 6.1.1 Flutter项目的结构
- 6.1.2 日志工具的使用
- 6.2 Flutter基础
- 6.2.1 Flutter框架结构
- 6.2.2 App启动入口
- 6.2.3 一切皆为组件
- 6.2.4 组件的组合运用
- 6.2.5 何为状态
- 6.2.6 自定义组件
- 6.3 基本组件
- 6.3.1 基本组件简介
- 6.3.2 文本组件
- 6.3.3 按钮组件
- 6.3.4 图片组件
- 6.3.5 开关和复选框组件
- 6.3.6 单选框组件
- 6.3.7 输入框组件和表单组件
- 6.4 多元素布局组件
- 6.4.1 布局类组件
- 6.4.2 线性布局
- 6.4.3 堆叠布局
- 6.4.4 弹性布局
- 6.4.5 流式布局
- 6.5 容器类组件
- 6.5.1 内边距
- 6.5.2 约束
- 6.5.3 装饰
- 6.5.4 变换
- 6.5.5 容器
- 6.6 滚动列表组件
- 6.6.1 滚动列表组件简介
- 6.6.2 单个子组件的滚动视图
- 6.6.3 线性列表组件
- 6.6.4 网格列表组件
- 6.6.5 自定义滚动组件
- 6.6.6 滚动的控制及实时状态监听
- 6.7 其他重要的组件
- 6.7.1 拦截返回键
- 6.7.2 在组件树之间共享数据
- 6.7.3 触摸事件监听
- 6.7.4 手势识别
- 6.7.5 通知组件
- 6.7.6 全局事件广播
- 6.8 App资源管理
- 6.8.1 放置资源
- 6.8.2 使用资源
- 6.8.3 跨平台使用共享资源
- 6.9 动画
- 6.9.1 基本概念
- 6.9.2 补间动画
- 6.9.3 物理模拟动画
- 6.9.4 非线性动画
- 6.9.5 共享元素过渡动画
- 6.9.6 多个动画的叠加
- 6.10 字体
- 6.10.1 放置字体
- 6.10.2 使用字体
- 6.11 主题
- 6.11.1 使用主题
- 6.11.2 全局主题
- 6.11.3 局部主题
- 6.11.4 扩展现有主题
- 6.12 练习
- 第7章 数据的传递和持久化保存
- 7.1 页面跳转
- 7.1.1 页面的跳转和返回
- 7.1.2 数据的传递和返回
- 7.2 本地文件
- 7.2.1 本地文件的路径
- 7.2.2 本地文件的读写
- 7.3 网络请求
- 7.3.1 发起HTTP请求
- 7.3.2 Json解析
- 7.4 保存用户设置
- 7.5 数据库操作
- 7.6 练习
- 第8章 使用设备硬件实现更多功能
- 8.1 GPS定位技术
- 8.2 相机
- 8.3 蓝牙
- 8.4 音视频
- 8.4.1 音频录放
- 8.4.2 视频录放
- 8.5 距离传感器
- 8.6 NFC近场通信
- 8.7 练习
- 第9章 使App更加通用——国际化的实现
- 9.1 识别当前系统的首选语言
- 9.2 使App支持多语言环境
- 9.3 练习
- 第10章 与原生代码交互
- 10.1 平台通道
- 10.1.1 平台通道的概念
- 10.1.2 平台通道支持的数据类型和解码器
- 10.2 与Android原生代码交互
- 10.2.1 使用Java语言实现
- 10.2.2 使用Kotlin语言实现
- 10.3 与iOS原生代码交互
- 10.3.1 使用Objective-C语言实现
- 10.3.2 使用Swift语言实现
- 10.4 练习
- 第11章 Material Design(Android)风格设计
- 11.1 脚手架组件
- 11.2 顶部程序栏组件
- 11.3 水平选项卡与内容视图组件
- 11.4 底部导航栏组件
- 11.5 抽屉组件
- 11.6 浮动悬停按钮组件
- 11.7 扁平按钮组件
- 11.8 图标按钮组件
- 11.9 浮动动作按钮组件
- 11.10 弹出式菜单组件
- 11.11 滑块组件
- 11.12 日期时间选择组件
- 11.13 简单对话框
- 11.14 提示框
- 11.15 可展开的列表组件
- 11.16 底部提示组件
- 11.17 标签组件
- 11.18 帮助提示组件
- 11.19 卡片组件
- 11.20 水平和圆形进度组件
- 11.21 练习
- 第12章 Cupertino(iOS)风格设计
- 12.1 脚手架组件
- 12.2 顶部导航栏组件
- 12.3 底部导航栏组件
- 12.4 操作表单组件
- 12.5 动作指示器组件
- 12.6 提示框组件
- 12.7 按钮组件
- 12.8 时间日期选择组件
- 12.9 时间选择组件
- 12.10 选择器组件
- 12.11 滑块组件
- 12.12 练习
- 第13章 实战演练:头条新闻
- 13.1 功能需求和技术可行性分析
- 13.1.1 功能需求分析
- 13.1.2 技术可行性分析
- 13.2 绘制产品原型图
- 13.3 将代码托管到Git
- 13.3.1 注册GitHub账号
- 13.3.2 新建代码仓库
- 13.3.3 代码仓库的克隆
- 13.3.4 代码的提交
- 13.4 数据的获取和解析
- 13.4.1 HTTP请求和返回处理
- 13.4.2 Json解析
- 13.4.3 定义新闻频道列表
- 13.5 绘制界面
- 13.5.1 构建和绘制新闻标题列表
- 13.5.2 跳转查看新闻详情
- 13.6 进一步:还可以做些什么
- 第14章 测试与调试应用
- 14.1 测试概述
- 14.2 单元测试
- 14.2.1 添加测试库
- 14.2.2 创建测试类和被测试类
- 14.2.3 开发业务逻辑
- 14.2.4 开发测试类
- 14.2.5 运行测试类
- 14.3 组件测试
- 14.3.1 添加测试库
- 14.3.2 创建要被测试的组件
- 14.3.3 创建组件测试类
- 14.3.4 使用WidgetTester创建组件
- 14.3.5 使用find查找组件
- 14.3.6 使用Matcher验证结果
- 14.4 集成测试
- 14.4.1 创建要测试的App
- 14.4.2 添加必要的测试库
- 14.4.3 创建测试类
- 14.4.4 构建指令化的Flutter应用程序类
- 14.4.5 构建集成测试用到的类
- 14.4.6 运行测试
- 14.5 Dart分析器
- 14.6 Dart单步调试法
- 14.7 调试应用程序的层
- 14.7.1 组件层
- 14.7.2 渲染层
- 14.7.3 转储层级关系
- 14.7.4 语义调试
- 14.7.5 调试调度
- 14.8 可视化调试
- 14.9 调试动画
- 14.10 性能优化
- 14.10.1 启动时间分析
- 14.10.2 代码执行时间分析
- 14.11 使用性能图表
- 14.12 Material基线网格
- 14.13 使用组件检查器
- 第15章 发布应用
- 15.1 Android平台
- 15.1.1 自定义App图标
- 15.1.2 签名
- 15.1.3 代码混淆
- 15.1.4 检查AndroidManifest.xml
- 15.1.5 复查App兼容性配置
- 15.1.6 编译用于发布的Apk
- 15.1.7 将Apk发布到应用市场
- 15.2 iOS平台
- 15.2.1 在iTunes Connect上注册
- 15.2.2 复查XCode项目属性
- 15.2.3 自定义App图标
- 15.2.4 构建发布版本
- 15.2.5 在TestFlight上分发App
- 15.2.6 将App发布到App Store
常见问题
这本书需要读者有Dart语言基础吗?
书中的案例项目是否完整且可运行?
这本书的内容是否已经过时?
微信读书相关
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。
作者简介
萧文翰是一位活跃于编程设计类图书领域的作者,公开资料较为有限。目前库内收录其作品两种,分别为《Flutter从0基础到App上线》与《Go语言从入门到项目实战(视频版)》。从书名与分类可以看出,他的写作聚焦移动应用开发与后端编程语言入门,面向零基础及初学读者,注重从基础知识过渡到实际项目上线。两本书均以“从入门到实战”为线索,强调可操作性与项目驱动,并配有视频版内容,体现出面向自学人群、降低学习门槛的写作取向。在缺乏更多生平信息的情况下,可以将其定位为以实用技术教程见长的编程类图书作者,其作品对希望快速上手 Flutter 与 Go 语言的读者具有参考价值。