小程序,巧应用:微信小程序开发实战
上QQ阅读APP看书,第一时间看更新

前言

随着移动互联网的兴起,互联网作为一种信息技术在传统社会与传统工业中发挥的作用,越来越强大,互联网与整个社会运作正在加速深度融合。“互联网+”的趋势显而易见,政府、社会组织、企业以及个人,都对移动互联网时代的融合或转型充满期待而又心怀忐忑:移动化的场景如何结合?是否有足够的移动应用开发能力?即便场景与能力都满足,是否能应对获取用户成本、打开频率等移动互联网运营的巨大挑战?

好在我们有微信!这是一款为移动时代而生,让世界互联网震惊的中国创新应用。经过5年多的发展,微信已有超过8亿月活用户且仍在不断进化与演进,是移动时代当之无愧的超级App王。更加幸运的是,腾讯的微信团队源源不断地将微信的能力开放出来,为我们提供了融合与转型的超强连接力。

2016年1月在广州举办的微信公开课上,“微信之父”张小龙在他演讲的最后一部分,宣布将推出“应用号”。小龙提到:“我自己当了多年程序员,我觉得我们应该为开发团体做一些事情。”至于“应用号”的样子,小龙当时的大概表述是“类似于公众号,但比公众号更便捷、更好找,有更容易使用的形态”。这就是微信小程序的由来。

历时8个多月,在2016年9月21日,微信小程序公布开启“内测”。随即这个内测消息便刷爆了朋友圈,我在接下来的数天内便接到不下30个“求内测邀请码”需求留言,小程序火爆程度可见一斑。由于微信团队首批仅开放了200个内测号,物以稀为贵,网络上不久就有传言:转让某个带小程序功能的微信号,账号有30.7万女粉丝,起拍价300万。

2016年11月3日,小程序正式开放公测。我再次在朋友圈刷屏中体验到了“小程序”的火爆,感受到了开发者、企业以及市场对微信小程序的好奇、疑惑,同时也感受到大家在移动浪潮中拥抱变化的期待。

微信官方页面指出:“小程序可以在微信内便捷地获取和传播,同时具有出色的使用体验。”张小龙在小程序内测首发当天,也在朋友圈给出了解释:小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开。这也体现了“用完即走”的理念,用户无须担心安装应用过多的问题。应用将无处不在,随时可用,但又无须安装卸载。

移动互联网时代的微信应用不可或缺,微信小程序切合了时代需要,毫无疑问会成为政府、组织机构、企业以及开发者必争的互联网应用场景。微信小程序必将再一次扩展微信强大的“连接力”,帮助我们解决现有服务痛点,或者发掘、衍生出新的商业模式,帮助行业、企业以及政府机构改善服务或实现“互联网+”转型。

感谢微信团队,为我们带来微信小程序这个新生事物。绝大部分场景下,不用单独开发App的时代来临了。那么如何开发小程序?如何将现有的服务或场景与小程序结合?

由于小程序是新生事物,基本上多数人都无经验可言。与小龙一样,我觉得此时有必要为所有对小程序感兴趣、有期待的朋友,提供一些有关小程序开发的指南,这是一件非常有意义的事情。

由于我在工作上与微信团队联系紧密,沟通频繁,有近水楼台优势;而且对腾讯业务有相对全面的了解,熟悉丰富的应用场景,学习了大量小程序项目案例。

自小程序内测开启以来,我们更是夜以继日,同步研读与理解微信团队的文档,梳理开发逻辑,测试各个场景案例,希望尽早奉献给大家一本从入门到精通的小程序开发大全。

我们尝试通过本书将我们的先发优势发挥出来。由小程序的框架、语法、函数及API开始,结合丰富实用的案例,帮助大家熟练掌握小程序的开发与应用,并探讨小程序的适用范围以及未来优化演进的方向。

本书读者对象包括:

■ 前端开发工程师

■ 微信应用开发者

■ 移动开发爱好者

■ 计算机相关专业的学生

如何阅读这本书

作为“开放连接体系”的一环,微信团队为小程序提供连接标准与规范,最大限度地降低了开发门槛,但开发小程序还是需要一定的“专业开发能力”与程序开发的理解力。

微信小程序的开发是基于框架的。因此,开发者首先要理解“框架”(framework)的概念。

从软件设计角度,框架是一个可复用的软件架构解决方案。框架规定了应用的体系结构,阐明软件体系结构中各层次间及其层次内部各组件间的依赖关系、责任分配和控制流程,框架表现为一组接口、抽象类以及实例间协作的方法。

框架一般是成熟、稳健的,可以处理系统中很多的细节问题,比如,事物处理、安全性、数据流控制等问题。框架一般都为多人所用,所以结构很好,扩展性也很好,而且它是不断升级的,可以直接享受别人升级代码带来的好处。

显然,框架极大地方便了开发者,减少了开发代码量并提升了代码质量。

微信团队为小程序提供的开发框架为MINA框架,它类似于淘宝Weex、Vue框架。MINA框架经过大量底层的优化设计,有着接近原生App的运行速度,对Android端和iOS端做到了高度一致的呈现,具有完备的开发和调试工具。

微信团队为小程序的开发者提供了包含UI界面、社交与支付、语音、多媒体、LBS服务、手机硬件、网络传输等基础能力。功能丰富且实用,可以覆盖绝大部分移动应用的场景需求。

基于对框架的理解与小程序能力及开发过程,我们将本书基本内容划分为五大块:

■ 创建一个小程序项目并解析体验:由零开始创建一个小程序,全面体验小程序的开发工具、小程序界面、开发框架、实现过程及代码解析,了解小程序的应用场景及开发要求。这部分内容非常适合对小程序开发感兴趣的初学者。

■ 小程序开发基础指南:按框架构成,阐述小程序开发的语言与语法、函数方法、模块及事件交互等。这部分内容对小程序开发者而言,是必须掌握的部分。

■ 组件开发应用指南:详细阐述使用组件进行页面视图的开发过程与组件应用技巧,熟练掌握组件的使用,将大大提高小程序开发的效率。

■ API接口开发应用指南:微信强大的基础能力均通过API接口开放出来,它为小程序实现强大功能及适配各种应用场景提供了可能。这一部分内容阐述如何使用各个微信原生API接口进行小程序开发,可帮助开发者创建出功能强大且极具原生体验的小程序应用。

■ 小程序经典案例:通过几个应用场景的案例,让读者实践小程序的各项功能并掌握一些应用技巧。

本书力图帮助读者充分理解小程序的功能、开发过程,由浅入深,使读者快速掌握小程序项目的开发。相信读者通过学习本书,一定可以尝试简单、高效地搭建具有原生App体验的小程序应用或服务。

致谢

在写作本书的过程中,得到了很多同行、同事以及朋友的鼓励,在此衷心感谢。也感谢华章公司编辑们的努力,感谢家人的支持与理解。

场景代表未来,每一个对应现实需要的服务场景或实用功能的小程序,通过微信的连接与巧妙应用,汇聚起来,最终成为改变世界的力量。

我们相信:小程序,巧应用,可以成就大梦想。

现在,我们邀请所有对移动互联网服务与应用感兴趣的朋友,都来开发微信小程序。

作者

2016年12月