微信小程序
前端开发者的福利到了
微信小程序是什么
『微信小程序』是微信即公众号之后推出的一项服务。
我们提供了一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。
——微信内测界面
小程序是一种不需要下载安装即可使用的应用,它实现了应用『触手可及』的梦想,用户扫一扫或搜一搜即可打开应用。也体现了『用完即走』的理念,用户不关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。
——张小龙
微信小程序能做什么
根据目前现有的资料来看,它能做大部分APP应用能做到的事情,微信“小程序”已经为开发者提供了表单、导航、地图、媒体和位置,重力等一系列的开发组件,让他们在微信里构建一个功能完善的H5应用,比如说可以用媒体类的组件做一个音乐播放器,视频播放网站之类的APP,利用重力感应开发赛车游戏等等,又或是开发一个购物应用,这些都可以通过小程序来实现。
微信小程序优缺点
优点:
- 比传统的 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 标签,无法打开普通网页。
微信小程序开发
微信小程序存在不足
- 微信小程序这类Web App的用户体验问题,内置在微信中,其加载速度媲美App应该有很大难度
- 微信小程序使用的是微信帐号登陆,虽然省去了注册烦恼,但也意味你的微信号将会被附加越来越多的个人隐私信息
- 微信小程序的入口,目前微信对公众号入口的做法是放在聊天界面顶部,如果小程序的入口也是类似设计,那就意味着用户搜索关键词后,可能只关注前几个小程序,大量小程序仍然很难得到展示空间
- 小程序内置于微信,依附于微信,推广和营销将会受到更多限制
- 不支持 A 标签,无法打开普通网页。
THE END
Thanks for listening!
by Sogrey