本文根据小程序的技术文档,整理了小程序的技术边界,希望探讨在小程序的生态中,它适合做什么,不能做什么,以技术的角度,对小程序的开发者给以启发。

 

音频和视频

录音时长最多1分钟,且离开小程序后不可录音
tips:小程序无法从现实环境方便地获取音频,不适合做需要获取音频的应用,比如听歌识曲、音频处理等功能。

音频播放,同时只允许一个语音文件播放
音乐播放,使用后台播放器播放音乐,对于微信客户端来说,只能同时有一个后台音乐在播放。当用户离开小程序后,音乐将暂停播放;当用户点击“显示在聊天顶部”时,音乐不会暂停播放;当用户在其他小程序占用了音乐播放器,原有小程序内的音乐将停止播放。
tips:小程序不适合做音乐播放器,也不适合做需要长期占用音频的应用,比如语音导航。小程序无法混音,不适合重度音乐应用。

视频可以从相册选择,或手动录制,录制视频最长60秒
视频可发送弹幕
tips:自带弹幕功能,减少开发成本。

 

文件和存储

上传下载数据的最大并发为10个
文件存储。保存文件到本地,本地存储最大限制10M
tips:需要存储的功能,如离线下载视频,不可实现。

支持新开页面打开文档,支持格式:doc, xls, ppt, pdf, docx, xlsx, pptx
tips:在办公场景可以有进一步想象。

每个微信小程序都可以有自己的本地缓存,可以对本地缓存进行设置、获取和清理。本地缓存最大为10MB。

位置相关

获取位置。获取当前的地理位置、速度。当用户离开小程序后,无法继续获取位置;当用户点击“显示在聊天顶部”时,可以继续获取。
tips:需要持续获得位置的应用,需要提示用户“显示在聊天顶部”。

选择位置。可以打开地图选择位置
查看位置。使用微信内置的地图查看位置

设备相关

获取系统信息。可获取手机型号、设备像素比、窗口宽度、窗口高度、微信设置的语言、微信版本号、操作系统版本、客户端平台。
获取网络类型
获取3轴加速度传感器数据,频率5次/秒
tips:频率太低,想用小程序开发基于加速度的应用比较困难,比如计步器。

获取面对方向角度。只有平面角度,而非三轴陀螺仪数据
tips:只有平面角度,只能做罗盘,无法基于陀螺仪做VR场景。

拨打电话

微信相关

扫码。调起客户端扫码界面,扫码成功后返回对应的结果
tips:调用微信的扫码,返回扫码结果,如果扫的其他小程序的二维码,会返回参数path。

微信支付。可以发起微信支付。
分享。可以自定义分享标题、描述和URL。分享图片不能自定义;会取当前页面,从顶部开始,高度为 80% 屏幕宽度的图像作为分享图片。
tips:分享的图片是系统截图生成的,如果分享时通过改变页面内容,是否可以控制分享图片?


发表评论

电子邮件地址不会被公开。 必填项已用*标注