导语:在开始之前,先祝福大家新年快乐,祝福新的一年里工作顺利,身体健康,阖家欢乐。不知道大家这个元旦假期过得怎么样?反正我个人认为我过得很充实。先是爬山,然后休息了一天,最后一天在家做了一个微信小程序练练手。有时候,假期编程也是一种陶冶情操的表现,毕竟编程是一门艺术嘛。
在说我的微信小程序开发与体验之旅之前,先来回顾一下张小龙在微信公开课上的演讲吧。
什么是微信小程序
张小龙认为所有的应用程序应该是一种无处不在,但是又可以随时访问的一种状态,而小程序就是一种不需要下载、安装即可使用的应用,它实现了触手可及的梦想,用户扫一扫或者搜一下就能打开应用,也实现了用完即走的理念,用户不用安装太多应用,应用随处可用,但又无须安装卸载。
小程序的使用场景
从上面我们可以看出小程序的特性:无须安装、触手可及、用完即走、无须卸载。而关于小程序的使用场景,张小龙举了这样一个例子:现在汽车票其实没有电子化,所有人去坐汽车的话必须要去汽车站现场去买一张票,这是一个很痛苦的过程,你要去排队买票,然后再去坐车,他们希望用小程序来解决这个问题,只需要在每一个汽车站立一个二维码,所有到汽车站的人扫一下二维码就启动购票的小程序,然后直接通过小程序来买好票,这样售票窗口就不用存在了,我认为这是一个非常贴合小程序的想法。而且在公交站里面等公交站的时候,想要知道下一班车什么时候来,这个时候只要扫一下公交站的二维码,启动公交站的小程序就可以看到下一班车什么时候来,这也是特别典型的一个小程序的场景。
以此类推,可以想象,如果很多实体店采用了微信小程序,购物下单是不是快了很多呢?其实很多人有一些疑问,说:我直接扫二维码付账不就行了?为什么还要通过小程序呢?你想想一下,购车票,需要在车票系统登记,只用二维码扫描支付只是加快了付账,但是还是需要售票员刷你身份证登记,和购物一样,很多实体大公司也有自己的结账系统,如果用小程序,对接了结账系统,一键支付购物,连购买人的信息也能跟着提交,那岂不是很方便?都在微信内部实现,不用下载多余的 App ,是不是手机轻松了很多。
关于小程序的入口
张小龙曾经说过:PC互联网的入口在搜索栏,移动互联网的入口在二维码。现在想想二维码确实满大街都是,现在去吃饭,买东西,应该大部分都养成了扫描二维码的习惯了吧?现在各大购物超市和商场都已经支持微信和支付宝支付了。
理所当然,小程序的入口也在二维码。而且微信里不会存在一个应用商店让大家去下载。这些小程序的启动和使用都是由用户自己本人发起,这就是微信的克制。这是一种典型的去中心化无入口的做法,因为微信永远不会做入口、排序、推荐,腾讯就是腾讯,他不是百度。我认为更好玩和更人性化的地方在于:小程序账号没有粉丝,只有访问量,因为粉丝不等于访问,所以也无需订阅。小程序也不能推送消息,只提供有限的服务触达能力。这样就防止了小程序对于用户的骚扰,这种人性化也是微信成功的原因之一。
聊聊小程序的体验
前几天,看完微信公开课之后,朋友用自己的公司账号搞了一个微信小程序,我体验了一把,怎么说呢?感觉确实很流畅,也很好,但是我还是能感觉到它有点WebAPP(HTML5 )触摸感,只是有点,可能我太过敏感了。但是也足够好了,接近原生 App 的体验,跟 React Native 的感觉差不多,因为我在玩 React Native 的时候也有 H5 的触感。
(中间带微信图标的那个是小程序桌面快捷方式)
我们都知道,微信小程序可以添加到桌面,作为一个启动的快捷方式,但是我发现还有一个好玩的地方,那就是我们可以把一个常用或者你喜欢的微信小程序添加到聊天框的顶部,进行置顶。这种人性化真是快捷到了极致。
(图中置顶的猿人圈是小程序)
小程序的开发
我昨天在家闲的没事,做了一个微信小程序练练手,我在开发之前,也没有怎么看过小程序的接口文档,即使小程序开发工具在第一时间发布并被破解和开发文档公布的时候,我都没有怎么去看过,只是看过了新闻。只有最近几天,我才有认真的在看它的官方文档。
会 JS ,轻松开发
我想说,我真的只有这两天在认真的看了看文档,但是不到一天我就写了一个简单的 demo 出来,仅仅就是我会点 JS ,但是我想说:如果你 JS 前端知识很熟悉,开发小程序轻松 easy 到不行。我之所以做了个小 demo 花了近一天,是因为我 JS 都忘得差不多了,而且是第一次熟悉文档的情况下,高手两三个小时开发一个简单的小程序轻松加愉快。
会 React Native 那就更简单
如果你会 React Native ,那么开发小程序那就是更简单了,小程序不就是根据它而来的吗?框架和思想基本一样。如果大家有跟着我写的 RN 教程一起学习,我更新的组件部分都快讲完了,就根据我讲的那些,去开发小程序足够让你用的了。
看完小程序的文档和开发了一下之后,整个小程序的架构像极了我们 Android 中的 Databinding ,跟java web 中的 EL 表达式也是差不多。它初步分为三部分:js 文件中处理业务逻辑,wxml 文件中写布局,wxss 文件中定义的是样式。如果你理解了这个架构,那就可以非常容易的开发了。
另附我写的小 demo 的 gif 图,如下:
说说它的未来
趁小程序还未正式发布之前,我们来个马前炮,对于它的未来我是比较看好的,我看好它的原因如下:
- 它是中国目前最好的产品经理推出来的产品。
- 它是由掌握中国最大的社交用户的腾讯作为后盾的。
- 因为它比较克制,一切以用户为中心。
- 它对于实体店的意义可能大于用户。实体店相对于网络购物最大的优势在于什么?是体验,小程序可以进一步优化实体店的体验。
未来的事,可能连未来都不知道,希望不会打脸。最终小程序的未来到底怎么样,那只有等它真正出来我们才能看出来,是骡子是马得拉出来遛遛啊!我其实发现张小龙特别喜欢的一种状态就是所见即所得,用完即走,小程序确实能够做到这点。
在最后的最后,小程序可能会失败的原因就是:上有政策,下有对策或者说上面想象的和下面执行的不一样。说明白点就是:客户开发的微信小程序估计会把一种简单,做成一种复杂,这是张小龙不愿意看到的。