前 言 Preface为什么要写这本书2017年4月22日,我在知乎发起了一场“零基础周末学习小程序开发”直播,从当晚8点开始,我一边撰写教程笔记,一边与500多位学员在线互动。教学从注册账号开始,接着是下载微信开发者工具,然后创建个quick start项目,最后编写后端代码,并在微信上运行和测试所开发的小程序。从那天晚上到第二天凌晨4点,我发出了7篇教程。
在这场直播中,我原本以为大家会提问一些诸如页面如何跳转、数据如何缓存等技术问题,但是大家提的却大都是一些有关小程序的边缘问题,诸如如何下载和安装小程序、如何获得小程序内测资格等。
不少学员尚不知道小程序已于2017年1月9日正式上线;并且,个人也能注册账号;所谓的200个小程序内测资格已经成为过去式了;而且小程序不需要下载安装。
很多学习小程序开发的学员甚至毫无编程基础,他们对如何开发一款小程序一无所知。由此我意识到,小程序初学者最迫切需要的并不是复杂和高深的教程,而是一本简单而全面地介绍小程序开发的图书。全面与快速入门是其需求,基于此,笔者编写了本书。
小程序不是一门语言,它是一门新的综合应用技术。小程序无须下载,不用安装,拿来即用,正所谓“事了拂衣去,不留身与名”。凡是接触过原生iOS、Android应用开发的读者,都能理解传统开发技术带给开发者的痛苦,如机型繁多、适配困难、审核周期长(iOS应用),等等。
达尔文说过,“自然界生存下来的,既不是四肢最强壮的,也不是头脑最聪明的,而是有能力适应变化的物种。”
国内App的运营成本一直在增长,目前获取一个新用户的成本甚至高达30元人民币。在这种环境下,微信的小程序应运而生。从小程序的更新历史来看,微信之父张小龙打造新技术生态圈的决心是异常坚决的。随着小程序技术的成熟,开发者社区的形成,在批小程序开发者赚到桶金时,这一新技术的火爆才刚刚拉开帷幕。
2017年3月27日,微信小程序开放了个人账号申请,从此以后,不是企业也能开发小程序。
2017年3月28日,微信小程序开放了蓝牙、卡券、获知访问场景、共享微信通讯录等功能,并支持JS ES6新语法。
2017年4月17日,微信小程序代码包的大小限制由1MB提升到2MB,开放了第三方平台开发小程序的功能,开放了数据分析接口。
2017年4月20日,微信小程序对所有公众号都开放了关联小程序的功能。
2017年4月25日,微信小程序开放了公众号推送文章可插入小程序的功能。
2017年5月19日,微信小程序可支持蓝牙。
2017年6月21日,微信小程序开放了打开另一个小程序的功能。
2017年7月11日,微信小程序添加了富文本支持。
……随着微信小程序不断开放新接口与新功能,小程序的开发社区正在逐渐形成。学习一门新技术最好的契机,正是其方兴未艾之时。无论是初入校园的大一新生,还是刚刚走上工作岗位的职场新人,此时学习小程序技术,正是最佳良机。你与有数十年编程经验的老手站在了同一起跑线上,因为小程序对所有人来说都是全新的技术。今天的菜鸟,未必就不能成为明日高手。
根据我在小程序培训中的观察,初学者最大的痛点是感觉技术太杂,要学的东西太多。买了一堆书堆在桌上,学完这个又学那个,难于将其融会贯通。行程未远,激情已耗大半。目前市面上还没有一本书从前端到后端、全面介绍小程序的开发技术,已有的书籍有的介绍了小程序组件而未介绍JS语言,有的介绍了JS语言却未讲解如何开发服务端程序,而本书首次全面介绍了小程序所需要用到的所有技术,从小程序组件到WXSS样式,从前端JS语言到后端Go语言,通过实战案例,由浅入深地介绍小程序开发涉及的所有内容,帮助读者快速成长为一名真正的微信全栈工程师。
读者对象高校毕业生,中专技校毕业生。
工作1~2年的、渴望获得加薪技能的职场新人。
渴望以软件开发为谋生手段的自由“手艺”人。
准备报名或已参加小程序开发培训班的读者。
有人说,大学里最美好的事情就是找到一个喜欢的人,认认真真地谈一场无关名利的恋爱。但大学里不只有恋爱,在新学期伊始就开始学习小程序开发吧,这将是送给四年后的自己最好的礼物。许多人后悔在2007年款iPhone发布时没有开始学习iOS开发,只能羡慕那些早期的iOS开发者获得平台的初期红利。现在小程序来了,企业市场对小程序的需求越来越旺,学好这门实用的技术,毕业后就不怕找不到工作;如果向往自由的生活,不想在公司打工,还可以自己接单,做SOHO一族。如果学得好,那么在校期间就可以接单,成为一名自食其力的编码“手艺人”。
如何阅读本书本书主要包括四篇,内容分布如下。
篇,即第1章学前准备,讲解了小程序开发环境的准备及账号的注册。完成第1章的学习相当于取得了小程序技术殿堂的入场券。
第二篇,第2~10章,本篇是项目实战部分,其中第2~6章讲解小程序前端案例,使用了后台地址但未涉及后台编程;第7~10章在已有案例的基础上添加了后端程序的支持。先学习前端,再学习后端,每次专注一个点学习,更易理解和掌握。
第三篇,第11~14章,本篇详细地讲解了所有小程序组件的使用方法,所附示例几乎全部都是生产可用的,这就大大降低了初学者在美工上的学习门槛。
第四篇,第15~17章,本篇是综合练习部分,系统地介绍了JS语言、Go语言、WXSS样式语法等必备知识与技能。这3章既可作为工具手册,以备开发查询之需;每一章节又都有独立的练习代码,可便于读者利用课余或业余的碎片时间提高编码水平。
学习指引:
1.读者从第1章开始到第14章,逐章学习,并运行测试所有的实例。每一章都附有源码,读者在学习的过程中如果遇到问题,可以下载作者的源码对照学习。
2.待前14章全部学完,进入第15~17章的综合学习。在这个阶段的学习过程中,不妨直接用新学的知识直接深入修改前面业已完成的示例,将本书的示例变成自己的示例。如果有时间,建议将修改过程以博客的形式记录下来,并在社区发表,可以此加深印象。
小组学习我至今最为怀念的时光,便是大学里和两位好友在机房里通宵学编程的日子。我们三个人相互鞭策又相互欣赏,经常比较谁的代码写得更优雅,谁的代码执行效率更高。
我希望每个读者都能找到朋友或同学组成一个学习小组,或2人,或3人,共同学习,相互激励,这样学习的效率和动力会高许多。孔子曰“三人行,必有我师”,诚不我欺。
勘误由于作者水平有限,写作时间又很仓促,书中难免有不妥之处,恳请读者批评指正。
如果读者在阅读过程中发现了问题,或者有什么疑问,欢迎与作者联系。作者的邮箱是
[email protected]。
微信公众号在学习本书的过程中,也欢迎加入作者的小程序微信群,关注微信公众号“艺述思维”,回复“小程序”就能加入。未来作者会举办读者线下交流会,请留意群内通知。
致谢感谢机械工业出版社华章公司的杨绣国老师,她的认真和敬业令我折服。
感谢支持我进行《艺术论》创作的老杨同志、何超超、云哥、琥珀人生、杨龙晨等微信好友,感谢李萌、李书卫、南阳著名甲骨文书法家郝新安、国画家彭航、邯郸著名书法篆刻家杜文平、开封著名书法家王德云等130位日行一刻艺术天使们两年来的默默支持。
感谢所有读者,希望这本书对您的学习有所帮助。
石桥码农2017年7月于北京月亮河