【技术创作101训练营】小程序技术发展史

2021-01-18 11:13:39 浏览数 (1)

PPT:

小程序技术发展史.pptx

演讲文稿:

开场

大家好,我是薛定喵君。今天我分享的题目是小程序技术发展史。

提到小程序相信大家已不再陌生了,如今的微信小程序是一个拥有百万级开发者,日活过4亿的庞大生态,就连苹果也跟风推出了自家的小程序平台。小程序是前端开发的一个细分领域,小程序应用更确切的说是混合模式应用,即 Hybrid应用。

下面我们就来看看小程序这项技术的发展历程。

黎明前夜:轻应用

很久很久以前,2013年的时候百度就基于H5技术推出了轻应用,百度的先驱们通过给 WebView 扩展原生能力,补充 JS API,让 HTML5 应用具备了可以调用语音、摄像头、定位等能力,实现了应用的无需下载、即搜即用。轻应用开创了一种机制,能把移动搜索海量的长尾需求分发给开发者,同时为用户创造搜索即服务一整套完整的优质体验。

而微信团队则在2015年1月9日在微信公众平台面向开发者开放了微信内网页开发工具包(微信JS-SDK)。开发者不仅能够在网页上使用微信本身的拍照、选图、语音、位置等基本能力,还可以直接使用微信分享、扫一扫、卡券、支付等微信特有的能力,为微信用户提供更优质的网页体验。

即使这样,我们通过轻应用的形态获取了更多能力,发展达到了顶峰,但因为webview的天然缺陷,我们还是会碰到白屏、卡顿等性能问题,而这些问题及其影响用户体验,如果一个Web端网页在3秒内打不开的话,用户大概率会放弃使用,同样的在手机上轻应用模式面临的压力也不容小觑,大家依然在黑暗中前行,守望星空。

混沌初开:应用号

而后时间来到了2015年,360和 DCloud 合作在360手机助手内嵌了客户端引擎实现了名为『360 微应用』的流式应用,做到了应用的秒开。流应用是什么概念呢,我们可以联想一下流媒体,它可以边放边播。流应用把之前 Hybrid 应用里的运行于客户端的 JS 代码,先打包发布到服务器,制定流式加载协议,手机端引擎动态下载这些 JS 代码到本地,实现了应用的边下载边运行。流应用采用的是 Hybrid 方案,不再是之前单纯的webview了,所以在性能、用户体验上有了很大提升,可以做到秒开。

接着来到了2016 年 1 月 11 日,微信公开课,张小龙老师罕见露面,公布了微信应用号的计划。用户关注一个应用号就如同安装一个App一样,所以用户就省去了安装下载卸载等等一系列动作,对那些使用频率不高的软件来说,完全可以用“应用号”代替;另外,用户也免去了不定时下载软件更新包的困扰。

大家也终于在黑暗的夜空看到了一束光(手动狗头)。

开天辟地:小程序

时间到了2016 年 9 月 21 日,微信宣布更名应用号为小程序,面向首批开发者内测。经过四个多月的测试,终于在 2017 年 1 月 9 日正式宣告小程序的诞生。但是一开始并不是所有人都看好小程序的,不少公司都是保持着怀疑态度,小程序是一种新的应用形态,丢弃了国际标准组织 W3C 的 DOM 和 Window 标准,所以对于开发者来说要把之前的功能重新用小程序的开发标准实现一遍,传统的html5轮子无法直接复用,没有那么多成熟的框架,组件库。一切都是草莽的状态,所以一开始的发展并没有那么顺利。直到2017年12月28日,微信更新的 6.6.1 版本开放了小游戏,启动页重点推荐了小游戏「跳一跳」才彻底把小程序这个产品引爆,后面的故事大家都清楚了,大厂纷纷跟进,押注小程序赛道。

高屋建瓴:云原生小程序

小程序结合Serverless无服务模式会产生什么呢?2018年微信团队与腾讯云团队合作,小程序云开发能力开放了。这是一个很香的能力升级,小程序云开发是一款 Serverless 服务,为开发者提供了「云函数」、「云数据库」和「云文件存储」,并且将这些能力封装成特定的接口,以 wx.cloud.xxx 来进行调用。传统的开发模式需要起码两个人参与小程序的开发,但是借助云开发能力,前端也可以写后台且免运维不需要采购服务器,极大提高了开发效率,降低了开发应用的成本。一个人就可以完成小程序的全栈开发快速上线。而且程序通信使用的是微信的私有链路协议,安全性是毋庸置疑的。小程序开发就此迈进了一个新阶段。

结语

时至今日,头部大公司基本都入局了小程序赛道,经过大家的努力,各种框架、组件库、轮子层出不穷,方便了开发者也给用户带来了更好的体验,给开发者带来了更多流量和变现效率的提升,终于中国人也有了自己的技术生态。

我的分享就到这里,谢谢大家。

【技术创作101训练营】

0 人点赞