微信小程序开发入门与实践
上QQ阅读APP看书,第一时间看更新

1.1 什么是微信小程序

什么是微信小程序:小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无须安装卸载。

张小龙

微信之父张小龙用这段略带文艺气息的描述给小程序做了定义。但小程序无论从技术上还是从理念上都不是一个新事物:从技术上讲,它借用了React Native的一些概念,定义了一套微信自有的组件并根据运行环境的不同(PC、iOS、Android)将这些组件编译/转化为对应平台的可运行组件;从理念上讲,百度早年的“轻应用”、QQ右下角的“应用宝”还有支付宝里的各类小服务,早已是小程序的雏形。

我们来直观地感受一下小程序,如图1-1~图1-4所示。

图1-1 电商类小程序(图片截取自小程序京东购物)

图1-2 服务型小程序(图片截取自小程序猫眼电影)

图1-3 内容型小程序(图片截取自小程序Qdaily)

图1-4 视频类小程序(图片截取自腾讯视频)

我们本以为小程序确实就像张小龙所说的,只适合去做用完即走的服务。但事实是,各种类型的应用五花八门,早已超出了公测时大家都普遍认为的小程序只适合做低频类的应用(内容型应用是内侧时普遍认为最不适合做成小程序的一类应用),甚至腾讯官方直接首发了一款体验非常不错的腾讯视频小程序(这是哪门子的用完即走?)。

所以,只有你不敢做,没有你不能做(游戏类小程序目前是不能做的,直播类的有待商榷)。官方所谓的“用完即走”只是一个建议,并不是约束。但我们要清楚地认识到,能不能做和合不合适做是两个概念,这取决于小程序版本的各类应用相比原生App到底有哪些优势。可能是成本上有优势,可能是推广上有优势,也可能是同微信原生功能结合有优势,这需要开发者均衡考虑。本书还是以官方所谓的“用完即走的轻服务”为基本出发点进行论述。

有人会质疑,这和我们常用的App并没有什么区别。确实如此,小程序并没有逃脱App的范畴。事实上,小程序也只是App的一种。那小程序的优势在什么地方?

我们试想一下,如果上图中的这些应用并不是“寄生于”微信中,而是以原生App的形式存在于AppStore或谷歌的应用市场中,而我们每次使用都需要经历“打开AppStore”→“搜索应用”→“点击下载应用”→“安装应用”→“使用应用”,这个过程是相当烦琐的。关键是,很多应用我们并不会经常使用,可能一个月甚至一年才会使用1到2次,而这些“低频”的应用却要长期地“驻扎在”我们的手机中,需要我们去管理这些应用的“生命周期”,这个体验是不太好的。小程序要的就是“随时可用,触手可及”,而现在的App太重了。

小程序的出现就是希望用户不用安装那么多的App,你想用什么服务,只需要在微信中“扫一扫”或者“搜一下”即可享受到“触手可及”的服务,“无须下载安装”,用完后也不需要管理它,“即用即走”。

讲到这里,你可能对“小程序”有一些失望。并不是那么“惊天泣地”,不是吗?确实是这样,如果不是腾讯已经成为社交领域独一无二的寡头,“小程序”这样的开放平台很难付诸实现(我们之前提到过百度的轻应用,知道的人有多少?),也不会像现在这样引爆整个互联网圈儿。但在一个超级App中做一个“应用市场”(虽然腾讯极力否认小程序是应用市场,但不可避免它拥有“应用市场”的特质),向着“操作系统”的概念“策马奔腾”,微信确实是开创了先河(至少是首先付诸行动的)。关于小程序商业模式上的讨论有些偏离了本书的主旨,这里就不再展开细讲了。

小程序还有以下若干“别具一格”的特性。

• 小程序没有“官方的”应用市场,为什么强调是“官方”?因为截止到微信正式开放小程序不到一周的时间,不少第三方的小程序应用市场已经“亭亭玉立”了。

• 和微信公众号不同,小程序不能被关注。所以,在小程序中没有粉丝这个概念。

• 小程序没有群发消息和主动推送消息的能力。

• 微信中没有明显的小程序入口,但是发现有一个【小程序】栏,它会记录用户曾经用过的历史小程序。这些小程序的排序也没有所谓的排名,用户最近使用的小程序排在最前面。要注意,很多开发者找不到这个【小程序】栏,可能的原因有以下两个:一是必须在微信中使用过小程序,这个【小程序】栏才会出现;二是开发者使用的微信版本不支持小程序,建议升级到最新版本的微信。

• 获取和使用小程序的途径只有以下几种:

•  扫描二维码、有限能力的搜索、从发现中的【小程序】进入并打开曾经使用过的小程序以及来自于朋友或者群聊分享的小程序。注意只能扫描二维码,不能长按二维码。

•  之前是可以支持二维码长按进入小程序的,这会造成大量的二维码被附加在公众号里用来传播,所以微信干脆将“长按二维码”进入小程序的功能给屏蔽了(未来微信可能会再次放开“长按二维码”这个限制)。

• 小程序名称不能和公众号相同。

• 有一定的分享能力,可以分享给朋友和群聊,但不能分享到朋友圈。

• 同一个公司的公众号和小程序可以相互发现。公众号里可以看到该公司的小程序,同时,小程序里也可以看到该公司的公众号。点击后可相互进入到小程序或者公众号中,如图1-5~图1-7所示。

图1-5 腾讯视频VIP公众号关联了3个小程序

图1-6 腾讯视频小程序关联了1个公众号

图1-7 微信中记录用户历史小程序的列表