时不时有朋友问我能不能做小程序,2017 年的时候我就专心研究过几个月的小程序,那时小程序还处在起步阶段,功能比较简单,现在回过头去看那时候许多人在摸索小程序的机会在哪里,出现了比如“包你说”这样短时间爆红的小程序,后来也出现过各种小程序类的游戏不停轰炸各个群的情况,而像“抽奖助手”这种稳扎稳打闯出自己路子的小程序实为难能可见。由此可见当时的微信官方也在不断摸索要怎么发展小程序,小程序的边界在哪里,等等。
我甚至连小程序的长期玩家都算不上,所以只说点浅显的我有把握能看懂的内容。
首先来了解一下小程序的基本原理:
首先您最好了解一下网页的呈现原理:简单来说就是写一些代码去描述一个网页,比如我要在网页的顶部放一张图片,图片下边放一段文字,文字是蓝色的,文字的下边是一个视频等等。
网页是从有万维网之初就有的信息呈现方式,但是有几个不方便的地方:
1、同一段代码在不同浏览器中显示效果可能不一样,开发人员要花许多精力去调试不同浏览器上的呈现效果。
2、原始的浏览器代码写起来很麻烦,对程序员的要求相对要高一点。
3、网页代码的执行效率一般,如果遇到比较复杂的场景会比较耗 CPU。
4、用户登录时需要每次都输入用户名密码,比较麻烦。
对于网页的认识,大家最常见的应该是现在依然还非常流行的许多 H5 页面,我的最大感觉就是:每次打开时的加载速度是个明显的硬伤。
微信看着这么多 H5 页面在自己的平台上为用户提供了许多额外但用户又必需的功能,自然想着要怎么把自己的平台做得更完善,毕竟流量就是金钱,用户的注意力就是金钱,于是乎微信自己也推出了一套类似于 html 代码的标准,让开发者可以更方便得开发出页面,而这些页面经过微信的优化整合之后在微信中显示的效果会比原生的 html 更好,毕竟微信针对自己的小环境做了许多适配嘛。
但是,如果你不想看我上面罗里吧嗦说这一堆的话请记住一点:小程序就是一具高级版的网页,是网页,是网页。
既然是网页,那就意味着小程序不是万能的,除了网页能做的事别的是做不了的。其实从另一个角度也可以理解成这样:因为小程序是运行在微信上的,而微信又是运行在手机上的,手机相比于电脑有着天然的计算能力上的劣势,所以小程序不适合做那种很耗运算能力的事情,这也就是为什么我的公众号文章批量导出业务为啥没有小程序版:总不能让你的手机刚运行 1 分钟就变得滚烫吧,当然背后还有个重要原因是即使你硬要在小程序里面实现这个功能微信也没提供这样的接口,因为网页并不是万能的。唯一有可能的是把文章 html 转换 pdf 的工作放到云端主机上,本地只是从云端下载转换好的文件。
另外小程序会受到微信的严格限制,比如不能转发到朋友圈。也不能获取用户的朋友圈信息,更不可能获取他的通讯录、短信、微信好友账号等信息。有朋友会问为什么不能,凭什么要能?你一个小工具不老老实实做“用完即走”的功能怎么净惦记着用户的那点数据,微信会同意吗?用户会同意吗?
还有一个有趣的现象,小程序的宣传多起来之后,有许多社会人士会把小程序看成是无所不能的神一样的东西,却不肯去花一点点时间了解一下小程序究竟是什么,能做什么不能做什么。一时间他们的口头禅成了:你这个东西最好做成一个小程序。仿佛不紧跟小程序的步伐就落伍了一样。