《Dart语言实战——基于Flutter框架的程序开发》[69M]百度网盘|pdf下载|亲测有效
《Dart语言实战——基于Flutter框架的程序开发》[69M]百度网盘|pdf下载|亲测有效

Dart语言实战——基于Flutter框架的程序开发 pdf下载

出版社 清华大学出版社京东自营官方旗舰店
出版年 2021-12
页数 390页
装帧 精装
评分 9.0(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供Dart语言实战——基于Flutter框架的程序开发电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

产品特色

内容简介

本书系统阐述了跨平台Dart编程语言基础知识、面向对象编程, 以及网络编程和异步编程等高级知识。全书共分为4 篇: 第1篇为Dart基础(第1 ~9章) , 第2篇为面向对象编程( 第10 ~14 章) , 第3篇为Dart 进阶(第15 ~24章) , 第4篇为商城项目实战( 第25 ~37章) 。书中主要内容包括: Dart语法基础、Dart编码规范、数据类型、运算符、流程控制语句、函数、面向对象基础、继承与多态、抽象类与接口、枚举类、集合框架、集合与泛型、异常处理、元数据、Dart库、单线程与多线程、网络编程和异步编程等。

书中包含大量应用示例, 读者不仅可以由此学会理论知识还可以灵活应用。书中示例基于 Flutter环境开发, 读者在学习到Dart语言知识的同时还可以学会Flutter框架技术。书中通过一个商城App案例详细阐述了如何使用Flutter开发App, 内容完整, 步骤清晰, 提供了工程化的解决方案。

本书可作为Dart和Flutter初学者的入门书籍, 也可作为从事跨平台移动应用开发的技术人员及培训机构的参考书籍。


作者简介

亢少军 资深开发者、创业者,专注于视频通信技术领域。国内首本Flutter书籍《Flutter技术入门与实战》作者。多年从事视频会议、远程教育等技术研发,对于Android、iOS及跨平台开发技术有较深入的研究,并开发了多个应用项目,涉及医疗、交通、银行等领域。

目录





目录

第1篇Dart基础


第1章Dart语言简介(7min)


1.1移动端开发


1.2Web开发


1.3服务端开发


第2章开发环境搭建(24min)


2.1Windows环境搭建


2.2macOS环境搭建


第3章第一个Dart程序(7min)


第4章Dart语法基础(8min)


4.1关键字


4.2变量


4.3常量


4.3.1final定义常量


4.3.2const定义常量


4.3.3final和const的区别


第5章编码规范(16min)


5.1样式规范


5.2文档规范


5.3使用规范


5.3.1依赖


5.3.2赋值


5.3.3字符串


5.3.4集合


5.3.5参数


5.3.6变量


5.3.7成员


5.3.8构造方法


5.3.9异常处理







第6章数据类型


6.1Number类型


6.2String类型


6.3Boolean类型


6.4List类型


6.4.1定义List


6.4.2常量List


6.4.3扩展运算符


6.5Set类型


6.6Map类型


第7章运算符(11min)


7.1算术运算符


7.2关系运算符


7.3类型测试操作符


7.4赋值操作符


7.5逻辑运算符


7.6位运算符


7.7条件表达式


7.8级联操作


第8章流程控制语句(16min)


8.1if和else


8.2for循环


8.3while和dowhile


8.4break和continue


8.5switch和case


8.6断言assert


第9章函数(44min)


9.1函数的概念


9.2可选参数


9.2.1命名参数


9.2.2位置参数


9.3参数默认值


9.4main函数


9.5函数作为参数传递


9.6匿名函数


9.7词法作用域


第2篇面向对象编程


第10章面向对象基础(30min)


10.1面向对象概述


10.2面向对象基本特征


10.3类声明及构成


10.3.1类声明


10.3.2成员变量


10.3.3成员方法


10.4静态变量和静态方法


10.4.1静态变量


10.4.2静态方法


10.5枚举类型


第11章对象(57min)


11.1创建对象


11.2对象成员


11.3获取对象类型


11.4构造方法


11.4.1声明构造方法


11.4.2使用构造方法


11.4.3命名构造方法


11.4.4调用父类的非默认构造方法


11.4.5初始化列表


11.4.6重定向构造方法


11.4.7常量构造方法


11.4.8工厂构造方法


11.5Getters和Setters


第12章继承与多态(38min)


12.1Dart中的继承


12.2方法重写


12.2.1基本使用


12.2.2重绘Widget方法


12.2.3重写高级示例


12.3操作符重写


12.4重写noSuchMethod方法


12.5多态


第13章抽象类与接口(21min)


13.1抽象类


13.1.1抽象类的定义格式


13.1.2数据库操作抽象类实例


13.1.3几何图形抽象类


13.2接口


第14章Mixin混入(27min)


14.1Mixin概念


14.2Mixin使用


14.3重名方法处理


14.4Mixin对象类型


第3篇Dart进阶


第15章异常处理


15.1异常概念


15.2抛出异常


15.3捕获异常


15.3.1trycatch语句


15.3.2tryoncatch语句


15.4重新抛出异常


15.5finally语句


15.6自定义异常


15.7Http请求异常


第16章集合


16.1集合简介


16.2List集合


16.2.1常用属性


16.2.2常用方法


16.2.3遍历集合


16.3Set集合


16.3.1常用属性


16.3.2常用方法


16.3.3遍历集合


16.4Map集合


16.4.1常用属性


16.4.2常用方法


16.4.3遍历集合


第17章泛型


17.1语法


17.2泛型的作用


17.2.1类型安全


17.2.2减少重复代码


17.3集合中使用泛型


17.4构造方法中使用泛型


17.5判断泛型对象的类型


17.6限制泛型类型


17.7泛型方法的用法


17.8泛型类的用法


17.9泛型抽象类的用法


第18章异步编程


18.1异步的概念


18.1.1单线程


18.1.2多线程


18.1.3事件循环


18.2Future


18.2.1Dart事件循环


18.2.2调度任务


18.2.3延时任务


18.2.4Future详解


18.2.5异步处理实例


18.3Stream


18.3.1Stream的概念


18.3.2Stream的分类


18.3.3Stream创建方式


18.3.4Stream操作方法


18.3.5StreamController使用


18.3.6StreamBuilder


18.3.7响应式编程


18.3.8Bloc设计模式


18.3.9Bloc解耦


18.3.10BlocProvider实现


18.4Isolate


18.4.1创建Isolate


18.4.2使用场景


第19章网络编程


19.1Http网络请求


19.2HttpClient网络请求


19.3Dio网络请求


19.4Dio文件上传


19.5WebSocket


第20章元数据


20.1元数据的定义


20.2常用的元数据


20.2.1@deprecated


20.2.2@override


20.2.3@required


20.3自定义元数据


20.4元数据应用


第21章Dart库


21.1本地库使用


21.2系统内置库使用


21.3第三方库介绍


21.4库重名与冲突解决


21.5显示或隐藏成员


21.6库的命名与拆分


21.7导出库


第22章数据持久化


22.1键值对存储介绍


22.2共享变量使用


22.3共享变量实现原理


22.4文件存储


22.5Sqflite使用


22.5.1常用操作方法


22.5.2客户表操作示例


第23章Canvas画布


23.1画布与画笔


23.2绘制直线


23.3绘制圆


23.4绘制椭圆


23.5绘制圆角矩形


23.6绘制嵌套矩形


23.7绘制多个点


23.8绘制圆弧


23.9绘制路径Path


第24章Web开发


24.1升级SDK


24.2示例工程


24.3项目分析


24.3.1入口文件


24.3.2界面元素


24.3.3第三方库


第4篇商城项目实战


第25章项目简介


25.1功能介绍


25.2总体架构


25.2.1前端Flutter


25.2.2后端接口Nodejs


25.2.3后端管理React


25.2.4数据库MySQL


25.3后端及数据库准备


25.3.1MySQL安装


25.3.2Node安装


第26章项目框架搭建


26.1新建项目


26.2目录结构


第27章项目配置


27.1颜色配置


27.2字体样式配置


27.3字符串配置


27.4接口地址配置


27.5导出配置


第28章工具集


28.1路由工具


28.1.1路由参数处理


28.1.2路由工具


28.2Token工具


28.3随机数工具


28.4颜色转换工具


第29章消息通知与数据处理


29.1消息通知


29.2数据中心


29.3Http服务


第30章组件封装


30.1大按钮组件


30.2中等按钮组件


30.3小按钮组件


30.4圆形复选框组件


30.5输入框组件


30.6Logo容器组件


30.7弹出消息组件


第31章入口与首页


31.1入口程序


31.2主页面


31.3首页数据模型


31.4首页布局拆分


31.5轮播图实现


31.6首页分类实现


31.7首页商品实现


31.8组装首页


第32章分类


32.1分类数据模型


32.2一级分类组件实现


32.3二级分类组件实现


32.4组装分类页面


32.5分类商品列表


第33章登录注册


33.1用户数据模型


33.2登录页面实现


33.3注册页面


第34章商品详情


34.1商品详情需求分析


34.2商品详情数据模型


34.3商品详情基本信息


34.4商品详情操作按钮


34.5商品详情页实现


第35章购物车


35.1购物车列表数据模型


35.2购物车页面拆分


35.3计数器组件实现


35.4购物车列表项实现


35.5购物车结算按钮


35.6购物车页面实现


第36章订单


36.1填写订单页面实现


36.2订单数据模型


36.3我的订单页面实现


36.4订单详情页面实现


第37章会员中心


37.1登录和退出处理


37.2页面实现


前言/序言


前言


近些年来,利用跨平台技术来开发App无论在移动端还是桌面端都备受欢迎。开源的跨平台框架也是百花齐放,Flutter是最新的跨平台开发技术,可以横跨Android、iOS、macOS、Windows、Linux等多个系统。Flutter还可以打包成Web程序运行在浏览器上。Flutter采用了更为彻底的跨平台方案,即自己实现了一套UI框架,然后直接在GPU上渲染UI页面。

笔者最早接触的跨平台技术是Adobe Air技术,写一套Action Script代码可以运行在PC、Android及iOS三大平台上。目前,笔者与朋友开发视频会议产品及开源项目,需要最大化地减少前端的开发及维护工作量,所以,我们先后考察过Cordova、React Native及Flutter等技术。我们觉得Flutter方案更加先进,效率更高,后来就尝试用Flutter开发了全球第一个开源的WebRTC插件(可在GitHub上搜索Flutter WebRTC)。

Flutter的开发语言是Dart,所以本书重点介绍与Dart语言相关的知识。出版本书的目的是想传播Flutter知识(因为Flutter确实优秀),想在为Flutter社区做点贡献的同时也为我们的产品打下坚实的技术基础。通过编写本书,笔者查阅了大量资料,使得知识体系扩大了不少,收获良多。

本书是《Dart语言实战——基于Flutter框架的程序开发》的第2版,第1~14章配套了教学视频,并新增了Dart本地库、系统内置库以及第三库的使用方法,以及Dart持久化的几种方式等内容。

商城项目实战篇采用FlutterSDK自带库方案,减少对第三方库的依赖,使得项目更加轻量化。商城架构改为Flutter+Node+React+MySQL,采用真实接口开发。使用HttpClient为封装网络请求服务,替代第三方库Dio。编写消息派发库Call,替代第三方事件通知库EventBus。路由工具使用Flutter框架自带路由,替代第三方库Fluro。使用EasyRefresh上拉刷新组件,并添加分页处理逻辑。

本书主要内容

第1章介绍Dart语言简介,介绍Dart语言的发展及能够支持的平台。

第2章介绍Dart语言的两个开发环境搭建过程,包括Windows及macOS的开发环境搭建。

第3章简单介绍如何使用IDE在Flutter环境下运行第一个Dart程序。

第4章介绍Dart语言的语法基础,包括关键字、变量和常量等。

第5章介绍Dart语言的编码规范,包括样式规范、文档规范及各种使用规范。

第6章介绍Dart语言的常用数据类型,包括数字、字符串、List、Map及Set类型的定义及使用方法。

第7章介绍Dart语言的运算符,包括算术、关系、逻辑、类型检测及级联操作符。

第8章介绍常用的流程操作语句,包括条件分支、循环语句及断点Assert等。

第9章介绍函数的构造函数定义、参数传递方法、可选参数的使用及匿名函数的使用方法等。

第10章介绍面向对象的基本概念、类的声明、成员变量与成员方法,以及枚举类型等相关知识。

第11章介绍对象的创建与使用,以及Dart语言里各个构造方法的定义及使用。

第12章介绍继承与多态,通过示例详细讲解方法重写的知识点。

第13章介绍抽象类和接口的概念,以及如何声明抽象类与接口,如何实现抽象类和接口。

第14章介绍Dart语言里Mixin(混入)的概念及特性、Mixin的使用、重命名方法处理以及Mixin对象类型。

第15章介绍Dart异常的概念,抛出异常及捕获异常的使用方法。同时介绍如何自定义异常并使用。最后通过Http异常处理的实例综合运用异常。






第16章介绍集合的概念。详细介绍Dart语言中List、Set及Map等常用集合的概念及使用方法。

第17章介绍泛型的概念及作用。通过示例详解介绍泛型在集合、类、抽象类和方法里的使用方法。

第18章介绍单线程与多线程的概念、事件循环机制、Future概念及异步处理,同时介绍Stream概念及Bloc设计模式,另外还介绍Isolate的高级用法。

第19章通过多个示例详细介绍Http网络请求、Dio网络请求及WebSocket的用法。

第20章介绍元数据定义、常用元数据和自定义元数据。另外通过Json生成实体类的方法详细介绍元数据的应用场景。

第21章介绍常用开发库及第三方库的使用,如库的导入、导出、命名与拆分等。

第22章详细阐述Flutter持久化的处理方法,如文件存储、共享变量及本地数据库操作。

第23章通过Canvas的接口使用详细介绍Flutter里画布操作的API使用方法。

第24章介绍Flutter Web开发的流程及具体步骤,另外介绍第三方库选取注意的事项。

第25章对商城项目进行一个总体的功能介绍,使用的前端技术、后端技术、后台管理技术及使用的数据库。同时详细讲解后端及数据库的安装步骤。

第26章介绍商城项目创建、项目框架搭建、目录结构分析,以及项目的数据流程分析等内容。

第27章介绍商城项目的颜色、图标、字符串和数据接口等配置项。

第28章介绍商城项目中用到的工具,如路由工具、Token处理工具、随机数工具及颜色转换等工具。

第29章介绍商城项目中用到消息通知类的实现方法,另外通过Flutter自带的HttpClient实现Http请求库的方法。

第30章介绍商城项目中封装的组件,如大中小按钮、圆形复选框、输入框及弹出消息组件等。

第31章介绍商城项目的入口程序与首页处理,包括入口程序、首页拆分、首页分类、首页商品及轮播图等内容。

第32章介绍商城项目的分类模块的数据模型、数据接口、一级分类组件、二级分类组件及分类页面组装的实现过程。

第33章介绍商城项目用户数据模型,以及登录注册页面实现过程。还分析了token的获取与使用。

第34章介绍商城项目中商品详情复杂页面布局、商品相关的数据模型、数据接口及添加至购物车的实现过程。

第35章介绍商城项目中的购物车模块实现过程,同时讲解了购物车与其他模块的关系以及购物商品数量组件的使用。

第36章介绍商城项目中订单列表及订单详情的实现过程,同时详细介绍订单状态及订单详情复杂页面的布局。

第37章介绍商城项目中个人中心实现的过程,同时介绍个人中心页面与其他页面的关系。

阅读建议

本书是一本基础入门加实战的书籍, 既有基础知识, 又有丰富示例, 包括详细的操作步骤, 实操性强。由于Dart语言内容较多, 所以本书对Dart语言的基本概念讲解很详细, 包括基本概念及代码示例。每个知识点都配有小例子, 力求精简, 还提供完整代码, 读者复制完整代码就可以立即看到效果。这样会给读者信心, 在轻松掌握基础知识的同时能够快速进入实战。

本书共分4篇, 建议读者先把第1篇Dart语言的基础理论通读一遍, 并搭建好开发环境, 在第3章编写出第一个 Dart 程序。

第2篇是Dart语言面向对象的一些知识, 掌握这一部分内容可以写出结构清晰的程序,同时还能掌握Dart语言的Mixin(混入)等特性。

第3篇属于Dart进阶内容, 包括异常处理、集合及泛型的使用。这里的异步编程属于 Dart 的核心知识, 可通过示例详细了解 Bloc 设计模式及程序是如何解耦的。

第4 篇属于项目实战部分, 读者在掌握了前面的基础知识后, 可以通过一个商城案例项目来全面掌握Flutter的开发过程。这里建议读者在开发过程中, 如果遇到不熟悉的组件或者第三方库, 则可以先运行小示例后再进行使用。

关于随书代码

本书所列代码力求完整,但由于篇幅所限,代码没有全放在书里。完整代码可扫描下方二维码下载。



本书源代码



致谢

首先感谢清华大学出版社赵佳霓编辑的耐心指点,以及推动本书的出版。

还要感谢我的家人,尤其感谢我的母亲及妻子,在我写作过程中承担了全部的家务并照顾孩子,使我可以全身心地投入写作之中。

由于时间仓促,书中难免存在不妥之处,请读者见谅,并提宝贵意见。


亢少军


2021年10月