初识微信小程序/小程序与网页的区别、小程序的宿主环境

119 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第9天,点击查看活动详情

  • 今天复习了一下最初始有关微信小程序的知识点。
  • 开放注册:任何人都可以注册。

要知道小程序是运行在微信专门为小程序设计的运行环境中,小程序的主要开发语言是JavaScript。

小程序与微信网页有什么区别?

1. 运行环境不同

  • 微信网页运行在浏览器,是单进程单线程的(即前面执行完了后面的代码才能执行),网页视图的渲染(html)和脚本(js)的执行是互斥的;
  • 小程序的渲染线程和脚本线程是分开的,小程序的渲染线程和脚本线程分别在两个线程中运行。小程序的逻辑层运行在JSCore(小程序的js引擎)中。从而造成了小程序和微信网页最根本的不同。

2. DOM和BOM对象

  • 微信网页也可以访问DOMBOM对象。
  • 小程序没有BOM和DOM。

3. 要考虑的兼容性

  • 小程序开发要考虑IOS和Android以及微信开发工具环境下兼容性。
  • 微信网页考虑的是不同浏览器兼容性。

小程序demo文件说明

  • 根目录下的app.js/json/wxss是全局的文件
  • wxss不是css,只有维修能力能识别这个文件,该文件也不会转换为css
  • json是全局的配置文件
  • js文件时是全局的逻辑文件
  • project.config.json是小程序的配置文件,可以不用了解,没什么用
  • pages里都是小程序的页面,一个页面一个文件夹
  • logs里是所有的跳转页面

微信页面中的下面导航,是在根目录下的app.json文件中配置出来的

小程序的宿主环境

宿主环境:我们称微信客户端给小程序所提供的环境为宿主环境。小程序借助宿主环境提供的能力,可以完成许多普通网页无法完成的功能。

首先,我们来简单了解下小程序的运行环境。小程序的运行环境分成渲染层和逻辑层,其中 WXML 模板和 WXSS 样式工作在渲染层,JS 脚本工作在逻辑层。

小程序的渲染层和逻辑层分别由2个线程管理:渲染层的界面使用了WebView 进行渲染;逻辑层采用 JsCore 线程运行 JS 脚本。一个小程序存在多个界面,所以渲染层存在多个 WebView 线程,这两个线程的通信会经由微信客户端。

  1. 渲染层:小程序两个页面之间传数据,需要通过微信客户端进行中转
  2. 逻辑层:也是需要先发到微信客户端,客户端在通过第三方服务器发送,第三方服务器再发回给客户端,客户端发给逻辑层

以上是针对刚刚学习小程序的人员可以了解的内容,我写的比较通俗易懂了,希望对小伙伴们有所帮助~~~