最近查看了一些关于小程序的知识,把这些知识做一些总结和整理,方便后续回顾。
1. 概念介绍
我们在这里说的小程序是微信小程序,以及各种平台推出的小程序,比如支付宝小程序,抖音小程序,京东小程序等。它们都有一个特点:嵌套在某一个App中,不需要安装就可以直接运行。因此也称它们为轻应用。
2. 技术原理
小程序使用的技术比较相似,都是基于浏览器内核来运行,因此小程序类似网页,运行小程序的App类似浏览器。当然不同的小程序在技术细节还是不同的。
3.开发技术
做为开发人员,有必要了解开发小程序使用的技术。我们在上一小节中也提到了,开发小程序类似开发网页,因此html+css+javaScript
是基础,有了这些基础后还需要掌握开发框架。由于不的类型的小程序使用的框架不同,因此不一一展开讨论。
正如刚才所说,小程序种类比较多,开发框架也多,那么怎么办, 把所有的框架都学习一次,每种类型的小程序都做一个?这样也可以,使用这种方式开发的小程序称为原生开发,比如使用微信小程序的规范来开发微信小程序就是原生开发。不过这种原生开发的效率比较低。因此出现了一些好的开发框架,它可以一次开发出多种类型的小程序。准确点讲就是一套代码生成不同种类的小程序。
常用的开发框架有UniApp
和Tora
。UniApp是基于VUE这个前端框架的,因此它的开发思路和Vue相近,有Vue经验的开发人员可以快速上手该框架。Tora是京东推出的框架,它的开发思路类似RN,有RN经验的开发人员可以快速上手该框架。
4. 发展前景
我查阅了相关的资料后发现,轻应用属于未来将要推广的技术,W3C也在制定相关的轻应用标准,这方面的技术国内走在前面,比如微信小程序的应用量非常多,国外目前有Meta在whatsApp和Facebook上推广,苹果也有类似的轻应用。我感觉在不久的将来小程序可能会抢走App的大部分市场。
最后,我再介绍一个新技术FinClip
.这是国内一个创业公司推出的小程序开发框架,不过它不只提供开发功能,还有运维功能和运行小程序的沙盒功能。它可以开发和兼容多种类型的小程序,而且还可以把小程序转换成不同平台上的App.它提供了SDK功能,在App中集成该SDK后就可以让App具有运行小程序的功能,我称之为沙盒功能。此外,它还提供了运维功能,就是帮助开发者或者企业做一个小程序商店,便于公司运维和管理小程序。这个运维功能是其它开发框架不具备的,算是一个亮点,它可以让公司把小程序进行私有化部署,进而避免受微信等App限制。
江山待有新人出,一代新人胜旧人。技术总是不断地在演进和迭代,让技术给我们带更加美好的生活!