新書推薦:
《
秩序四千年:人类如何运用法律缔造文明(世界重归混乱,文明岌岌可危,法律与秩序是我们仅有的武器。穿越时间,鸟瞰全球,一部波澜壮阔的人类文明史)
》
售價:HK$
154.6
《
民法典1000问
》
售價:HK$
99.7
《
国术健身 易筋经
》
售價:HK$
33.4
《
古罗马800年
》
售價:HK$
188.2
《
写出心灵深处的故事:踏上疗愈之旅(修订版)(创意写作书系)
》
售價:HK$
66.1
《
控制权视角下的家族企业管理与传承
》
售價:HK$
87.4
《
冯友兰和青年谈心系列
》
售價:HK$
167.3
《
利他主义的生意:偏爱“非理性”的市场(英国《金融时报》推荐读物!)
》
售價:HK$
77.3
編輯推薦:
(1)内容翔实:主体内容分为三部分,第一部分为基础知识篇,第二部分为核心功能篇,第三部分为实战应用篇。
(2)衔接连贯:每一部分由简至详论述,结合实战案例,通过图文分析方式来帮助读者透彻理解。在本书的指引下,读者可以在Flutter 的开发中不断突破瓶颈,更上一层楼。
(3)丰富示例:配套两个大型项目的快速基础开发模板,读者可以一边阅读一边练习,并直接在此基础上搭建企业级的应用。
內容簡介:
本书采用由浅入深的方式讲解Flutter技术原理,内容翔实、面面俱到,通过阅读本书,读者能够掌握如何使用 Flutter 来编写跨平台移动客户端应用,并且对应用到的组件有透彻的理解。 本书分为三篇,共12章。基础知识篇(第1~5章)概述Dart核心语言基础,通过视频讲解来概述Flutter开发环境搭建,纵向概述Flutter开发中使用到的基础组件如Text、Image、UI布局组件如Column、滑动组件如NestScrollView、功能性组件如手势识别等。核心功能篇(第6~10章)涵盖动画、弹框、绘图、文件操作、Flutter与AndroidiOS原生的消息通信、数据持久化、网络请求等。实战应用篇(第11章和第12章),将前两部分中内容加以应用,并补充开发细节如应用图标配置、打包发布、权限请求、各种工具类封装等,会提供一个App的基础架构, 本书面向Flutter初学者,Web前端、iOS开发、Android的开发人员,以及想更多了解Flutter并进阶实战的技术人员阅读。
關於作者:
赵龙,华为HDE、华为学堂官方合作资深讲师、CSDN认证年度博客专家、CSDN知名专栏作者、“玩转大前端”网校创始人。先后从事过Java EE 、Android开发架构、iOS开发、小程序开发、产品设计、项目管理学等领域的工作,并在大量的实践中积累了丰富的经验,也形成了一套完整的移动互联网开发解决方案,在各大技术社区分享了共2000多篇技术文章,录制了“Android系列开发视频教程”和“Flutter系列开发教程”,著有《Flutter组件精讲与实战》《Flutter基础与实战》《鸿蒙操作系统应用编程实战》等书。
目錄 :
基础知识篇
第1章Flutter开发起步(42min)
1.1Flutter开发入门基础
1.1.1Flutter环境搭建概述
1.1.2Dart语言与Flutter概述
1.2Dart语言核心基础
1.2.1Dart 变量与方法
1.2.2Map、List、Set 的基本使用概述
1.2.3Dart中的流程控制
1.2.4Dart 异常(Exception)处理
1.3Flutter项目创建与配置文件
1.3.1pubspec配置文件中依赖库引用说明
1.3.2图片等资源管理配置
1.3.3Flutter App的调试技巧
1.3.4Flutter Widget基本概述
1.4小结
第2章Flutter基础组件核心基础
2.1MaterialApp用来搭建程序的入口
2.1.1路由配置
2.1.2语言环境配置
2.2Scaffold 用来搭建页面主体
2.2.1AppBar用来配置页面的标题
2.2.2FloatingActionButton悬浮按钮效果
2.2.3侧拉页面Drawer
2.2.4常用底部导航菜单栏
2.2.5小提示框SnackBar
2.3Text用来显示文件段落
2.3.1Text文本的常用属性配置
2.3.2TextStyle用来配置文本显示样式
2.3.3RichText实现多种文本风格组合显示
2.3.4SelectableText实现文件显示
2.4TextField用来实现文本输入功能
2.4.1TextField文本输入的常用属性配置
2.4.2文本输入框的边框配置
2.4.3TextField 输入内容的监听与获取
2.5按钮实现用户单击事件
2.5.1常用按钮Button概述
2.5.2抖动按钮
2.5.3ActionChip 胶囊组合按钮
2.5.4悬浮拖动按钮
2.6其他常用Widget概述
2.6.1Image用来显示图片
2.6.2Container用来设置边框样式
2.6.3ShaderMask实现利用轮廓
2.6.4SizedBox用来限制子Widget大小
2.7小结
第3章Flutter UI布局排版组件核心基础(24min)
3.1Column与Row实现线性排列
3.1.1Column用来实现竖直方向线性排列
3.1.2Row用来实现水平方向线性排列
3.1.3Column与Row中子Widget按比例权重布局
3.2非线性布局综合概述
3.2.1Stack用来实现层叠布局
3.2.2Wrap用来实现层叠布局
3.2.3实现登录页面
3.3弹框用于提示用户信息
3.3.1showDialog显示基本弹框
3.3.2showCupertinoDialog显示苹果风格弹框
3.3.3showBottomSheet底部显示弹框
3.3.4showModalBottomSheet底部弹出对话框
3.4小结
第4章Flutter常用组件核心基础
4.1加载过渡指示器
4.1.1线性指示器LinearProgressIndicator
4.1.2圆形指示器CircularProgressIndicator
4.1.3小菊花CupertinoActivityIndicator
4.2单选框Radio、复选框CheckBox、开关Switch
4.2.1单选框Radio组件
4.2.2单选框RadioListTile
4.2.3复选框CheckBox
4.2.4复选框CheckboxListTile
4.2.5开关Switch
4.3手势处理
4.3.1GestureDetector手势监听
4.3.2Ink与InkWell
4.4其他常用交互视觉类型组件
4.4.1Clip裁剪系列组件
4.4.2Card用来实现卡片效果
4.4.3分段选择标签效果
4.4.4手机横屏与竖屏处理
4.5小结
第5章滑动视图(5min)
5.1长页面滑动视图
5.1.1滑动组件SingleChildScrollView
5.1.2滑动布局NestedScrollView与SliverAppBar
5.1.3滑动组件CustomScrollView
5.2列表数据展示
5.2.1ListView用来构建常用的列表数据页面
5.2.2GridView用来构建二维宫格页面
5.2.3PageView实现页面整屏切换
5.3滑动视图的应用
5.3.1ListView下刷新与分页加载
5.3.2苹果风格下拉刷新
5.3.3PageView实现轮播图特效
5.3.4NestedScrollView下拉刷新失效问题
5.3.5滚动监听NotificationListener
5.3.6ListView实现自动滚动标签效果
5.4小结
核心功能篇
第6章动画专题(3min)
6.1基本动画
6.1.1透明度渐变动画
6.1.2缩放动画
6.1.3平移动画
6.1.4旋转动画
6.2高级动画应用提升用户视觉体验
6.2.1ColorTween颜色动画过渡
6.2.2跳动动画效果
6.2.3Hero屏幕共享元素动画
6.2.4Path绘图高级动画
6.2.5AnimatedSwitcher实现页面局部动画切换
6.2.6左右抖动动画效果
6.3AnimatedWidget应用分析
6.3.1实现单击高亮自定义按钮
6.3.2AnimatedBuilder应用实践
6.3.3AnimatedModalBuilder应用实践
6.3.4弹簧动画应用实践
6.4小结
第7章状态管理专题(75min)
7.1入门级数据管理与更新
7.1.1InheritedWidget 数据共享
7.1.2ValueNotifier单数据模型通信
7.1.3ValueNotifier自定义模型通信
7.2Stream流通信
7.2.1多订阅流实现多组件同步数据
7.2.2单订阅流实现计时功能
7.3Provider状态管理
7.3.1Provider单数据模型通信
7.3.2Provider多数据模型通信
7.4GetX 状态管理
7.4.1GetX路由管理功能
7.4.2GetX 局部数据更新
7.4.3GetX 依赖注入
7.4.4GetXBinding自动管理内存
7.4.5Obx 响应式编程
7.5小结
第8章绘图专题
8.1绘制基本图形
8.1.1绘图基础知识概述
8.1.2绘制点与线
8.1.3绘制矩形与圆角矩形
8.1.4绘制圆与椭圆
8.2Path自定义图形
8.2.1Path构建基本图形
8.2.2二阶贝塞尔曲线绘制弧线
8.2.3三阶贝塞尔曲线绘制弧线
8.2.4Path依据进度实现动态绘制
8.2.5Path结合PathMetric实现动态绘制
8.3绘图对文本与图片方面的支持
8.3.1绘制文本段落
8.3.2绘制图片
8.3.3绘制图片添加水印
第9章混合开发专题(5min)
9.1Flutter与原生(Android、iOS)双向通信
9.1.1MethodChannel实现消息监听与发送
9.1.2BasicMessageChannel实现消息监听与发送
9.1.3EventChannel实现消息监听与发送
9.2Flutter调用原生View
9.2.1内嵌Android原生View
9.2.2内嵌iOS原生View
9.3原生项目内嵌Flutter模块
9.3.1Android中集成Flutter模块
9.3.2iOS中集成Flutter模块
9.4插件开发
9.4.1Flutter端开放Widget
9.4.2Android端创建TextView并解析文本
9.4.3iOS端创建WKWebView并解析文本
9.4.4插件发布
9.4.5插件API升级
9.5小结
第10章文件操作与网络请求
10.1异步编程
10.1.1async与await的基本使用
10.1.2Future实现延时任务
10.1.3Timer实现定时任务
10.1.4FutureBuilder实现异步任务更新
10.2文件的读写
10.2.1资源目录assets文件读取
10.2.2手机磁盘文件读写
10.2.3SharedPreferences轻量级数据保存
10.2.4sqflite数据库数据操作
10.3网络请求
10.3.1HttpClient网络请求操作
10.3.2网络请求库Dio
10.3.3选择图片插件
10.4小结
实战应用篇
第11章Flutter应用基础框架(28min)
11.1App应用程序基本配置概述
11.1.1App基本信息配置
11.1.2Android 平台开发配置
11.1.3Android打包发布APK
11.1.4iOS打包发布
11.2App开发工具类概述
11.2.1常用工具类概述
11.2.2网络请求与页面交互状态显示
11.2.3网络请求工具类封装概述
11.3App应用搭建
11.3.1Android与iOS双平台的闪屏页面
11.3.2应用根视图基本配置
11.3.3启动页面动态权限申请
11.3.4加载PDF文件显示
11.3.5滑动引导页面与倒计时页面
11.3.6应用首页
11.4小结
第12章GetX架构视频应用开发(13min)
12.1App应用程序根视图配置
12.1.1启动页面初始化配置
12.1.2倒计时页面架构剥离
12.2应用首页面
12.2.1首页面底部菜单导栏
12.2.2应用版本检查更新
12.3视频列表页面架构构建
12.3.1视频列表数据与UI构建
12.3.2视频播放控制UI页面构建
12.3.3视频播放功能控制
12.3.4性能优化小提示
12.4小结
內容試閱 :
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面,至本书发稿前,Flutter稳定版本发布到了2.10版本,现在已经支持移动端(Android、iOS)、Web端和PC端,本书内容是基于2.10.2版本构建的。本书的特色是由浅至深,从Dart语言基础至功能基础,再至核心架构搭建,并配有大量的视频讲解。
在本书的每章、每节落笔前的构思中,笔者都在考虑如何才能把各个知识点由简到详更有条理地论述,也在考虑如何才能使读者以简单易懂的方式快速理解每个知识点以致在实际项目中的开发使用,也在担心自己的理解有偏差而误导了读者。在本书的发行期间,Flutter SDK也在不断地更新迭代中,本书中的内容可能与最新Flutter版本略有不同,请读者以最新版本为主。
本书主要内容
本书由浅入深讲解Flutter技术的原理,基础知识篇(第1~5章)主要介绍Dart语言基础,以及Flutter UI构建; 核心功能篇(第6~10章)详细讲解动画、弹框、绘图、Flutter与Android和iOS原生的消息通信等,其中第7章详细讲述状态管理GetX的使用,并搭配了GetX与Provider状态管理系列视频教程; 实战应用篇(第11、12章)是实战演示,第11章主要讲解如何搭建一个基础App架构,包括启动页面、倒计时页面、首页面的应用逻辑搭建,第12章通过GetX搭建App架构,在此基础上实现了列表视频播放案例。
本书开发依赖包括以下几点。
(1) 开发工具: MacBook Pro (Retina,15inch,Mid 2015) 版本10.15.6(19G73)。
(2) 开发软件工具: Android Studio 2021.1.1 Patch 2、Xcode Version 13.2.1。
(3) 测试手机:
Android 小米Max MIUI 11.0.3 稳定版本,尺寸6.9英寸、分辨率为2160×1080像素,Android版本9。
iPhone 11,系统版本13.5.1,6.1英寸,分辨率为1792×828像素。
本书开发的语言环境如下:
Flutter 2.10.2 · channel stable · https://github.com/flutter/flutter.git
Framework · revision 097d3313d8
Engine · revision a83ed0e5e3
Tools · Dart 2.16.1 · DevTools 2.9.2
本书源代码
扫描下方二维码,即可下载本书源代码。
致谢
感谢广大读者以往对作者的支持,感谢给笔者前期的书籍提交过问题反馈与建议的读者; 感谢Flutter开发社区诸多开发者的提议及实践经验分享; 感谢清华大学出版社的赵佳霓编辑,本书能够顺利出版离不开她细心、负责任的工作态度。
由于写作水平与时间所限,书中难免存在不妥之处,请读者见谅,并提宝贵意见。
赵龙
2022年4月