在知乎上有一篇3w+点赞的,是关于如何自学编程的文章(编程路上那些让我效率暴增的学习方法!),我是在《微信小游戏开发》书稿完稿以后看到的这篇文章,当时看到以后就转发到我的读者群了,写得太好了,把新人在学习过程中经常遇到的困难都写明白了,痛点实际且深刻,获得3w+点赞不足为奇。
以下以这篇文章提到的主要痛点为脉络,讲一讲新人如何利用《微信小程序开发》这本书,主要靠自学编程,成为一名微信小游戏独立开发者。
科班出身长于何处?
科班无任何显著长处,这一点西安交通大学校长王树国校长已经批判过了,网上有视频,你感兴趣可以自行找出来看一下。
不要迷恋科班出身,由于大学计算机教育教材的严重滞后后,科班出身的计算机毕业生并不一定比非科班出身的知道的更多。如果硬要总结,科班出身在认知上主要长在三项上:
- 知道每门功课是干什么,要学什么;
- 被老师用随课测验、课后作业等形式,逼着做过一些小项目或小题目,有一些实践带来的手感,实践对于编程学习十分十分重要;
- 一份来自“我是大学生科班出身”的自信,虽然这份自信没有理由,多数时候还可能演化为自负。
在《微信小开发开发》这套书中——以下简称本书,我为读者明确了“成为一名微信小游戏独立开发者”的目标,确定了“具体需要学什么,及怎么学”的问题,至于实践与练习,整套书都是一个PBL项目的实战,学习本身就是在实战中完成的。
至于来自科班出身的那份自信,别人给不了你;但如果你按照自学讲义认真实践,或许可以获得另外一种来自于自学编程的自信,毕竟半途而废的人太多了,这份自信也很珍贵。
选择什么编程语言?
这是一个伪问题。
从这张截图可以得到以下几点信息:
- 学习编程从来都不是学习某一门编程语言,而是在学一个计算机生态,学的是一个宠大的电子计算机体系,这样的体系可以简单用技术栈代称;
- 学习哪一个技术栈,跟自己的目标和自己的职业身份有关系,例如想从事金融算法或机器学习的工作,可以学Python;如果是大一新生,时间充足,可以从C语言打基础;如果想开发Web,可以学习PHP、Java、Go语言。但这些目标都太宽泛了,目前到了2023年,编程语言也有了新的发展与变化,目前学习什么,也需与时俱进。
在本书中,我替读者明确了成为微信小游戏独立开发者是学习目标,那么小游戏技术栈便成为了读者的学习目标,该技术栈包括但不限于以下具体学习内容:
- JavaScript语法
- HTML5(包括基础的HTML & CSS3),用于经典HTML5游戏移植,这是新人最快、最省力的进入小游戏开发领域的方式
- 模块化的重构技能、面向对象与使用设计模式的重构技能,重构是不断优化游戏体验的必备技能,也是老生常谈的架构师角色的基本技能
- 微信小游戏平台组件与接口的调用
- 微信小游戏云开发能力的使用
- Go、Node.js后端接口编写,及Web管理后台开发
- Go语言语法
- 编程规范
- MySQL数据存储
- 计算机运行原理、小游戏代码调试方法、网络通讯协议、RESTful接口设计规范等
成为一名微信小游戏独立开发者,知道要学习这些具体内容没什么,但从网上搜索到许多相关的教程,或者从京东上购买许多本书籍,然后再一一完成学习就太难了。
现在这些你都不需要做了,只需要购买一套《微信小游戏开发》,就可以入门微信小游戏技术栈的开发了,简单吧?
用购买其它N本书籍总价十分之一的价格,就可以购买这套书。当你在京东或其它网店看到这套书(加上番外篇)有1000多页,及总价过百时,不要惊讶,惊讶可能只是代表你还不知道自己应该学啥。从京东商城里随便找10本计算机相关的书,然后把它们的页数和价格加在一起,看看是多少?
选择什么样的学习方式?
项目驱动式学习,基本已经成为技能学习的最佳方式,虽然许多读者可能还不知道它或者不认可它。但实际上,在项目驱动式学习之上,还有一个更好的方式。
从这幅截图里面,至少可以读出以下信息:
- 大学本科教育是面向“面”的教学,让大学生在许多方面都学一点,却不会在某一个垂直细分方向上深入教学,而毕业后走向工作岗位或作为独立开发者需要的却是某个细分领域特别精准与垂直的技能。你越在某个细分领域突出,你的职业优势或作为独立开发者的睡后收入就越多;
- 项目驱动式学习,是目前公认的学习编程技能最好的方式,但这个方式也有缺陷:它使学习者的知识比较零碎,在进行了一段项目实践以后,需要特意地找书进行一段理论学习。这里其实还隐含了另一个缺陷,就是对于初学者,在你没有充分认知又没有师傅带的时候,你怎么知道应该找补哪些理论呢?甚至对于练习项目的选择,都有可能因为难度选择不当而半途而废。
在本书中,在两个方面解决了这个问题:
- 本书项目是一个整体的实战项目,这已经知道了,还有就是这个项目它是刻意按照从易到难的次序进行编排的,对于初学者而言,先易后难,稳步前进,总是更加容易的;
- 书中每进行一段实战练习之后,都有一段相关的拓展,如下所示,拓展即与实践相互补充的理论学习。
这是一张书中内容的截图。看到了吗?实战之后是拓展。除了拓展,还有练习,练习也是与当前实战相关的,也是为了巩固当前所学内容的。
如何安排学习计划?
接下来要讲的学习方式,不仅适用于微信小游戏技术栈的学习,学习其它技术也适用。
从这张截图中可以看出来,这位作者善于制定计划,并且善于在学习过程中记笔记。这至少可以给你两点启示:
- 学习一定要有计划。为了方便读者制定学习计划,本书目录采用了“课”的方式进行设计,全套书共有93课,读者坚持每天学习一课即可,学有余力也可以加快速度;
- 为了辅助读者练习,我还编写了一套90个步骤的自学讲义(在公众号艺述论回复10000就可以看到)。读者每学习一步,每完成一步的练习,就亲自编写一个学习笔记,这叫费曼学习法,是全世界公认最快的学习方法。读者在编写学习笔记时,可以参照我给你准备的自学讲义,对照内容及格式,查漏补缺。
看视频还是看书?
这个问题其实不是问题。
看视频比较详细,但时间可能长;看书比较快,但涉及操作的地方可能不易看明白。没必要一定要二选一,二者完全可以结合起来,容易的地方就看书,感觉困难了不好接受就翻翻视频。
读者在学习本书时,可以先以“书+讲义”的形式为主。作者有计划录制一套教学视频,看读者需要,如果这方面需求的人多,会提前开展录制工作。如果将来有视频,在公众号艺述论回复关键字10000时可以看到视频合集链接。
如何通过微信热度搜索热门游戏
“微信热度”是一个微信小程序,可以在上面查看关键词热度,例如今天“微信小游戏”的热度为:
热度不小,且有很大的日环上升。“微信小游戏”热度上升,一般与小游戏有关,例如之前微信小游戏“羊了个羊”火爆的时候,该词汇曾一度猛烈窜升。
那么,如何确定当下的热度升高是与哪些游戏或因素相关的呢?
可以通过百度指数(index.baidu.com)查看“微信小游戏”的需求图谱,如下所示是今天的查询结果:
从截图中可以看出,“微信挑一挑”、“合成大几把”是入圈的微信小游戏,还有“羊了个羊”热度依然不减。近期“微信小游戏”热度攀升,它们都脱不了干系。
新人开发者刚跨入小游戏的开发领域,除了前面讲过的,通过“书+自学讲义”把技术栈学习好以外,还需要关注当下流行什么样的小游戏题材,这些游戏是学习与借鉴的榜样。
一般而言,从HTML5小游戏领域进行移植或进行微创新改造,是最容易出成绩的方式。国家著作权保护法有明文规定,法律保护图片、音乐等游戏素材,但是不保护创意,大众喜欢的游戏创意人人都可以学习。
在本书中,开始的部分特意安排了从HTML5向微信小游戏移植的内容,便是为了新人读者更容易起步。
在学习过程中,如果遇到困难,可以进读者修仙群与其他道友一起探讨,也可以在公众号私信我参加1v1编程辅导。
【参考链接】
- “编程路上那些让我效率暴增的学习方法!》知乎链接:zhuanlan.zhihu.com/p/34418394
以上内容是对新书《微信小游戏开发》(李艺著)撰写形式及成书过程的解读。该书已在京东上架,如果你想成为一名独立的微信小游戏开发者,想从微信小游戏开始自学编程,可以前往商城自行购买,收货后如果觉得好别忘记点个赞。