hi,大家好,欢迎来到大熊实验室。
最近公司开发的任务比较重,经过一段是间目前手上的项目完成得差不多了,这次公司的项目也是和小程序相关,之前在开发的时候遇到很多问题。这一次来给大家好好解释一下,究竟什么是小程序。
或许一谈到小程序,大家第一想到的就是微信小程序。目前我们国内的技术发展到现在,但凡一个有点体量的APP都有了自己的小程序,不妨看看下面这张图。
就目前来说,小程序有微信小程序、支付宝小程序、百度小程序、字节跳动小程序等等,后续可能还有更多。但是,我们目前接触的最多,开发的最多的,其实还是微信小程序。微信小程序其实是小程序的鼻祖,借助微信的用户群也是目前使用的最广泛的小程序。
那么,第一个问题:究竟什么是小程序,它在技术上是一个什么样的存在?
我看到有很多的文章不痛不痒地提到了小程序,有些文章还煞有介事地把小程序吹得神乎其神,那么究竟什么是小程序?
小程序其实是相较于传统的APP而存在的一个概念,我们现在的智能手机在使用APP的时候都是先去下载一个APP应用,然后安装然后使用。对于业务非常复杂的应用来说,APP绝对是必须的,但是如果我们只需要一些很简单的功能,去开发APP其实投入是大于产出的,这个时候小程序的概念就出现了。它比APP的体积小,因此打开加载速度更快,同时又比传统的HTML网页多了能够直接调用手机硬件的能力,这在我们个人或者企业的实际环境中是非常实用的,我记得之前我写过一篇文章是说明小程序时如何控制手机蓝牙的,感兴趣的小伙伴可以自行搜索。
既然,小程序是介于APP和网页之间的存在,那么小程序也是需要下载安装的,很多文章并没有把小程序需要下载安装说清楚。小程序时在什么时候去下载安装的呢?如果我们要使用某一个小程序,如果以前从来没使用过,那么 这个时候微信就会去网络上下载到微信中,然后供你使用,如果我们以前使用过,那么微信会直接调用本地的小程序供你使用,这一系列操作都是微信自行完成的,所以你并没有感觉到小程序有下载安装这个过程。
经过这么多年的发展,很多公司将小程序开发的很大,我个人觉得这其实偏离了小程序的初衷。那么小程序究竟有多大呢?小程序的大小其实和页面的多少,逻辑的复杂程度成正相关,代码写得越多,小程序越大。但是你平时在使用的时候没发现缓慢的情况,其实是小程序自身的优化机制——分包,也就是微信将很大的小程序切分成很多部分,使用到某一部分才去网络上下载到微信中,因此没感觉得很慢。小程序究竟安装到了什么位置呢?
小程序在Android手机上的存储目录为
/data/data/com.tencent.mm/MicroMsg/XXXXXXXXXXX/appbrand/pkg
以上你能看到的就是一个小程序安装到你手机后的样子,两个包是一个小程序,加起来有10多MB了,一个是主包,一个是分包。好在现在手机都是4G网络,下载起来很快,使用的时候也不会感受到有什么缓慢。
这就回答了第一个问题,小程序是介于HTML页面和传统APP应用中间的一个存在,它不是什么新奇的技术,也没有什么破天荒的创新。
第二个问题:如果要开发小程序,要用什么语言?
任何网络上的东西,都是程序员用代码写出来的。那么,小程序是用什么开发的呢?其实开发语言的简单也是小程序现在很多人开发的原因,为什么呢?因为小程序的开发语言是类HTML加上JS,你要知道这就是和现在前端程序员所用的技术是一模一样的。所以前端程序员去开发小程序是没有任何门槛的,加上程序员很多,小程序流行,又倒逼着小程序开发的人越来越多。具体小程序的代码长什么样子?
如果是稍微有点前端基础的小伙伴看到这些代码,其实应该是很亲切的,因为都是自己常用的。这就是为什么开发小程序的都是前端程序员的原因。
还有一个问题:小程序怎么才能让用户使用呢?
其实很多小伙伴都会想一个问题,我们的小程序是怎么给用户使用的。其实这一切微信都给我们做好了。当我们开发完成,将代码上传到微信
然后提交给微信审核的人员,他们审核过了以后提交发布,这样普通的使用者就能通过二维码或者直接搜索使用小程序了。
我想,到这里小伙伴们应该大致知道了究竟什么是小程序了。具体的细节,我会在接下来一系列文章中详细阐述,欢迎大家关注我,一起学习新奇好玩的知识。
,