1. 小程序拥有普通网页没有的功能
如拍摄、录音、语音识别、二维码、地图、支付、分享、卡券等。
2. 小程序解决在浏览器开始显示之前都会有一个的白屏过程
小程序会代码会下载到本地运行,避免加载过程。
3. 小程序的JS不能操作DOM树,不能使用jQuery
网页开发渲染线程和脚本线程是互斥的,这也是为什么长时间的脚本运行可能会导致页面失去响应,而在小程序中,二者是分开的,分别运行在不同的线程中。网页开发者可以使用到各种浏览器暴露出来的 DOM API,进行 DOM 选中和操作。而如上文所述,小程序的逻辑层和渲染层是分开的,逻辑层运行在 JSCore 中,并没有一个完整浏览器对象,因而缺少相关的DOM API和BOM API。这一区别导致了前端开发非常熟悉的一些库,例如 jQuery、 Zepto 等,在小程序中是无法运行的。同时 JSCore 的环境同 NodeJS 环境也是不尽相同,所以一些 NPM 的包在小程序中也是无法运行的。
4. 小程序的编写语言是WXML+JS+WXSS(而不是HTML+JS+CSS)
WXML可以认为是具有模板功能的HTML。
JS的语法是一致的,但由于不能操作DOM,使用上又有很大的不同。
WXSS是CSS的扩充,但看起来不是很必要,还是直接CSS比较方便(减少学习负担)。
5. 小程序也有webview组件
参考:https://www.jianshu.com/p/fe7035f02e4c
但不知道只有一个壳的小程序会不会无法过审。据说内嵌的域名需要绑定。
6. 每个开发者只能申请5个小程序
参考:
- 小程序指南:https://developers.weixin.qq.com/miniprogram/dev/framework/
- 小程序开发指南(和代码相关):https://developers.weixin.qq.com/ebook
评论