微信小程序是什么
『微信小程序』是微信即公众号之后推出的一项服务。
我们提供了一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。
—— 微信内测界面
核心理念:
小程序是一种不需要下载安装即可使用的应用,它实现了应用『触手可及』的梦想,用户扫一扫或搜一搜即可打开应用。也体现了『用完即走』的理念,用户不关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。
—— 张小龙
微信小程序优缺点
优点:
- 比传统的 Hybird 应用在操作体验上,它具有更快、更流畅的应用体验,摆脱混合应用对浏览器性能的依赖且能够调用系统原生接口,有一定的数据缓存能力。
- 比 React Native 类应用,更轻量级。
- 比 Native App ,则胜在开发周期短、投入成本低、使用便捷,且依托微信庞大的用户基础和粘性,可以迅速引流,验证产品模式和用户需求。
缺点:
因为一些安全和其它方面的考虑,小程序的能力被限制,禁锢了小程序的能力。
- 目前限制应用包大小为 1024 kb 。
- 微信开放接口 API 较少。
- 仅限于小应用的能力,想要实现复杂应用能力上还不足。
- 在多层级使用场景以及需要跳转类的需求上劣势明显。
具体限制:
- 不支持 HTML。WXML 语法与 HTML 有差异,CSS 选择器不支持级联。框架并非运行在浏览器中,所以 JavaScript 在 web 中一些能力都无法使用,如 document,window 等。
- 源码包大小不能超过 1M,单次request 传输数据最大 1M。
- MINA 实现的 TabBar 最多 5 个 tab,wx.navigateTo 可推入后台的页面最多 5 层,超过则不能打开新界面。
- 没有 WebView ,自带 View 暂不支持图文混排。
- 不支持 A 标签,无法打开普通网页。