新書推薦:
《
高术莫用(十周年纪念版 逝去的武林续篇 薛颠传世之作 武学尊师李仲轩家世 凸显京津地区一支世家的百年沉浮)
》
售價:NT$
250.0
《
英国简史(刘金源教授作品)
》
售價:NT$
449.0
《
便宜货:廉价商品与美国消费社会的形成
》
售價:NT$
352.0
《
读书是一辈子的事(2024年新版)
》
售價:NT$
352.0
《
乐道文库·什么是秦汉史
》
售價:NT$
367.0
《
汉娜·阿伦特与以赛亚·伯林 : 自由、政治与人性
》
售價:NT$
500.0
《
女性与疯狂(女性主义里程碑式著作,全球售出300万册)
》
售價:NT$
500.0
《
药食同源中药鉴别图典
》
售價:NT$
305.0
|
編輯推薦: |
(1)作者权威:微信学堂“小程序性能优化实践”作者李艺新力作,腾讯云TVP专家,中移联合智库ICT专家级讲师,前北京协同创新研究院人工智能课题项目技术负责人。(2)7位专家推荐:蒋涛、熊平、黄希彤、廖雪峰、陈超、寇永赞、舒欣。(3)内容丰富,深刻全面:等于《从零起步学JS》+《微信小游戏基础开发》+《微信小程序云开发》+《微信小程序Node.js+Go全栈开发》4本书。(4)实战式拓展:不直接说教,通过一个个刻意设计的小功能案例,让读者自己实践、领悟、逐步突破、适当拓展,从而做到印象深刻、循序渐进、全面掌握。
|
內容簡介: |
“微信小游戏开发”系列图书包含《微信小游戏开发:前端篇》和本书,融合了腾讯云TVP李艺多年来的一线项目研发和教学经验。本书在前端篇的基础上,继续讲解微信小游戏开发后端部分的内容,主要包括本地功能开发、云开发实践、后端程序编写等,最终让读者掌握微信小游戏全栈开发的知识体系与核心技能,并完成一个精心设计的实际项目。本书随附完整的项目源码,以方便读者学习和实践。
本书共7章,主要内容如下。
第1~3章 本地功能
学习微信小游戏开发,少不了要学习平台组件和接口。这3章主要介绍如何利用平台组件和接口实现微信小游戏开发中常用的本地功能,比如读写本地缓存和本地文件、显示用户的位置信息、添加背景图片、监听并记录错误、添加排行榜和广告等。通过这3章的实践,我们将使小游戏项目的本地功能更加完善,同时进一步了解微信小游戏的平台能力,为以后自学平台组件和接口打下基础。
第4、5章 云开发
云开发可以显著降低运维成本和运维复杂度,对于独立开发者来说尤为适合。云开发技术一直在快速演进,不断有新功能、新接口出现。在这两章中,我们将进行基础云开发(云函数、云数据库、云存储)方面的实践,了解其运行机制,这样无论以后云开发技术如何推陈出新,我们都能快速掌握并运用。
第6、7章 后端
编写后端程序是重中之重。在这两章中,我们在保证技能实践的全面性的前提下,尽量将内容简化。我们将使用两种常用的后端技术Node.js和Go编写同一套接口,实现相同的后端程序功能。在编写后端接口程序和Web后台管理程序时,书中提供了分别基于koa2(Node.js Web框架)和Iris(Go Web框架)的快速开发项目模板,即使你是初学者,也能很快入门。
|
關於作者: |
李艺 腾讯云TVP,有近20年互联网软件研发经验,参与研发的音视频直播产品曾在腾讯QQ上线,有数千万人使用;是中移联合智库ICT专家级讲师,一汽大众等企业内训讲师,北京协同创新研究院人工智能项目技术负责人。国内早期闪客之一,曾自定义课件标准并完成全平台教育课件产品研发,被Adobe官方选为中国社区管理员。业余喜欢写作,创建微信公众号和视频号“艺述论”,用以分享技术教程,是微信学堂“小程序性能优化实践”和极客时间“微信小程序全栈开发实战”的专栏作者,著有《小程序从0到1:微信全栈工程师一本通》等书。
|
目錄:
|
目 录 Contents
序一
序二
前言
第1章 本地功能:本地存储与
LBS定位1
第1课 读写本地缓存1
创建数据服务单例,实现本地数据
读取2
拓展:使用Storage面板管理本地
缓存数据4
面向Promise编程:异步转同步5
如何清除本地缓存12
本课小结13
第2课 使用FileSystemManager读写
本地文件13
读写本地文件,实现数据服务模块14
面向Promise编程:避免使用try catch17
本课小结20
第3课 使用腾讯位置服务显示用户
城市20
使用腾讯位置服务21
拓展:小心隐藏字符错误27
解决回调函数简写引发的错误28
使用异步转同步技巧重写LBSManager29
本课小结30
第2章 本地功能:优化游戏体验
与性能31
第4课 优化游戏体验:添加背景图片
和顶级UI层31
添加适配不同机型的背景图片31
使用有限字符的自定义字体35
在左挡板失误时振动37
监听并处理背景音乐的意外暂停39
使用一个暂停按钮,控制游戏的暂停
与恢复41
解决游戏暂停后定时器不暂停的问题47
添加游戏顶级UI层,实现退出功能51
本课小结58
第5课 优化游戏性能:监听全局错误,
记录错误日志59
监听全局错误,使用外观模式记录
错误日志59
允许打开设置页面,用户自己管理
授权66
拓展:关于小游戏UI层结构的说明68
主动垃圾回收68
拓展:如何控制屏幕亮度69
本课小结70
第3章 本地功能:添加排行榜和
广告71
第6课 添加好友排行榜,为社交
营销助力71
实现一个游戏内玩家排行榜71
实现好友中心玩家排行榜82
开启游戏圈:从小游戏中进入游戏圈83
开启客服会话:在小游戏中打开客服
窗口86
开启用户意见反馈通道87
添加防沉迷机制88
本课小结91
第7课 添加广告92
添加Banner广告92
添加视频激励式广告93
本课小结94
第4章 云开发:创建与使用云函数96
第8课 创建第一个云函数97
配置云开发98
开通云环境99
在云数据库中创建集合101
认识云函数102
创建云函数103
本课小结105
第9课 调试和调用云函数106
云端测试106
本地调试109
调用云函数111
本课小结112
第5章 云开发:使用云数据库113
第10课 在小游戏端直接操作云
数据库113
在小游戏中初始化云环境113
直接操作云数据库集合114
拓展:了解云数据库中的字段类型118
本课小结120
第11课 用两种方式实现分页查询120
使用分页查询方法121
使用聚合查询方法123
使用循环的方式清空小数据集合126
拓展:为查询字段添加索引,提升
执行效率127
拓展:了解集合的权限控制128
本课小结129
第12课 用户如何操作自己创建的数据:
查询与更新129
查询用户自己添加的历史数据130
在调试区测试云函数133
使用原子操作,更新用户自己创建
的数据133
拓展:关于数据库操作符和数据库
聚合操作符136
拓展:使用云文件ID137
本课小结138
第6章 后端:用Node.js实现接口
及处理客服消息139
第13课 准备MySQL数据库141
安装MySQL数据库与数据库管理
工具141
创建数据库实例142
创建数据表history143
拓展:了解常用的MySQL数据类型146
本课小结149
第14课 实现history的3个RESTful
API(Node.js版本)149
启动模板项目149
熟悉node-koa2项目模板结构150
拓展:了解RESTful API设计规范160
实现history的3个接口(Node.js
版本)162
拓展:学习9种HTTP请求方法166
本课小结167
第15课 在小游戏端调用Node.js接口167
实现后台接口管理者模块,调用
history的3个接口167
扩展新方法getOpenid,注意保持
新旧代码的兼容性171
小游戏与小程序接口不一定一致174
使用外观模式实现统一的存储服务
管理者178
本课小结181
第16课 在服务器端接收和处理客服
消息(Node.js版本)181
使用内网穿透工具frp181
在小游戏后台启用与配置消息推送187
实现消息推送接口(Node.js版本)188
拓展:如何使用Linux指令查杀、
重启程序192
拓展:如何在Windows系统上运行
Linux指令193
本课小结196
第7章 后端:用Node.js和Go
实现管理后台197
第17课 实现导航与登录功能
(Node.js版本)197
创建数据表account198
拓展:互联网鉴权方式简介199
实现登录200
添加历
|
內容試閱:
|
在极客时间成立四周年之际,笔者在该平台上分享过这样一段话:
我是一个砌石阶的人。2021年国庆节我在赶书稿时,看着最终敲定的复杂代码,突然确信—我所撰写的这套技术图书对读者来说是有价值的。其价值就在于整套书都在写一个PBL(Project Based Learning,项目引导式学习)实战案例,从最开始的3行代码,到最终的几万行代码。试想一下:如果要求学习者直接以结果代码为模板进行练习,那肯定不太友好;但如果是让学习者跟着笔者讲解的节奏,从基础代码一步步修改得到结果代码,那他应该会很有成就感吧。
学编程就像登山,只要一步一个脚印坚持往上爬,就可以到达山顶。泰山虽高,但只要一步一级台阶,终可看到山顶无限风光;而如果有人不走台阶,从荒山野岭中攀爬,那他将很难爬上去。
这本书及它的姊妹篇《微信小游戏开发:前端篇》就在这种指导思想下完成了。
很多程序员坦言,他们的编程技能并不是在大学里学到的,而是在走向工作岗位以后练就的。在IT公司中,新人成长最快的方式就是有人带,师傅带着徒弟做一个项目,等到项目完成时,徒弟也就将编程技能掌握得差不多了。笔者希望以书面的形式带领读者来学习,就像公司里老人带新人一样,通过一个PBL实战项目,系统地学习与前后端相关的所有知识点和技能点。
为什么要这样学习呢?下面先看一下新人学习编程一般需要经历的5个阶段。
初学者进入一个行业,首先要学习基础知识。有了基础知识,才能通过实践不断积累经验和技能;有了积累,最后才有可能顿悟。这个过程涉及5个阶段,这5个阶段可以用我国的古代典籍《易经》中的描述来概括。
初九,潜龙勿用。
九二,见龙在田,利见大人。
上六,龙战于野,其血玄黄。
九五,飞龙在天,利见大人。
上九,亢龙有悔。
这里的五段爻辞分别对应着编程学习的以下5个阶段。
“潜龙勿用”指的是神龙潜伏于水中,暂时还发挥不了作用。此时学习者刚学会了一点皮毛,不要着急应用。
“见龙在田,利见大人”指的是神龙已出现在地面上,才干已经初步显露出来,利于被伯乐看到。此时学习者已经习得了一些本领,但根基尚不牢靠。
“龙战于野,其血玄黄”指的是神龙战于四方,天地亦为之变色。此时学习者已经通晓了面向对象、模块化、设计模式等基础编程技能,可以独立负责一个项目或维护一个开源软件了。
“飞龙在天,利见大人”指的是神龙飞上天空,象征德才兼备的人一定会有所作为。此时学习者的知识已经具备相当的深度和广度,知识结构更加完善。
“亢龙有悔”一般意为居高位的人要戒骄,否则会因失败而后悔。这里指的是神龙飞得过高,可能会发生后悔的事。虽然此时学习已经基本结束,但是不要觉得学完了就万事大吉,有些内容需要反复温习,经过长期积累才能顿悟,产生新的认知。
了解了这5个阶段以后,有的读者可能会问,我们在学习编程时,是应该先学习基础知识再学习具体的开发技术,还是应该先学习一门具体的开发技术再在工作中夯实基础呢?这是一个老生常谈的问题。
关于如何学习编程,一直有自下而上与自上而下的方式之争。自下而上的学习方式,指的是先学习计算机基础知识,再学习具体的某项技术;自上而下的学习方式则是反过来,指的是先学项具体的技术,再在工作中夯实基础。
笔者的主张是,运用PBL教学思想,在一个虚构的实战项目中将理论与实践相结合,同时学习基础知识与具体的技能。
2020年由北京市十一学校牵头,北京怀柔九渡河小学做了一次PBL教学实验。九渡河小学远离城区,师资力量薄弱,学校就地取材,从附近村民中招揽了40余位传统手工艺人,让这些手工艺人教学生们磨豆腐、剪纸、糊灯笼等传统手艺。学校老师则把1至6年级需要学习的所有知识点打散,然后全部融入这些传统的手工艺实践活动中,让学生在实践活动中学习。教学实验非常成功。
在编程这个领域,学习者根本不需要考虑应该自下而上学习还是自上而下学习。以往旧的学习方式,无论是在学校里按部就班地学习基础,还是在社会培训机构里实践应用技能,都存在一定的偏差。最好的编程学习方式是在一个PBL教学案例中,既学习基础知识,又锻炼必要的技能,这也是最接近于公司里老人带新人的学习方式。
关于这套书
笔者撰写的这套“微信小游戏开发”系列图书共包含两本:一本是《微信小游戏开发:前端篇》,主要通过一个小游戏实战项目,带领读者从3行代码开始,一步步学会JavaScript(下文简称JS)语言、模块化重构、面向对象的软件设计技巧及常见设计模式的实际应用技巧;另一本就是本书,主要内容包括小游戏常用本地功能优化、广告组件与社交营销排行榜、云函数与云数据库、后端接口程序及后台Web管理系统等。前面提到的5个学习阶段—潜龙勿用、见龙在田、龙战于野、飞龙在天和亢龙有悔,前4个阶段正好对应这两本书中的四篇内容。其中:《微信小游戏开发:前端篇》含潜龙勿用、见龙在田、龙战于野这三篇,共11章,32课;《微信小游戏开发:后端篇》即飞龙在天篇,共7章,18课。亢龙有悔篇作为番外篇,在笔者公众号“艺述论”中回复关键字10000即可
看到。
微信小游戏是当下最适合新人学习的编程技术,所以笔者选择它作为本套书的练习项目。表面上读者学习的是微信小游戏项目开发,但实际上却是在系统学习编程语言、技巧及思想,小游戏项目仅是作为一个最适合新人的学习形式而存在的。
两本书的讲解风格、写作指导思想是一致的,内容是连贯的,练习的也是同一个项目,对于编程初学者而言,宜先阅读前端篇,再学习后端篇。
本书主要内容
后端开发是全栈开发中非常重要的一环,不可或缺。本书主要讲解微信小游戏后端开发实战,共7章。
第1~3章 本地功能
这3章主要介绍在微信小游戏开发中常用的本地功能。学习微信小游戏开发,离不开学习平台组件和接口。通过这3章的实践,我们将能使小游戏项目在本地功能方面更加完善,同时进一步了解微信小游戏的平台能力,为以后自学全部平台组件及接口打下
基础。
第4、5章 云开发
云开发可以显著降低开发者的运维成本和运维复杂度,对于独立开发者来说尤为适合。云开发技术一直在快速进化,不断有新能力、新接口出现。在这两章中,我们将进行基础云开发(云函数、云数据库、云存储)方面的实践,了解其运行机制,这样无论以后云开发技术如何推陈出新,我们都能快速掌握和运用。
第6、7章 后端
这两章主要讲解如何编写后端程序,是重中之重,我们尽量将实践内容简化,同时保持技能实践的全面性。我们将用两种常用的后端技术Node.js和Go编写同一套接口,实现相同的后端程序功能。Node.js是“后端的JS”,好入门、易上手、应用广泛,值得学习;Go语言天生支持高并发,被称为“互联网时代的C语言”,是全栈工程师必学语言
之一。
读者对象
每一本书都有它特定的读者,本套书面向编程新人,主要包括以下人群。
大中专院校的在校学生及编程培训机构的初学人员。
准备转型开发的运维人员和产品经理。
在阅读过程中如果感到吃力,可以先学习番外篇中的计算机基础、JS语言语法和Go语言语法等内容。这些内容在笔者公众号“艺述论”中回复相应关键字即可看到。
如何学习本书
本书基于PBL教学理念撰写,以一个小游戏项目贯穿始终,内容由易到难,建议初学者按部就班地从前向后依次学习。为了启发读者思考,书中特意增加了以下两类内容。
原因探索引导。读者在书中可能会看到一些运行错误,这些错误是我们在实际开发中经常会遇到的,这时适合停下来,想一想为什么会出现这样的问题,应该如何解决。
拓展内容。书中凡标题中带有“拓展”字样的小节都属于实践拓展内容,这些内容与当前的实践密切相关,有助于加深对当前实践主题的理解。
本书附有随书示例源码供读者下载,关于源码的使用,有以下两点说明。
示例源码是分目录独立放置的,各目录下的示例互不影响。代码顶部一般都附有源码文件的相对地址,另外当某课内容涉及代码运行及测试时,也会提示示例的相对目录,读者只需查看对应的示例即可。
对于不同语言的示例源码,需要使用不同的测试方式。如果是JS代码,可以使用Node.js或babel-node测试;如果是小游戏项目源码,则需要通过微信开发者工具测试。具体如何使用,书中都有详细讲解。
如何获取更多资源
为方便读者学习,本套书为读者提供以下额外资源。
项目源码与读者交流群
关注笔者的微信公众号“艺述论”,回复关键字10000即可下载所有随书示例源码。同时,还能看到读者交流群的入口。欢迎所有读者进群交流。
为了避免因为软件版本差异给读者带来不必要的使用困惑,笔者将书中用到的所有软件也放在了源码包中,下载后在software子目录下即可看到。
|
|