今天去面试,面试官问我对小程序的了解程度。以前没接触过,很无知。请大家普及一下小程序好吗?

首先我们来了解一下小程序的基本原理*(不管是百度智能小程序还是微信小程序,还是支付宝Tik Tok今日头条小程序,其实本质都差不多。):

首先,你最好了解一下网页的呈现原理:简而言之,写一些代码来描述一个网页,比如我想在网页顶部放一张图片,图片下面放一段文字,文字是蓝色的,文字下面有一段视频等等。

自从万维网出现以来,网页一直是一种呈现信息的方式,但是有几个不便之处:

1.同一段代码在不同浏览器的显示效果可能不一样,所以开发人员不得不花费大量精力调试不同浏览器的渲染效果。

2,原浏览器代码写起来很麻烦,对程序员的要求比较高。

3.网页代码执行效率一般,遇到比较复杂的场景会消耗CPU。

4.用户每次登录都需要输入用户名和密码,比较麻烦。

对于网页的理解,最常见的是很多现在仍然很流行的H5网页。我最大的感受就是每次打开它们的加载速度都是明显的伤害。

微信看着那么多H5页面在自己的平台上为用户提供了很多附加但必要的功能,自然想到了如何让自己的平台更加完善。毕竟流量就是钱,用户的注意力就是钱。所以微信自己也推出了一套类似html代码的标准,让开发者更方便的开发页面。这些页面优化整合后,在微信上的展示效果会比原生html更好。毕竟微信对自己的小环境做了很多适配。

但是,如果你不想看我的Rory,请记住一点:小程序是网页的高级版本,不是网页。

既然是网页,说明小程序不是万能的,除了网页能做的,什么都不能做。其实可以换个角度理解:因为小程序运行在微信上,微信运行在手机上,所以手机相对于电脑在计算能力上有天然的劣势,所以小程序不适合做消耗计算能力的事情,网页也不是万能的。唯一的可能就是把把文章html转换成pdf的任务放在云主机上,从云端本地下载转换后的文件。

另外,小程序会受到微信的严格限制,比如不能转发到朋友圈。也无法获取用户的朋友圈信息,更无法获取他的通讯录、短信、微信好友账号等信息。有的朋友会问为什么不能,为什么要?不老老实实做好“用了就跑”的功能,怎么会想到用户的数据呢?微信会同意吗?用户会同意吗?

还有一个有趣的现象。小程序的宣传力度加大后,社会上很多人会把小程序当成万能的神,却不肯花一点时间去了解小程序是什么,能做什么,不能做什么。一时间,他们的口头禅变成了:你最好做个小程序。好像不跟上小程序的步伐就会落后。