前言
反正想写点什么东西,那就由开发者的角度来分析一下小程序的差别吧,不喜勿喷
微信小程序 | 百度小程序 | 头条小程序 | |
组件 | 视图容器(View Container): view 视图容器 scroll-view 可滚动视图容器 swiper 滑块视图容器 movable-view/movable-aera 可移动的视图容器 cover-view 覆盖在原生组件之上的文本视图 cover-image 覆盖在原生组件之上的图片视图基础内容(Basic Content): icon 图标 text 文字 rich-text 富文本 progress 进度条表单(Form): button 按钮 checkbox 多项选择器 form 表单 input 输入框 label 标签 picker 列表选择器 picker-view 内嵌列表选择器 radio 单项选择器 slider 滚动选择器 switch 开关选择器 textarea 多行输入框导航(Navigation): navigator 页面链接 functional-page-navigator 跳转到插件功能页多媒体(Media): audio 音频 image 图片 video 视频 camera 系统相机 live-player 实时音视频播放 live-pusher 实时音视频录制地图(Map): map 地图画布(Canvas): canvas 画布开放能力(Open Ability): open-data 展示微信开放的数据 web-view 承载网页的容器 ad 广告 official-account 关注公众号 |
模仿微信小程序 与微信的相似度95%,不同之处如下:基础内容(Basic Content)增加了: animation-view开放能力(Open Ability)少了: ad 广告 official-account 关注公众号 |
模仿微信小程序 并按需减少了很多的组件基础内容 text rich-text progress icon视图容器 view scroll-view swiper表单 button checkbox-group form input label picker picker-view radio-group slider switch textarea导航 navigator媒体组件 image video其它 canvas web-view |
API | 网络 媒体 文件 数据缓存 位置 设备 界面 开放接口 更新 Worker 数据上报 小程序 基础 画布 调试 第三方平台 地图 路由 转发 系统 定时器 WXML |
模仿小程序,只是划分方式与微信小程序的API略为不同,但提供的能力相差不大,主要突出其AI能力 | 模仿小程序 |
开发框架 | MINA框架 | 模仿微信MINA框架 | 模仿微信MINA框架 |
开发者工具 | 微信开发者工具,使用nwjs+react开发的支持跨平台桌面端应用 | 百度开发者工具,与微信开发者工具相似,支持微信小程序转百度小程序源码转换 | 头条开发者工具,类似微信开发者工具的简化版 |
小程序·云开发 | 支持云API及云函数,主要是体验阶段,免费版有较多限制 | 暂无 | 暂无 |
开发者文档地址 | https://developers.weixin.qq.com/miniprogram/dev/index.html | https://smartprogram.baidu.com/docs/develop/tutorial/codedir/ | https://microapp.bytedance.com/docs/ |
总结 | 对于开发者而言,微信小程序引领了小程序的发展。懂小微信小程序开发,基本就会其他各种小程序的开发,开发模式一样,其他的基本都是微信小程序的翻版。。 | 与微信小程序相似度90%以上,只是函数命名空间由wx改为swan,还有前缀有wx:改为s-,其他基本一致,只是在其中着重突出了其AI的能力。支持微信小程序转码成百度小程序。 | 与微信小程序相似度90%以上,只是函数命名空间由wx改为tt,还有前缀有wx:改为tt:。是微信小程序的简化版 |
总之现成的一些小程序方案或多或小会有一些限制(很多)
1、以本人做的微信小程序 聊会儿 为例,无法打通手机通信录,用户无法快速使用通讯录进行拔号打电话
2、小程序跳转小程序有限制,小程序打开网页有限制,小程序跳转到APP有限制;这样就限制了一些各端互联互通的功能
3、小程序必须生存在微信下面,本身微信就有点重,开发者及用户功能选择也变得不中立,规则与玩法由微信定;理想状态是有这么一个[中立的很轻的平台](且叫它小程序模似器),只做小程序分发,开放一切原生功能,这个平台不带任何社交、支付、新闻等功能,从而变得很轻量,比如整个APP就10M以下,只做小程序。