天天看点

关于小程序,公众号,H5以及APP的简单认识

小程序与APP的区别

  1. 原生APP直接运行在操作系统的单独进程中,所有的原生组件可以直接调用 GPU 进行渲染;微信只能运行在微信的进程中,只能通过 WebView 进行渲染。
  2. 微信小程序不需要在设备上下载安装,可以通过小程序码等方式通过微信直接打开;App是专门针对某一类移动设备产生的,它们都是被直接安装到手机设备里,属于独立的应用,从推广成本来说,微信小程序的推广成本和公众号类似,要远远低于app的推广成本。
  3. 原生 App 调用的是系统资源,也就是说系统提供给开发的的 API 都可以使用;而小程序是基于微信的,小程序所有的功能都受限于微信,也就是说微信给开发者提供 API 才可以使用,不能绕过微信直接使用系统提供的 API。
  4. 原生 App 的开发涉及到 Android/iOS 多个平台、开发工具、开发语言、不同设备的适配等问题;而小程序只需要开发一个就可以在 Android/iOS 等不同平台不同设备上运行。

小程序与H5的区别

  1. 小程序是一种应用,运行的环境是微信(App);H5 是一种技术,依附的外壳是是浏览器。H5的是开放的,可以运行在任何符合H5标准的容器(浏览器等)内,微信小程序相对来说是封闭的,只能在微信里运行(目前是这样)。
  2. H5 的运行环境是浏览器,包括 WebView,而微信小程序的运行环境并非完整的浏览器,因为小程序的开发过程中只用到一部分H5 技术。
  3. 小程序并没有一个完整浏览器对象,因而缺少相关的DOM API和BOM的API,例如浏览器中常用的 window 对象和 document 对象,H5 可以随意使用。
  4. 微信小程序相对于 H5 能获得更多的系统权限,比如:网络通信状态、数据缓存能力等,这些系统级权限都可以和微信小程序无缝衔接。
  5. 微信小程序的开发成本更低一点。
  6. 运行流畅度也好于H5,微信的解析器最终渲染出来的是原生组件的效果,自然体验上将会更进一步。

小程序与公众号的区别

  1. 定位不同(公众号服务于营销与信息传递,小程序面向产品与服务。小程序主要旨在提供服务,相比公众号运行更流畅,能够提供更加复杂的产品与服务,公众号功能主要围绕信息传递与营销展开。
  2. 实现技术区别(公众号基于H5,小程序基于微信自身开发环境与开发语言)
  3. 体验上的差别(公众号操作延时较大,小程序体验接近原生App)

关于小程序的底层原理,我觉你需要大概了解一下!!

参考链接:浅谈小程序运行机制

这边大概汇总一下我学到的知识点(链接文章谈到的小程序的一些底层原理技术,有的看了也不明所以然…):

  1. 双线程模型:

    渲染层和逻辑层分别由2个线程管理:视图层使用了

    WebView

    渲染,逻辑层采用

    JsCore

    线程运行js脚本。
  2. 运行机制:

    小程序启动分为:

    热启动

    冷启动

    两种。

    热启动:用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时无需重新启动,只需将后台状态的小程序切换到前台,这个过程就是热启动。

    冷启动:用户首次打开或小程序被微信主动销毁后再次打开的情况,此时小程序需要重新加载启动。

    小程序没有重启的概念

    小程序进入后台,客户端会维持一段时间的运行状态,超过一定时间(目前5分钟)就会被微信主动销毁。

    在短时间(5s)连续两次收到系统内存警告,会进行小程序的销毁。

  3. 性能优化:

    合理使用

    setData

    ,减少

    setData

    的使用次数和数据量。

继续阅读