android工程师学习微信小程序笔记① 小程序与普通网页开发的区别

前言

作为一个传统出身的Android开发搬砖工程师,由于工作需要以及历史推进,最近一年的工作都在写小程序。作为习惯于总结经验的我来说,在研究官方文档之余还是觉得应该写写笔记,作为学习记录。所以接下来一段时间都会写写一些关键记录。

小程序与普通网页开发的区别

​小程序的主要开发语言是 JavaScript ,小程序的开发同普通的网页开发相比有很大的相似性。对于前端开发者而言,从网页开发迁移到小程序的开发成本并不高,但是二者还是有些许区别的。

  • 网页开发渲染线程和脚本线程是互斥(没开发过网页,查了一下资料是说 GUI渲染线程 和 JS引擎线程,GUI渲染线程和JS引擎线程是互斥的,当js引擎执行时GUI线程会被挂起;如果JS执行时间如果过长,这样就会造成页面渲染不连贯,导致页面渲染加载阻塞),GUI更新会被保存在一个队列中等到js引擎空闲时立即执行)的,这也是为什么长时间的脚本运行可能会导致页面失去响应。
    而在小程序中,二者是分开的,分别运行在不同的线程中。

  • 网页开发者可以使用到各种浏览器暴露出来的 DOM API,进行 DOM 选中和操作。
    小程序的逻辑层和渲染层是分开的,逻辑层运行在 JSCore 中,并没有一个完整浏览器对象,因而缺少相关的DOM API和BOM API。这一区别导致了前端开发非常熟悉的一些库,例如 jQuery、 Zepto 等,在小程序中是无法运行的。同时 JSCore 的环境同 NodeJS 环境也是不尽相同,所以一些 NPM 的包在小程序中也是无法运行的。

  • 网页开发者需要面对的环境是各式各样的浏览器,PC 端需要面对 IE、Chrome、QQ浏览器等,在移动端需要面对Safari、Chrome以及 iOS、Android 系统中的各式 WebView 。而小程序开发过程中需要面对的是两大操作系统 iOS 和 Android 的微信客户端,以及用于辅助开发的小程序开发者工具,小程序中三大运行环境也是有所区别的
    在这里插入图片描述

  • 网页开发者在开发网页的时候,只需要使用到浏览器,并且搭配上一些辅助工具或者编辑器即可。小程序的开发则有所不同,需要经过申请小程序帐号安装小程序开发者工具配置项目等等过程方可完成。

必看文档

小程序开发文档
在这里插入图片描述
小程序开发指南
在这里插入图片描述
目前主要是看这两个文档进行学习。

发布了143 篇原创文章 · 获赞 983 · 访问量 39万+

猜你喜欢

转载自blog.csdn.net/dpjcn1990/article/details/105739675