# 小程序的诞生
在小程序还没推出的时候,中小型公司做App的成本比较高,Web端的用户生态并不完整,在Web上做业务的收益越来越小。
就拿公众号来举例,当时,微信公众号已经做的非常成功了,一些个人或企业的需求也在不断扩大,他们不再满足于只用公众号来赚钱。而且,公众号上的Web入口呈现也无法满足用户日益增多的需求。
因此,微信小程序从刚开始出现的时候反响就很好。当然,以上问题不仅仅是微信要面对的,只不过是微信开创了先河,因为他们更需要小程序。
小程序技术推出之后,开发者环境一石激起千层浪,各大超级App厂商也纷纷跟投,像是百度、支付宝等App都走上了小程序这一条路。
开发者开始接触开发后,最开始推广的过程我记得大家的评价都是“不太好上手”。为什么呢?那个时候类似Taro等小程序第三方框架还没出来,大家用小程序官方给予的规则开发。WXML、WXSS、新的架构、新的规则、新的文档,不管对于人员来说还是对于公司来说“成本”这个词语摆在了那里。
# 小程序能够给企业什么样的优势?
稍微回忆一下的话,大家应该还记得,当时的招聘列表里面常常能见到小程序开发工程师,这是因为大多数公司都把自己的产品从公众号搬运到小程序平台。
对于第三方公司来说,他们为什么会想做小程序?还是用微信来举例,笼统来说是因为小程序是一个中间平台,可以快速转化微信流量到自己平台,具体可以总结为以下几个部分。
- 获客成本低:挂靠超级App,让超级App的用户成为自己的潜在用户。
- 用户访问流程成本低:通过扫一扫、附近的小程序、分享、App内搜索等即可直接访问。
- 更轻量触达:不必再记住网址,不必下载App,点击直达。
- 更方便:功能几乎和App一样全面,包括语音、支付、地理等。
- 用户负担更小:微信账号走天下,减轻个人负担,包括账号、会员、线上、线下。
- 更安全:安全无需自己维护,由超级App直接负责。
上述只是列举了一些,并不是所有,但作为一个商家或者企业,已经足够吸引人了不是吗。
# 小程序框架推出之前我们遇到了什么问题?
那你有没有想过,在没有小程序的时候,企业们都在微信用什么?答案是H5。
因为公众号,公众号是小程序的“前身”。
当时,企业们普遍会把H5网站放在公众号作为流量转换的入口。当然,现在这么做的人也非常多,毕竟公众号还是非常赚钱的,但是H5却让公众号遇到了一些问题。
老前端第一反应肯定是性能,做过移动端的都知道,无论你的手机多贵、配置多好,H5该卡顿还是卡顿,动画调试不好依然不流畅。最糟糕的是,配置低的手机调试好了也不流畅,这里都是泪。
当然,发展到现在,在浏览器和JavaScript的不断努力下,H5完全可以胜任任何业务场景,也有GPU计算能力、3D引擎渲染能力。
如果H5加上个loading效果,假装一下小程序也没什么问题。技术本身有什么问题呢?淘汰的jquery谁又能说它不好呢。
在这种发展过程中就产生了很多有意思的事物,比如SDK。在微信中开发H5的话可以调用微信的JS-SDK。JS-SDK就是一套调用微信能力的工具包。比如调用支付、扫一扫这样的微信功能。
但是那个时候需要主动将微信SDK的js文件注入到H5中,这样的话又为性能添加了一些负担,页面展示之前或多或少会有一段白屏过程,在移动端受限于设备的性能和网络速度。
后来微信团队为了解决这个问题,设计了一个SDK增强版本,其中有一个重要的功能,称之为“微信 Web 资源离线存储”。
微信 Web 资源离线存储是面向 Web 开发者提供的基于微信内的 Web 加速方案。
通过使用微信离线存储,Web 开发者可借助微信提供的资源存储能力,直接从微信本地加载 Web 资源而不需要再从服务端拉取,从而减少网页加载时间,为微信用户提供更优质的网页浏览体验。每个公众号下所有 Web App 累计最多可缓存 5M 的资源。看看微信在手机中的占用空间,现在微信动不动总是占用十几个G的存储空间。80%都是缓存。
离线存储虽然能够解决一些问题,但对于一些复杂的页面依然会有白屏问题,例如页面加载了大量的 CSS 或者是 JavaScript 文件。除了白屏,影响 Web 体验的问题还有缺少操作的反馈,主要表现在两个方面:页面切换的生硬和点击的迟滞感。
# 小程序框架的优势是什么?
微信面临的问题是如何设计一个比较好的系统,使得所有开发者在微信中都能获得比较好的体验。这个问题是之前的 JS-SDK 所处理不了的,需要一个全新的系统来完成,它需要使得所有的开发者都能做到:
- 快速的加载
- 更强大的能力
- 原生的体验
- 易用且安全的微信数据开放
- 高效和简单地开发
这就是小程序的由来。
从小程序说起,小程序解决了什么问题?
- 性能高于h5(base app)
- 微信开放了统一入口,管理菜单
- 微信提供登录
- 微信提供全面分享引流。
- 快速的加载
- 更强大的能力
- 原生的体验
- 易用且安全的微信数据开放
- 高效和简单地开发
说白点:
- 用户都在微信上
- 愿意花钱的用户也在微信上
- 那我把我的服务也做到微信上就可以获取更多客户了
- 现在没人愿意在浏览器里输入网址在回车去你的网站
- 直接在微信里点击朋友分享和朋友圈链接才够便捷。
然而已经2021年了,发展到什么地步了呢?我们“看透了”小程序的真正面目,Taro、Weapp、Uni-app、Mpvue、Remax等小程序框架相继亮相。为了更加方便快速的开发小程序,提升人效。但是,除此之外,我们还可以做到什么?难道真的只有在平台中按照它们的规则写小程序吗?下面,我们接着聊一聊。
# 小程序框架如何为业务赋能?
近几年来,随着电商直播(直播电商)等的红火,很多客户端的业务要向直播带货或者小游戏等功能拓展。这就需要原生App与H5相结合,其中App的宣发页、活动都用H5来做,H5可以代替App的全渠道发版,带来更方便的业务升级,更方便地替换展示内容。
这里很严谨地说了两个词:电商直播比如淘宝,先是电商后面搞起了直播。直播电商比如抖音,本来是直播后来搞起了带货。
如果你在一个负责直播的App团队中,现在需要你们上线直播带货功能,也就是在直播页面中嵌入一套电商流程,你该如何做技术方案?如果还需要将小游戏版块嵌入到直播页面中,又该如何去做?
电商流程可不可以用H5做?可以。肯定可以的,直播页面开放入口按钮,跳转或者嵌入H5。H5中包含整套业务流程即可。但是用户体验是差强人意的,只要是H5就会遇到前面提到的用户体验和安全管控的问题,毕竟电商购物车模块的极限计算量还是很大的。
那么,小游戏可不可以用类似的做法?这需要看具体的场景,具体比如什么样的游戏、什么样的算力、什么样的渲染效果。小一些的游戏可以用H5来做,大一些的游戏会有性能问题,做上去效果不好。这里的技术方案就很难拿捏,技术手段封锁了业务上限,相信并非你想看到的结局。
而小程序框架的出现,不仅帮助我们更高效地开发小程序,还能在这种技术瓶颈影响业务发展的情况下,给予我们一种全新的选择:在自身App中搭建一套小程序框架。目前,很多企业都搭建了自身App的小程序框架,效果也确实不错。
总的来说,掌握了小程序框架,我们可以不局限于平台的规则,更好地去写小程序,并且可以借鉴框架设计创造出更大的价值。
