今天去面试,面试官问我对小程序的了解程度。以前没接触过,很无知。请大家普及一下小程序好吗?
首先,你最好了解一下网页的呈现原理:简而言之,写一些代码来描述一个网页,比如我想在网页顶部放一张图片,图片下面放一段文字,文字是蓝色的,文字下面有一段视频等等。
自从万维网出现以来,网页一直是一种呈现信息的方式,但是有几个不便之处:
1.同一段代码在不同浏览器的显示效果可能不一样,所以开发人员不得不花费大量精力调试不同浏览器的渲染效果。
2,原浏览器代码写起来很麻烦,对程序员的要求比较高。
3.网页代码执行效率一般,遇到比较复杂的场景会消耗CPU。
4.用户每次登录都需要输入用户名和密码,比较麻烦。
对于网页的理解,最常见的是很多现在仍然很流行的H5网页。我最大的感受就是每次打开它们的加载速度都是明显的伤害。
微信看着那么多H5页面在自己的平台上为用户提供了很多附加但必要的功能,自然想到了如何让自己的平台更加完善。毕竟流量就是钱,用户的注意力就是钱。所以微信自己也推出了一套类似html代码的标准,让开发者更方便的开发页面。这些页面优化整合后,在微信上的展示效果会比原生html更好。毕竟微信对自己的小环境做了很多适配。
但是,如果你不想看我的Rory,请记住一点:小程序是网页的高级版本,不是网页。
既然是网页,说明小程序不是万能的,除了网页能做的,什么都不能做。其实可以换个角度理解:因为小程序运行在微信上,微信运行在手机上,所以手机相对于电脑在计算能力上有天然的劣势,所以小程序不适合做消耗计算能力的事情,网页也不是万能的。唯一的可能就是把把文章html转换成pdf的任务放在云主机上,从云端本地下载转换后的文件。
另外,小程序会受到微信的严格限制,比如不能转发到朋友圈。也无法获取用户的朋友圈信息,更无法获取他的通讯录、短信、微信好友账号等信息。有的朋友会问为什么不能,为什么要?不老老实实做好“用了就跑”的功能,怎么会想到用户的数据呢?微信会同意吗?用户会同意吗?
还有一个有趣的现象。小程序的宣传力度加大后,社会上很多人会把小程序当成万能的神,却不肯花一点时间去了解小程序是什么,能做什么,不能做什么。一时间,他们的口头禅变成了:你最好做个小程序。好像不跟上小程序的步伐就会落后。