微信小程序简介
微信小程序是一种"即用即走"的应用,简单来说就是不用下载就能使用的应用,是一种全新的App概念。经过多年的发展,微信小程序已经构建了全新的开发环境和开发者生态,目前已有超过150万的开发者加入到微信小程序的开发,微信小程序应用数量超过了一百万,覆盖200多个细分行业,日活用户超两亿。微信小程序的发展带来了更多的就业机会,社会效益不断提升,正日益影响着我们的生活。
1 什么是微信小程序
1.1 微信小程序的定义
微信小程序(英文名称是 Mini Program)简称小程序,是一种基于微信的轻量级应用程序,是一个全新的概念。微信创始人张小龙曾这样介绍小程序:小程序是一种不需要下载、安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下即可打开应用,这也体现了"用完即走"的理念。
小程序是一种全新的开放能力,开发者可以快速地开发一个小程序并且在微信内被便捷地获取和传播,同时具有出色的使用体验。用户不需要关心手机应用占用太多存储空间的问题以及应用安全问题。
1.2 微信小程序的诞生
早在2016年1月11日,张小龙曾提出微信将在订阅号和服务号的基础上,开发一个新的公众号形式,即"应用号"。到2016年9月21日,微信官方正式宣布"应用号"开始内测,并于9月22日将"应用号"更名为"小程序",腾讯开始陆续发放内测邀请。2016年11月3日,小程序开始公测,在公测期间,所有的企事业单位和媒体,以及其他的社会机构都可以登记注册小程序。此时的小程序开发完成后虽然可以提交审核,但是不能公开发布使用,直到2017年1月9日,微信小程序才正式发布。
图1 张小龙的微信朋友圈
2007 年 1 月 9 日,乔布斯在旧金山莫斯科尼会展中心发布了苹果首款 iPhone,而在十年后的 1 月 9 日,微信小程序正式上线。张小龙以这样的形式,向乔布斯致敬。
2 微信小程序的本质
微信小程序作为一种全新的移动应用形式,有着它的独特之处,相比于HTML5的Web应用,它拥有更高的系统操作权限,能访问更多的手机硬件信息,小程序的交互体验可以媲美系统原生应用;相比于系统原生应用,它几乎不占用手机的存储空间,也无需安装与卸载,真正实现了应用"触手可及"、"即用即走"的梦想。
2.1 微信小程序与公众号
微信小程序和微信公众号都是微信生态圈(如图2所示)的重要组成部分。
图2 微信公众平台体系
从定位上来讲,微信小程序和微信公众号都属于微信公众平台的系列产品,是两套完全不同的体系,它们之间的区别主要体现在以下几个方面:
定位不同
微信公众号的定位是以文字内容和信息传递的形式,向用户提供有价值的信息,在此基础上为用户提供较为轻量的辅助服务功能;而小程序则是提供更优质应用服务体验,主要以应用服务功能为主。
微信小程序的定位是解决特定场景下的应用使用需求,这一点于微信公众号的营销特性有所不同。在微信小程序中,为了尽可能地减少对用户的打扰,小程序中取消了"关注人数"、"粉丝数"、"阅读数"等相关的概念和指标,也不能向用户推送任何消息。由于定位不同,所以在获取小程序和公众号的渠道方面也有所改变。
技术实现不同
微信公众号主要是基于HTML5实现的网页应用,而微信小程序是以微信为基座实现的一种轻应用。
传统的HTML5运行是要依赖于浏览器环境的,在微信的Web View组件内即可运行HTML5的网页应用,微信小程序的运行环境并非完整的浏览器,微信基于浏览器内核并且针对小程序的运行重构了一个内置的解析器,搭配自定义的WXML、WXSS等开发语言标准,实现以微信为基座的内置应用开发。小程序是微信内的云端应用,通过Web Socket双向通信、本地缓存以及微信底层技术优化实现了接近原生App的体验。
运营方式不同
微信公众号以粉丝运营为主,通过以文章为主的方式吸引更多人关注公众号,通过主动推送文章来实现重复触达用户。微信小程序是以线下扫码、好友与社群分享、附近小程序、公众号底部菜单等方式获取访问流量,然后再以小程序的开放能力为用户提供社交、电商、工具应用等服务,借助"拼团"、"优惠券"、"直播"、"分销"等促销形式实现快速变现。
功能使用不同
微信公众号以文章内容为主,可以通过公众号提供的管理门户实现主动推送、底部菜单管理等功能,公众号主要以营销为主,但是不能实现直接转化、交易、以及操作手机原生功能的能力。微信小程序适合各行各业的需求,例如电商、餐饮、社交、共享经济等,可以直接调用手机API,具有交互性高、流畅性高的特点。
2.2 微信小程序与App
手机系统原生应用程序(Native App)需要用户先下载安装才能使用,一般依托于操作系统,有很强的交互能力。除了系统原生应用之外,还有一种混合型应用程序(Hybrid App),这种类型的应用程序和系统原生应用一样需要下载安装才能使用。混合应用虽然从表面上看和系统原生应用很相似,但是混合应用只有很少的UI Web View,访问的内容也只是Web网页。混合App现在也正在极力打造类似于原生App的体验,但仍然受到技术、网速等因素的限制,因此与原生App还存在很大的差距,这里我们就只比较小程序与原生App的区别。
微信作为一款系统原生App,可以直接运行在手机操作系统上,微信小程序则是以微信为基座运行在微信内部的。一般来说,手机的操作系统为系统应用提供了一套完整的接口,方便系统应用来访问手机硬件资源,例如打开摄像头、访问手机相册与文件夹等。系统应用通过这些开放的接口,可以拥有较高的访问权限来自由的调度系统硬件资源,但是这些系统应用被安装在操作系统中也会占用系统空间。微信小程序则是借助微信专门设计的框架,通过微信提供的接口,由微信这个系统原生应用与手机操作系统进行交互,它们之间的关系如图3所示。
图3 微信小程序系统层级
微信赋予小程序访问手机硬件资源的能力,例如读写缓存、网络状态、重力感应、扫码等。这使得小程序拥有了可以媲美系统原生应用的流畅度。
在应用的推广过程中,系统原生App和混合App都需要用户下载各种各样大大小小的应用程序安装包,如果在没有网络或需要使用流量下载应用的情况下,小程序凭借无需下载安装的优势,使用户更加愿意使用。而且小程序的分享方式更加方便,进而获得更多的用户数量。小程序几乎不占用手机系统空间,随手可得,用完即走,不用担心小程序驻留在手机中消耗手机资源的问题。小程序在硬件资源有限的情况下,给了普通用户另外的选择。
在功能和安全方面,系统原生应用能实现完整的功能,小程序则仅限于使用微信提供接口。目前小程序完整地覆盖了购物、出行、饮食、资讯、社交等常见应用场景,足以满足当下普通用户的日常需求。受到接口能力和微信审核机制的限制,小程序比系统原生应用软件具有更高的安全性,而且小程序被限制了消息推送,不会给用户带来任何营销信息的打扰。
2.3 微信小程序不是HTML5
微信小程序被分享到朋友圈之后,在朋友圈打开的小程序像极了HTML5网页应用,但是小程序并不是HTML5网页应用,而是微信重新定义的一套标记语言开发规范,是一个全新的生态。开发小程序必须使用独立的开发语言,这些语言是基于HTML、CSS、JavaScript改变而来的,微信小程序还提供了自己独立的开发框架、组件和应用程序编程接口(API)。
微信小程序与HTML5之间主要有以下几个方面的区别:
开发成本
在传统的HTML5开发Web应用中,开发者要考虑所选择的前端框架、UI样式库、开发工具、接口调用工具、浏览器兼容性等多种因素,虽然有很高的开发自由度,但是也消耗了开发人员的精力,而且各种外部库的版本迭代、版本升级所带来的成本也是极高的。在微信小程序开发中不需要考虑这些问题,大大降低了开发成本,在很大程度上提高了开发者的开发效率。
运行环境
HTML5的运行环境是客户端浏览器,在开发微信小程序时虽然会用到一些HTML5相关的技术,但是小程序的运行环境并不是浏览器,而且微信官方文档中也强调了小程序脚本内无法使用浏览器的Window对象和Document对象。微信针对小程序的运行重构了一个基于浏览器内核的内置解析器,这种解析器为小程序的运行做了优化,微信为这种内置解析器的应用开发定制了一套开发语言和开发标准。
系统权限
微信小程序的性能流畅度可以和系统原生App相媲美,这一点是HTML5 Web应用可望而不及的。小程序也借助微信这个强大的后台,能够拥有比HTML5更多的系统权限,比如缓存能力、重力感应、网络状态等,而且这些系统权限能够与小程序进行无缝衔接。
2.4 微信小程序是功能性公众号
小程序的前身是"应用号",对于微信来说,"应用号"与微信公众平台上的订阅号、服务号、企业号(现更名为企业微信)更匹配。由于苹果公司对"应用"两个字的限制,这也使推出的"应用号"微信没能在App Store通过审核,微信本身就是一款手机App,它的成长需要依赖IOS(苹果手机操作系统)和Android(安卓手机操作系统)两大移动端系统平台,苹果对应用市场的监管很严格,所以在应用的命名上,微信也做出了一定的让步,把"应用号"更名为"小程序"。
小程序是微信公众平台的组成部分,与订阅号、服务号和企业微信(原企业号)共同组成微信公众平台的生态圈,如图4所示。
图4 微信公众平台账号分类
服务号给企业和组织提供更强大的业务服务与用户管理能力,帮助企业快速实现全新的公众号服务平台;订阅号为媒体和个人提供一种新的信息传播方式,构建与读者之间更好的沟通与管理模式。订阅号的申请主体可以是组织、个人、社会机构,但是服务号不支持个人主体申请,只对组织、企事业单位、其他社会机构开放。而且在推广方面,订阅号可以每天群发一次消息,服务号每个月只能群发4次,而且服务号提供了比订阅号更多的开放能力,例如只有服务号才能申请微信支付。企业微信是面向企业提供的办公管理工具,提供丰富的办公应用,并与微信消息、小程序、微信支付等互通,助力企业高效办公和管理。
微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。微信公众号是生产内容的,而小程序是生产应用的,并且生产"小应用"没有太多的成本压力,给开发者提供了更广阔的想象空间,可以更快更高效开发一款小程序。
3 微信小程序的优势与特点
自微信小程序推出以来就备受关注,这离不开小程序自身独特的优势,下面对小程序的优势做具体的介绍。
3.1 即用即走、无须下载
微信小程序最大的特点就是"即用即走,无须下载",微信对小程序做了很多的限制,不会主动向用户推送消息,客户不会被营销信息打扰,也不会过度黏住用户,而且无须下载的特点也免去了安装卸载这些繁琐的步骤,不会占用手机系统空间,也不会浪费流量和残留系统垃圾。
"即用即走,无须下载"这一点对用户来讲还是很有吸引力的,随着人们使用手机产生的数据越来越多,再加上手机本身的存储空间不够富裕,有了微信小程序就可以解决这些用户痛点。微信小程序几乎不占用系统空间,这就免去了用户不能安装新应用的尴尬,不用担心小程序驻留在手机给系统带来的资源消耗。
3.2 低门槛、低成本
用户只需要在微信公众平台注册小程序,只要完成了注册,然后完善开发者信息即可开发属于自己的小程序。这对小程序开发者而言,微信小程序官方还提供了很多的开发支持,例如微信推出的微信开发者工具,集成了开发调试、代码编辑、小程序发布等功能,这就很大程度上降低了小程序的开发难度。
如果要开发一款与原生App具有相同功能的小程序,在人力成本和时间成本上,开发微信小程序都要比开发相同的原生App成本低很多。而且开发的原生App要同时适用于IOS、Android等多个操作系统这就加大了原生App的开发难度,微信小程序基于微信的强大的用户基数,可以快速实现跨平台开发,极大的降低了开发与市场推广的成本,降低了创业者的门槛。
3.3 解决公众号的痛点
微信推出订阅号和服务号,其目的是让订阅号为用户提供内容,让服务号为用户提供各种服务,从而让微信逐渐成为了一个生态圈,用户无须离开微信就可以完成阅读、社交和获取资讯服务。但是,目前服务号为用户提供的功能较为简单,很多用户的使用服务号的场景仅限于接收通知消息,服务号的其他功能很少被用到,因此,服务号没有完成为用户提供服务的历史使命。
微信创始人张小龙曾这样评价服务号:"我们的本意并不是要做成一个只是传播内容的平台,我们一直说要做一个提供服务的平台,所以后面我们甚至专门拆分出一个服务号出来,但是服务号还没有达到我们的需求,说服务号可以在里面提供服务为主,所有的服务号还是基于一个诉求,这不是我们想看到的。"
服务号有很多缺点,例如体验差、层级多、接口少、内容参差不齐、过度营销等,这也使服务号被用在低频使用场景中,即使有这么多的缺点,用户毕竟使用服务号的机会也是很少的,而且根本满足不了用户的需求。于是,微信便推出了小程序来弥补服务号无法解决的高频使用问题。
3.4 更高的安全性
微信小程序基于微信体系开发,同时也被微信限制和监控,防止微信自身或开发者利益受到损害。微信要求开发者严格按照微信的规范进行开发和操作小程序,即使是小程序的上线,也需要通过微信官方的审核。只要是不符合微信要求的小程序是不能发布的,甚至有可能会被直接封杀。用户在使用小程序时,小程序也只能获取到用户的昵称、头像等非隐私数据和信息,这些数据都停留在微信平台,而非小程序平台,所以小程序开发者也无权获取用户的隐私数据,这就保证了微信小程序在开发和使用过程中的安全性。
小程序不具备调整的功能,包括调整外部网站、外部链接等,如果需要在小程序的Web View组件内打开外部链接,需要提交URL备案,只有通过审核才能在小程序内使用Web View打开外部链接。在保护开发者方面,各项小程序都有属于自己的App ID,用来防止恶意开发者伪造、仿制安全的小程序进行诈骗行为。但是,这些特点在保证小程序安全性的同时,也约束了小程序的功能性,使原生的系统应用有一些小程序无法到达的能力。
4 微信小程序的生态及应用
4.1 独立的软件生态系统
作为一个独立的应用生态系统,需要具备以下几个特点:
- 具有独立的统一入口
- 具有该应用生态统一的语言和开发标准
- 在平台管理下具有独立的规范和开发模式
- 开发者和平台相互支持、互利共赢
微信小程序就是以微信为核心的一个独立应用生态圈,它的官方平台是微信,以微信作为应用的统一入口,利用微信制定的语言和开发标准进行微信小程序的应用设计与开发,而且微信对小程序开发、运营、审核等各方面也做出了严格的规范和限制,开发者借助微信公众平台进行开发和推广,这也为微信官方获取更多小程序提供了渠道。这样一个应用生态系统,就相当于在微信平台上实现了一个全新的App Store。
4.2 微信小程序社区
小程序是微信推出的一个全新的概念,为了帮助大家更好地认知小程序这个新生事物,更快的开发小程序,微信官方创建了微信小程序社区(如图5所示),通过社区帮助小程序开发者、创业者和中小企业主提供一个相互交流的专业平台。在这个社区中,大家不仅可以自由分享小程序的开发经验,还可以在上面学习小程序开发、推广、运营等方面的技术。
图5 微信小程序社区
微信小程序开发者和创业者都可以在微信小程序社区上查找、交流、分享微信小程序的一切问题。除了社区,微信官方还创建了微信小程序官方文档(如图6所示),为开发者提供一个简单、高效的应用开发框架和丰富的组件及API,帮助开发者在微信中开发具有原生App体验的服务。
图6 微信小程序官方文档
4.3 微信小程序的使用场景
微信小程序的重点体现在一个"小"字上,小程序更适合开发那些非刚需、轻量级、功能单一、不需要调动太多系统能力的应用,而对一些高频刚需的应用场景,小程序还是有一定的弱势的,高频场景服务依然适合以独立App作为阵地。
对于使用频率不高、功能单一的应用,可以把微信小程序作为一个不错的切入口,而且这种需求也只需要使用HTML5就可以实现,迁移小程序的成本较低,也就成了很多商家一个不错的选择。
4.4 微信小程序的未来发展
微信已经成为人们不可缺少的社交工具,随着微信支付的普及,微信除了提供社交聊天的能力之外,还提供了更多的金融服务。依托于微信的小程序,使用也越来越普及。微信小程序的高效、便捷,功能不断完善,用户对微信小程序的未来也充满了期待。
微信小程序是一个生态圈,将来能够更好地借助于扩展差距进行微信小程序的开发,为微信小程序用户开放更多权限,未来所发挥的空间也越来越大。微信小程序在发展过程中不断完善自己,其开放能力越来越强,能够匹配多种场景。微信小程序现在积累了大量的用户,让其他行业与微信用户有更好的链接,与微信更好的结合。因此微信小程序的发展空间是无限的。
5 本章小结
微信小程序的诞生,即弥补了HTML5和原生App的不足,也带来的巨大的商机,提供了更多的就业机会,在新一轮移动互联网变革中创造了无限的机遇。其轻量级、即用即走等优势,为用户提供了便利,同时也为功能单一和低频使用的应用提供了新的开发场景,降低了创业者的成本,而且还能实现App的功能,用户使用起来更加方便。微信小程序会带来千亿市场,未来,每个线下门店不一定会拥有自己的App和网站,但是都可能拥有自己的微信小程序。所以,微信小程序是非常值得大家关注并投入到开发者行列中。