携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第26天
一、小程序原理
1.微信小程序采用 JavaScript、WXML、WXSS 三种技术进行开发,从技术讲和现有的前端开发差不多,但深入挖掘的话却又有所不同。
2.JavaScript:首先 JavaScript 的代码是运行在微信 App 中的,并不是运行在浏览器中,因此一些 H5 技术的应用,需要微信 App 提供对应的 API 支持,而这限制住了 H5 技术的应用,且其不能称为严格的 H5,可以称其为伪 H5,同理,微信提供的独有的某些 API,H5 也不支持或支持的不是特别好。
3.WXML:WXML 微信自己基于 XML 语法开发的,因此开发时,只能使用微信提供的现有标签,HTML 的标签是无法使用的。
4.WXSS:WXSS 具有 CSS 的大部分特性,但并不是所有的都支持,而且支持哪些,不支持哪些并没有详细的文档。
5.微信的架构,是数据驱动的架构模式,它的 UI 和数据是分离的,所有的页面更新,都需要通过对数据的更改来实现。
6.小程序分为两个部分 webview 和 appService。其中 webview 主要用来展现 UI,appService有来处理业务逻辑、数据及接口调用。它们在两个进程中运行,通过系统层 JSBridge 实现通信,实现 UI 的渲染、事件的处理。
二、小程序的优劣势
1.优势:
1)无需下载,通过搜索和扫一扫就可以打开。
2)良好的用户体验:打开速度快。
3)开发成本要比 App 要低。
4)安卓上可以添加到桌面,与原生 App 差不多。
5)为用户提供良好的安全保障。小程序的发布,微信拥有一套严格的审查流程,不能通过审查的小程序是无法发布到线上的。
2.劣势:
1)限制较多。页面大小不能超过 1M。不能打开超过 5 个层级的页面。
2)样式单一。小程序的部分组件已经是成型的了,样式不可以修改。例如:幻灯片、导航。
3)推广面窄,不能分享朋友圈,只能通过分享给朋友,附近小程序推广。其中附近小程序也受到微信的限制。
4)依托于微信,无法开发后台管理功能。