猜你喜欢
从零基础到精通Flutter开发

从零基础到精通Flutter开发

书籍作者:陈政 ISBN:9787301341230
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:4325
创建日期:2024-05-16 发布日期:2024-05-16
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书由浅入深地带领读者进入Flutter开发的世界,从Flutter的起源讲起,逐步深入Flutter进阶实战,并在最后配合项目实战案例,让读者不但可以系统地学习Flutter编程的相关知识,而且还能对Flutter应用开发有更为深入的理解。
本书分为三部分:第一部分为入门篇(第1~4章),主要介绍Flutter技术的诞生背景、特点、语言及常用组件的使用,通过对本篇的学习,读者可以掌握如何使用Flutter来搭建UI界面;第二部分为进阶篇(第5~11章),主要包含Flutter的手势和事件处理、动画、自定义组件、文件操作和网络请求、路由导航和存储、混合跨平台开发、国际化等,通过对本篇的学习,读者可以对Flutter的整体流程及原理有一个深入的认识;第三部分为实战篇(第12~14章),主要通过一个实战项目把前面介绍的内容整合起来,并且结合Flutter应用发布和Flutter App升级等一条线流程,让读者对开发一个完整的Flutter App有一个整体的了解。
本书内容不仅包含大量示例、图片、表格,还有对应的配套示例源代码,可帮助读者循序渐进地掌握Flutter开发技术,而且通俗易懂,内容丰富,实用性强,特别适合Flutter语言的入门读者和进阶读者阅读,也适合移动开发的其他编程爱好者阅读。另外,本书还适合作为相关培训机构的教材使用。

作者简介

陈政
----------------------------
陈政,笔名:三掌柜,CSDN博客专家,CSDN上海城市开发者社区主理人,CSDN人工智能技术开发者社区主理人,InfoQ写作平台首批签约作者,阿里云技术社区专家博主,51CTO社区博客专家,腾讯云开发者社区2022年度“优秀作者”,友盟问答官。
大前端领域优质创作者,“大前端系列”专栏,文章内容通俗易懂,由浅入深,旨在帮助有需要的人;深耕大前端领域多年,理论结合实践,有着丰富的大前端开发经验。

编辑推荐

写书是一件极耗费精力的事情,能愿意投入精力的基本都是有情怀的。这不是一本简单的Flutter入门书,而是一本通俗易懂、由浅到深且能对你的Flutter知识体系进行完善的书。无论你是想入门Flutter还是想进行深度实践,这本书都值得参考。
SegmentFault思否前端负责人 robin

一套代码,构建多平台精美的应用,是Flutter的设计初衷,也是产品快速迭代开发的趋势。这本书将理论与实践相结合,由浅入深,能真正带你体验Flutter给当前移动互联网时代高效开发带来的快感。
天地阳光通信科技有限公司产品研发项目负责人 饶名警

作者结合自己丰富的开发实践经验,分享了解决实际问题的技术思路。本书从真实的开发场景出发,完整地讲解了Flutter框架。相信这本书能够帮助你快速理解、掌握和应用这项技术。
南阳理工学院教师,博士、副教授、硕士生导师 王豫峰

无论你是为了个人兴趣还是职业发展,这本书都会成为你的宝藏资源,帮助你快速掌握Flutter的基础知识和开发技巧,助你在移动应用开发领域取得成功!
CSDN博客/学习负责人 王路敏
在这个到处是免费教程,视频、文章资源随处可见的年代,通过一本书来学习一门新的技术,实在是难能可贵的!更何况这是一本内容翔实、基础理论与实践经验相结合的书。本书非常适合新手,值得一看,也值得放在手边!
CSDN企业服务社区生态负责人 赵萌

前言

自从Google在2018年推出Flutter以来,由于其较高的开发效率、良好的性能、漂亮的UI界面及Google的极力推荐支持,因此Flutter发展迅速,受到了开发者的热捧,收获了越来越多的关注。

笔者一直在从事移动端App的开发工作,也时刻关注着大前端技术的发展方向。Flutter刚发布后笔者就开始了解并研究这个新兴的框架,后来又将其应用到实际开发中。经过项目实践,笔者觉得Flutter已经可以取代传统移动端的原生开发。它较高的开发效率、漂亮的UI界面及跨平台的一致性已经在“征服”越来越多的开发者和企业。Flutter在全球范围内被广泛应用,知名的大型公司越来越多地使用Flutter来开发应用,而且它的目标就是实现大前端领域(移动端、PC端、Web端)的应用开发,成为真正的高性能、跨平台技术方案。

Flutter的不俗表现赢得了越来越多的开发者的青睐,很多开发者转型学习Flutter技术。在众多青睐者的推动下,Flutter社区越来越完善,Flutter官方也缩短了新性能的更新周期,关于Flutter的文档、资源、插件等越来越完善,所以我们有理由相信Flutter会越来越好,势必会成为更加成熟、更加主流的跨平台开发技术方案。

基于此,笔者想要把自己的Flutter开发的心得体会总结成书,来帮助读者从零开始,由浅入深地学习Flutter技术。这本书从大纲筹划到写作落地,再到后期内容的完善,笔者都非常认真地对待,投入了非常大的心血,为的就是不让读者失望。

本书由浅入深地介绍Flutter技术,几乎涵盖了Flutter开发涉及的所有核心知识点,体现了从零基础到精通学习的全过程。本书系统地讲解了Flutter技术的知识点,这些内容都是在实际开发中经常使用到的,既适合初学者,也适合专业的技术开发者。如果读者有移动端或前端开发经验,阅读本书体验会更好。本书各章内容相对独立,可以按照顺序阅读,也可以通过目录阅读需要的内容。

在这里笔者衷心希望读者能够认真学习Flutter技术,因为如果你能够学习并掌握一门有前景的新技术,那么你将极有可能成为该技术的领跑者,获得最大的收获。

希望通过这本书和大家一起成长和进步,让我们共同期待Flutter更好的前景!

Flutter开发领域有许许多多深奥的知识,笔者在写作过程中尽力涉及Flutter的各个方面,但是由于时间仓促,书中难免会存在一些疏漏和不足之处(鉴于本书的示例代码都是按照Flutter官方的组件库来介绍的,且Flutter的官方版本更新非常频繁,所以书中难免会有一些较早的使用方法等),敬请读者批评指正。读者可以通过电子邮箱[email protected]与笔者沟通交流。另外,也欢迎读者关注笔者的微信公众号sanzhanggui777,笔者会定期分享一些技术文章。

温馨提示:本书所涉及的源代码已上传到百度网盘,供读者下载。请读者关注封底“博雅读书社”微信公众号,找到“资源下载”栏目,输入图书77页的资源下载码,根据提示获取。


目录

第1章 Flutter概述
1.1 移动端开发的发展史 2
1.2 Flutter简介3
1.3 Flutter框架3
1.4 为什么使用Flutter4
1.5 小结4
第2章 初识Flutter
2.1 搭建开发环境6
2.1.1 下载Flutter SDK6
2.1.2 设置镜像地址及环境变量7
2.1.3 安装与设置Android Studio8
2.1.4 安装Visual Studio Code与Flutter开发插件9
2.1.5 IDE的使用和配置10
2.1.6 安装Xcode10
2.1.7 检查Flutter开发环境11
2.2 Flutter升级11
2.3 创建Flutter示例项目11
2.4 项目目录结构说明14
2.5 程序调试14
2.5.1 iOS手机调试14
2.5.2 Android手机调试16
2.6 体验热重载18
2.7 小结18
第3章 Dart语言简介
3.1 Dart语言20
3.1.1 Dart是什么20
3.1.2 Dart的特性20
3.1.3 Dart的机制20
3.2 Dart的内置数据类型20
3.2.1 字符串类型21
3.2.2 数值类型21
3.2.3 布尔类型21
3.2.4 列表类型22
3.2.5 字典类型22
3.3 变量和常量的声明22
3.4 函数定义23
3.4.1 普通函数23
3.4.2 可选参数23
3.4.3 匿名函数24
3.4.4 箭头函数24
3.5 条件表达式和运算符24
3.5.1 判定操作符25
3.5.2 三目运算表达式25
3.5.3 级联运算符25
3.5.4 非空判断符25
3.6 分支和循环26
3.6.1 if…else26
3.6.2 switch26
3.6.3 for循环和while循环27
3.6.4 List遍历28
3.6.5 Map遍历28
3.7 定义类28
3.7.1 构造函数28
3.7.2 运算符重载29
3.7.3 extends、with、implements、abstract的用法30
3.7.4 定义私有变量31
3.8 导入包31
3.9 异常捕获32
3.10 异步操作33
3.11 泛型34
3.12 注释35
3.13 小结35
第4章 Flutter组件
4.1 Widget37
4.1.1 Widget的概念37
4.1.2 Widget和Element37
4.1.3 StatelessWidget37
4.1.4 StatefulWidget38
4.1.5 State40
4.2 状态管理41
4.3 基础组件41
4.3.1 Text组件41
4.3.2 TextField组件45
4.3.3 Image组件46
4.3.4 Button组件47
4.3.5 Container组件48
4.3.6 Row和Column组件49
4.3.7 Flex组件50
4.4 Material风格组件51
4.4.1 MaterialApp51
4.4.2 Scaffold52
4.4.3 AppBar53
4.4.4 BottomNavigationBar54
4.4.5 TabBar56
4.4.6 Drawer(抽屉)57
4.5 Cupertino风格组件58
4.5.1 CupertinoActivityIndicator58
4.5.2 CupertinoAlertDialog58
4.5.3 CupertinoButton59
4.5.4 CupertinoSlider60
4.5.5 CupertinoSwitch61
4.6 容器组件62
4.6.1 Padding(填充)62
4.6.2 Center(居中)62
4.6.3 Align(对齐)63
4.6.4 AspectRatio(固定宽高比例)63
4.6.5 Transform(变换)64
4.6.6 Stack(重叠)64
4.6.7 Wrap(流布局)64
4.6.8 Flow65
4.7 滚动组件66
4.7.1 ListView66
4.7.2 GridView66
4.7.3 Table69
4.7.4 ExpansionTile(折叠)70
4.8 小结71
第5章 手势和事件处理
5.1 原始指针73
5.2 GestureDetector73
5.3 GestureRecognizer76
5.4 事件总线78
5.5 小结79
第6章 动画
6.1 Flutter动画简介81
6.2 动画基本使用82
6.3 动画状态监听84
6.4 交织动画85
6.5 Hero动画87
6.6 AnimatedList动画89
6.7 小结91
第7章 自定义组件
7.1 自定义组件方法介绍93
7.2 组装现有组件93
7.3 CustomPaint与Canvas结合使用95
7.4 小结97
第8章 文件操作和网络请求
8.1 获取iOS和Android文件路径99
8.2 文件夹日常操作99
8.3 文件日常操作100
8.4 HTTPClient网络请求101
8.5 dio库简介及使用102
8.6 JSON转Model类103
8.7 小结105
第9章 路由导航和存储
9.1 路由导航107
9.2 命名路由规则108
9.3 使用shared_preferences存储数据110
9.4 使用SQLite存储数据111
9.5 小结115
第10章 混合跨平台开发
10.1 开发Package117
10.2 平台通道介绍117
10.3 Flutter插件的开发117
10.4 Android端插件API的实现121
10.5 iOS端插件API的实现121
10.6 小结122
第11章 国际化
11.1 让开发的App支持多语言124
11.2 监听系统语言切换124
11.3 让开发的UI支持多语言125
11.4 使用Intl包127
11.5 小结130
第12章 项目实战
12.1 应用介绍132
12.2 应用数据133
12.3 主体样式134
12.4 路由管理136
12.5 状态管理方案137
12.6 登录界面139
12.7 消息展示界面142
12.8 待办事项界面143
12.9 考勤打卡界面148
12.10 个人中心界面151
12.11 小结157
第13章 发布Flutter应用
13.1 JIT和AOT159
13.2 Android端的打包159
13.3 iOS端的打包163
13.4 性能调试166
13.5 开发辅助工具使用166
13.6 App上架167
13.7 小结168
第14章 App升级功能
14.1 App升级功能预览及功能分析170
14.2 Android平台跳转到应用市场进行更新170
14.3 iOS平台跳转到App Store进行更新171
14.4 小结172

产品特色