首页>参考读物>计算机科学与技术>软件与程序设计

微信小游戏开发:后端篇
作者 : 李艺 著
出版日期 : 2023-03-06
ISBN : 978-7-111-72102-4
定价 : 99.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 :
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

“微信小游戏开发”系列图书包含《微信小游戏开发:前端篇》和本书,融合了腾讯云TVP李艺多年来的一线项目研发和教学经验。本书在前端篇的基础上,继续讲解微信小游戏开发后端部分的内容,主要包括本地功能开发、云开发实践、后端程序编写等,zui终让读者掌握微信小游戏全栈开发的知识体系与核心技能,并完成一个精心设计的实际项目。本书随附完整的项目源码,以方便读者学习和实践。
本书共7章,主要内容如下。
第1~3章 本地功能
学习微信小游戏开发,少不了要学习平台组件和接口。这3章主要介绍如何利用平台组件和接口实现微信小游戏开发中常用的本地功能,比如读写本地缓存和本地文件、显示用户的位置信息、添加背景图片、监听并记录错误、添加排行榜和广告等。通过这3章的实践,我们将使小游戏项目的本地功能更加完善,同时进一步了解微信小游戏的平台能力,为以后自学平台组件和接口打下基础。
第4、5章 云开发
云开发可以显著降低运维成本和运维复杂度,对于独立开发者来说尤为适合。云开发技术一直在快速演进,不断有新功能、新接口出现。在这两章中,我们将进行基础云开发(云函数、云数据库、云存储)方面的实践,了解其运行机制,这样无论以后云开发技术如何推陈出新,我们都能快速掌握和运用。
第6、7章 后端
编写后端程序是重中之重。在这两章中,我们在保持技能实践的全面性的前提下,尽量将实践内容简化。我们将使用两种常用的后端技术Node.js和Go编写同一套接口,实现相同的后端程序功能。在编写后端接口程序和Web后台管理程序时,书中提供了分别基于koa2(Node.js Web框架)和Iris(Go Web框架)的快速开发项目模板,即使你是初学者,也能很快入门。

图书特色

腾讯云TVP撰写,模拟真实项目的迭代过程,手把手教学,让你快速掌握微信小游戏后端开发的知识体系与核心技能

基于微信小游戏后端开发实战,深入讲解本地功能开发、云开发实践和后端程序编写,最终完成一个精心设计的实际项目

上架指导

计算机\程序设计

封底文字

李艺是51CTO的忠实用户,也是软件开发领域的技术专家,他拥有近20年的软件研发经验,这本书是他长期从事编程教育的经验总结。本书最大的创新在于,用一个PBL实战案例将知识点和需要读者练习的技能点全部串联起来,并且是遵照人的学习规律,按从易到难的顺序逐一安排的。整本书就像从山脚伸向山顶的石阶,相信新手跟着书中节奏学习,一定会大有长进。
—— 熊平 51CTO创始人


本书最大的特点是循序渐进,从几行代码开始,逐步深入,最终实现一个完善的微信小游戏项目,特别适合新手入门。同时作者又以自己丰富的实战经验,细致地帮助初学者在遇到问题时定位并解决问题,使初学者能快速建立一套较完善的思维方式和工作流程。对想学习微信小游戏开发的新手来说,这本书就像一个经验丰富的老程序员在身边手把手带着你做项目,让你学完之后真的有很大收获。
—— 廖雪峰 著名技术专家/www.liaoxuefeng.com博主


本书运用PBL实战教学思想来引导读者学习微信小游戏项目的开发。不同于其他的编程入门书,李艺写的这本书富有创意且趣味性十足。在内容方面,不仅章节设计巧妙合理、知识脉络清晰,还通过丰富的代码示例与配图让读者更加直观地理解小游戏开发的基础及进阶知识,非常值得一读!
      —— 陈超 腾讯高级前端开发工程师/腾讯课堂前端Leader


本书不仅介绍了小游戏开发的基础知识,也阐述了开发过程中常见问题的解决思路,还通过引入设计模式、模块化等概念讲解了程序重构等高级技能,让读者不停留在小游戏开发的一般技巧上,而上升到软件开发的终极层次。这种学习方式能够让读者举一反三,在以后的学习和工作中持续受益,从而设计和开发出可维护和可扩展性很强的程序。
      —— 寇永赞 新东方教育集团前端技术经理     


本书是一本介绍微信小游戏开发的图书,不仅适合前端开发者,也适合对小游戏开发感兴趣的读者。阅读本书,你可以很好地掌握微信小游戏开发的相关知识,学完后即可独立开发出一款完整的微信小游戏。在学习的过程中,你不仅能快速产出学习成果,看到小游戏的成形界面,还能学到许多基础知识,便于以后查漏补缺。这是一本不可多得的好书,值得推荐!
      —— 舒欣 微信开发者/腾讯云开发工程师

作者简介

李艺 著:李艺 腾讯云TVP,有近20年互联网软件研发经验,参与研发的音视频直播产品曾在腾讯QQ上线,有数千万人使用;是中移联合智库ICT专家级讲师,一汽大众等企业内训讲师,北京协同创新研究院人工智能项目技术负责人。国内早期闪客之一,曾自定义课件标准并完成全平台教育课件产品研发,被Adobe官方选为中国社区管理员。业余喜欢写作,创建微信公众号和视频号“艺述论”,用以分享技术教程,是微信学堂“小程序性能优化实践”和极客时间“微信小程序全栈开发实战”的专栏作者,著有《小程序从0到1:微信全栈工程师一本通》等书。

图书目录

第一篇 飞龙在天
第1章 本地功能优化一:读写本地数据与使用LBS服务
第1课 读写本地缓存 5.4k
1.1.1 创建数据服务单例,实现本地数据读取
1.1.2 拓展:使用Storage面板管理本地缓存数据
1.1.3 面向Promise编程:异步代码转同步
1.1.4 如何清除本地缓存?
1.1.5 本课小结
第2课 使用FileSystemManager读写本地文件 2.8k
1.2.1 读写本地文件
1.2.2 面向Promise编程:避免使用try catch
1.2.3 本课小结
第3课 使用腾讯位置服务显示用户城市 3.5k
1.3.1 使用腾讯位置服务
1.3.2 拓展:小心隐藏字符错误
1.3.3 解决异步接口回调函数简写引发的错误
1.3.4 使用“异步代码转同步”技巧重写LBSManager
1.3.5 本课小结
本章小结
第2章 本地功能优化二:优化游戏体验
第4课 优化游戏体验:添加背景图片和顶层UI 9.2k
2.1.1 添加适配不同机型的背景图片
2.1.2 使用有限字符的自定义字体
2.1.3 在左挡板失误时振动
2.1.4 监听并处理背景音乐的意外暂停
2.1.5 实现游戏暂停与恢复的可控制,显示一个暂停切换按钮
2.1.6 解决游戏暂停后定时器不暂停的问题
2.1.7 添加游戏顶层UI,在退出功能实践中理解对象的封装性
2.1.8 本课小结
第5课 优化游戏性能:监听全局错误,记录错误日志 4.5k
2.2.1 监听全局错误,使用外观模式记录错误日志
2.2.2 允许打开设置页面,用户自己管理授权
2.2.3 拓展:关于小游戏UI层结构的说明
2.2.4 主动进行垃圾回收
2.2.5 拓展:如何控制屏幕亮度?
2.2.6 本课小结
本章小结
第3章 本地功能优化三:插上营销和广告盈利的翅膀
第6课 添加好友排行榜,为社交营销助力 7.1k
3.1.1 实现一个游戏内玩家排行榜
3.1.2 实现好友中心玩家排行榜
3.1.3 开启游戏圈:从小游戏中进入游戏圈
3.1.4 开启客服会话:在小游戏中直接打开客服窗口
3.1.5 开启用户意见反馈通道
3.1.6 添加防沉迷机制
3.1.7 本课小结
第7课 添加广告 1.9k
3.2.1 添加Banner广告
3.2.2 添加视频激励式广告
3.2.3 本课小结
本章小结
第4章 使用云开发技术一:创建与使用云函数
第8课 创建第一个云函数 4.5k
4.1.1 配置云开发
4.1.2 开通云环境
4.1.3 在云数据库中创建集合
4.1.4 认识云函数
4.1.5 创建云函数
4.1.6 本课小结
第9课 调试和调用云函数 2.0k
4.2.1 云端测试
4.2.2 本地调试
4.2.3 调用云函数
4.2.4 本课小结
第5章 使用云开发技术二:使用云数据库读写数据
第9课 在小游戏端直接操作云数据库 2.6k
5.1.1 在小游戏中初始化云环境
5.1.2 直接操作云数据库集合
5.1.3 拓展:了解云数据库中的数据类型
5.1.4 本课小结
第11课 两种方式实现分页查询 3.2k
5.2.1 实现分页查询
5.2.2 使用聚合查询
5.2.3 使用循环的方式清空小数据集合
5.2.4 拓展:为查询字段添加索引,提升执行效率
5.2.5 拓展:了解集合的权限控制
5.2.6 本课小结
第9课 用户如何操作自己创建的数据:查询与更新 3.4k
5.3.1 查询用户自己添加的历史游戏数据
5.3.2 在调试区测试云函数
5.3.3 使用原子操作,更新用户自己创建的数据
5.3.4 拓展:关于数据库操作符和数据库聚合操作符
5.3.5 拓展:使用云文件ID
5.3.6 本课小结
本章小结
第6章 编写后端代码一:用Node.js实现接口交互及处理客服消息
第10课 准备MySQL数据库 4.0k
6.1.1 安装MySQL数据库与数据库管理工具
6.1.2 创建数据库实例
6.1.3 创建数据表history
6.1.4 拓展:了解常用的MySQL数据类型
6.1.5 本课小结
第14课 实现history的三个RESTful API(Node.js版本)8.5k
6.2.1 启动模板项目
6.2.2 熟悉node-koa2项目模板结构
6.2.3 拓展:了解RESTful API设计规范
6.2.4 实现history的三个接口(Node.js版本)
6.2.5 拓展:学习九种HTTP请求方法
6.2.6 本课小结
第15课 在小游戏前端调用Node.js接口 5.2k
6.3.1 实现后台接口管理者模块,调用history的三个接口
6.3.2 扩展新方法getOpenid,注意保持新旧代码的兼容性
6.3.3 注意小游戏与小程序接口不一定一致
6.3.4 使用外观模式实现统一的存储服务外观管理者
6.3.5 本课小结
第16课 在服务器端接收和处理客服消息(Node.js版本)7.6k
6.4.1 使用内网穿透工具frp
6.4.2 在小游戏后台启用与配置消息推送
6.4.3 实现消息推送接口(Node.js版本)
6.4.4 拓展:如何使用Linux指令查杀、重启程序?
6.4.5 拓展:如何在Windows系统上运行Linux指令?
6.4.6 本课小结
本章小结
第7章 编写后端代码二:分别用Node.js和Go语言实现Web管理后台
第17课 实现Web管理后台的导航与登录功能(Node.js版本)10.2k
7.1.1 创建数据表account
7.1.2 拓展:互联网鉴权方式简介
7.1.3 实现登录
7.1.4 添加历史记录页面
7.1.5 个人开发者使用小微商户实现支付
7.1.6 本课小结
第18课 使用Go语言实现后端接口、客服消息处理及Web管理后台 9.0k
7.2.1 使用go_iris项目模板
7.2.2 实现history的三个接口
7.2.3 使用curl测试接口
7.2.4 接收和处理客服消息
7.2.5 实现登录功能
7.2.6 实现历史记录页面
7.2.7 拓展:如何让Go语言下载模块快一些?
7.2.8 本课小结
本章小结
第8章 后端Go语言实例讲解一:环境配置、运算符和基本数据类型 57.6k
第19课 迈出Go语言编程第一步 15k
8.1.1 安装Go语言开发包(示例1~2)
8.1.2 配置Go语言编辑器
8.1.3 一个Go语言程序的基本结构
8.1.4 Go语言基本标记
8.1.5 基本数据类型及字面量
8.1.6 复合数据类型(示例3~9)
8.1.7 全局变量与形参(示例11)
8.1.8 零值与类型推断(示例9~10)
8.1.9 包(示例14)
8.1.9 注释
8.1.11 本课小结
第20课 6类运算符 3.5k
8.2.1 算术运算符(示例15)
8.2.2 关系运算符(示例16)
8.2.3 逻辑运算符(示例17)
8.2.4 位运算符(示例18)
8.2.5 赋值运算符(示例19)
8.2.6 指针运算符(示例20)
8.2.7 运算符的优先级
8.2.8 本课小结
第21课 5个基本数据类型 3.5k
8.3.1 6类数据类型(示例22)
8.3.2 数字类型(示例23~24)
8.3.3 字符串类型(示例25~26)
8.3.4 零值(示例27)
8.3.5 类型推断
8.3.6 本课小结
本章小结
第9章 后端Go语言实例讲解二:变量常量、逻辑控制语句、函数和闭包
第22课 变量、常量与作用域 5.5k
9.1.1 变量(示例28~32)
9.1.2 作用域(示例33)
9.1.3 常量(示例34~39)
9.1.4 本课小结
第23课 4种逻辑控制语句 4.6k
9.2.1 if语句(示例40)
9.2.2 if的便捷语句(示例41)
9.2.3 for循环语句(示例42~43)
9.2.4 无限循环(示例44)
9.2.5 循环控制关键字:break、continue和goto(示例45~46)
9.2.6 switch 语句(示例47~50)
9.2.7 使用select语句进行通道读写(示例51)
9.2.8 本课小结
第24课 函数 4.5k
9.3.1 函数的定义与调用
9.3.2 函数的返回值
9.3.3 函数参数
9.3.4 函数的3种特殊用法
9.3.5 使用defer在函数退出前执行代码
9.3.6 本课小结
第25课 递归函数与闭包 1.5k
9.4.1 使用递归函数实现阶乘(示例61)
9.4.2 斐波那契数列(示例62)
9.4.3 闭包(示例63)
9.4.4 本课小结
本章小结
第10章 后端Go语言实例讲解三:复合数据类型
第26课 数组(array)2.4k
10.1.1 数组
10.1.2 多维数组
10.1.3 向函数传递数组
10.1.4 本课小结
第27课 切片(slice)2.8k
10.2.1 定义切片
10.2.2 切片的零值
10.2.3 切片初始化
10.2.4 使用append 和 copy 函数操作切片
10.2.5 切片和数组有什么区别?
10.2.6 本课小结
第28课 字典(map)4.1k
10.3.1 声明字典
10.3.2 初始化字典
10.3.3 如何访问字典成员?
10.3.4 使用delete删除字典成员
10.3.5 使用泛型解决Go语言类型宽泛的问题
10.3.6 使用range遍历集合数据
10.3.7 本课小结
第29课 结构体(struct)与接口(interface)5.0k
10.4.1 认识结构体(struct)
10.4.2 定义结构体
10.4.3 声明结构体变量
10.4.4 在结构体上定义方法
10.4.5 了解Go语言的自动解引用、取引用机制
10.4.6 访问结构体成员
10.4.7 结构体指针
10.4.8 将结构体指针作为函数参数传递
10.4.9 定义接口(interface)
10.4.9 以接口作为变量类型
10.4.11 空接口(interface{})
10.4.9 本课小结
第30课 指针与错误(error)5.2k
10.5.1 认识指针
10.5.2 4种常见的指针操作
10.5.3 空指针
10.5.4 指针数组
10.5.5 使用非安全指针操作数据
10.5.6 了解unsafe包的3个指针函数和Go语言的3类指针
10.5.7 将指针作为函数参数
10.5.8 错误(error)
10.5.9 本课小结
本章小结

教学资源推荐
作者: 宋存利 张雪松 编著
作者: John R.Hubbard
作者: [美] 卢博米尔·佩尔科维奇(Ljubomir Perkovic) 著
参考读物推荐
作者: [美]托马斯·厄尔(Thomas Erl) 罗伯特·科普(Robert Cope) 阿敏·奈瑟鲍尔(Amin Naserpour)著
作者: 杨洁 郭占鑫 刘康 熊谱翔 著
作者: 赵军 等编著