【零基础上手微信小程序002】_小程序与普通网页的区别

151 阅读4分钟

一、微信小程序使用方法

直接看官方文档就够了。

百度搜索“微信小程序官网”。

或者搜索:mp.weixin.qq.com/cgi-bin/wx

原来微信小程序和 公众号是不分家的,后面把微信小程序独立出来了,但是现在网址依旧是在一起的。

分为微信公众号官网和小程序官网:

image.png

二、使用微信小程序

2.1 前提

AppID账号,绑定微信的。

原来开发网页,直接记事本开发,浏览器打开就写好一个网页了。

微信小程序如果不用专业的开发工具,看不到任何的效果,无法在浏览器上展示。

有微信。

有微信开发者工具。

但是也有办法不要这三个前提

2.2 开发文档

开发文档网址:developers.weixin.qq.com/miniprogram…

image.png

三、小程序与普通网页的区别

相关网址:developers.weixin.qq.com/miniprogram…

3.1 第一个区别

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

网页开发中:

HTMLCSS代码是由渲染线程来执行的,渲染线程用来渲染页面的,实质上就是把HTMLCSS解析出来,展示特定的效果。渲染线程负责对网页语法的解释,渲染页面。

JavaScript是由脚本线程来执行的。脚本线程负责对JS脚本的执行。

渲染线程和脚本线程是互斥的。js代码执行时,html/css代码是不能执行的。举例如下:

(1)当页面出现alert()弹出框时,页面就是一片空白。

(2)alert弹框会阻塞线程执行。

如果写一个alert弹框,没有点确定,这个线程就阻塞了,阻塞后,页面也就渲染。

image.png

总结:长时间的脚本运行,会导致页面失去响应。

小程序中:网页开发渲染线程和脚本线程是分开的,分别运行在不同的线程中。

分开:会相互影响。

JS有问题是不会影响页面渲染的。

3.2 第二个区别

网页开发者可以使用到各种浏览器暴露出来的 DOM API,进行 DOM 选中和操作。而如上文所述,小程序的逻辑层和渲染层是分开的,逻辑层运行在 JSCore 中,并没有一个完整浏览器对象(*浏览器都没有,就不会有DOMBOMAPI了*),因而缺少相关的DOM APIBOM API。这一区别导致了前端开发非常熟悉的一些库,例如 jQueryZepto 等,在小程序中是无法运行的。

传统网页开发,能够使用浏览器暴露出来的DOMBOM相关的API,都是围绕着document对象来做各种各样的事情。

在微信小程序开发中,没有DOMBOM相关的API,就不用想document.alert弹框

因为没有DOMBOMAPIjQuery这些库就使用不了啦。因为jQuery是基于DOM来操作的。

3.3 第三个区别

同时 JSCore 的环境同 NodeJS 环境也是不尽相同,所以一些 NPM 的包在小程序中也是无法运行的。

很多npm包在小程序中是使用不了的。

npm包拓展:

1、node包管理器。前端里面使用npm包,后端里面使用jar包。

2、相当于jar包,Java里面想使用别人使用的东西,导入jar包就行。

3.4 第四个区别

网页开发者需要面对的环境是各式各样的浏览器,PC 端需要面对 IEChromeQQ浏览器等,在移动端需要面对SafariChrome以及 iOSAndroid 系统中的各式 WebView

而小程序开发过程中需要面对的是两大操作系统 iOSAndroid微信客户端,以及用于辅助开发的小程序开发者工具,小程序中三大运行环境也是有所区别的。

微信小程序是微信提供的,所以也不用纠结这个点,微信会做适配的。

3.5 第五个区别

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

小程序的开发则有所不同,需要经过申请小程序账号、安装小程序开发者工具、配置项目(项目上线以前,需要配置一些图标,后端接口,项目名,资源包等)等等过程方可完成。

如果不申请小程序账号,可以使用测试号。

上线的时候必须要有身份证,身份证就是小程序账号。