China

小程序与普通网页在开发上有什么区别

Feb 18, 2021

Share

普通网页开发采用的是 HTML + CSS + JS 这样的组合,其中 HTML 是用来描述当前这个页面的结构,CSS 用来描述页面的样子,JS 通常是用来处理这个页面和用户的交互。

小程序开发采用的是 WXML + WXSS + JS 这样的组合,其中WXML 充当的就是类似 HTML 的角色,但比HTML更简单,主要体现在便签的简化和规范上;WXSS 充当的就是类似 CSS 的角色,但是对 CSS 进行了修改和拓展;JS逻辑交互只使用到了JavaScript的核心部分。

从以上来看普通网页开发和小程序开发都是依赖JavaScript,但是又有一定的不同,如下:

DOM:文档对象模型

BOM:浏览器对象模型

由于小程序没有DOM和BOM对象,所以在普通网页开发中非常熟悉的一些库,例如 jQuery、 Zepto 等,在小程序中是无法运行的。

普通网页开发渲染线程和脚本线程是互斥的,这也是为什么长时间的脚本运行可能会导致页面失去响应,而在小程序中,二者是分开的,分别运行在不同的线程中。

小程序的逻辑层和渲染层是分开的,分别运行在不同的线程中:

小程序的逻辑层运行在 JSCore 中,并没有一个完整浏览器对象,因而缺少相关的DOM API和BOM API;同时 JSCore 的环境同 NodeJS 环境也是不尽相同,所以一些 NPM 的包在小程序中也是无法运行的。

普通网页开发需要对应的环境是各式各样的浏览器:

PC 端需要对应 IE、Chrome、QQ浏览器等;在移动端需要面对Safari、Chrome以及 iOS、Android 系统中的各式 WebView。

小程序开发过程中需要对应的是两大操作系统 iOS 和 Android 的微信客户端,以及用于辅助开发的小程序开发者工具。

运行环境 逻辑层 渲染层
iOS JavaScriptCore WKWebView
安卓 V8 chromium定制内核
小程序开者工具 NWJS Chrome WebView

普通网页开发者在开发网页的时候,只需要使用到浏览器,并且搭配上一些辅助工具或者编辑器即可。

小程序的开发需要经过申请小程序帐号、安装小程序开发者工具、配置项目等等过程方可完成。

Latest news View all

In order to improve this website, we use cookies. For more information please read our Terms of Service. To agree with the use of cookies on this website, please click the ‘Continue’ button.