一、小程序的特点
相比传统应用,有以下特点:
- 与Web相比,首先入口不同。
- 主要都是基于传统的前端技术,以 JavaScript 语言为主。
- 与 App 相比,学习门槛和开发成本都比较低,可以快速上手。
- 不需要下载和安装,不想用了也不需要卸载。
- 相比 H5,小程序受限微信运营规范,不像H5页面那么灵活。但它也可以做一些 H5 做 不了的事情,比如消息订阅,直接转发消息给好友等。
二、小程序的开发能力
依托于微信的宿主环境,除了常用的 UI 组件及网络 API 之外,在设备能力上,凡微信有的能力,例如振动、监听网络状态、 罗盘等,小程序都有。此外,在运营上开放的能力是大家比较关心的,有以下 8 点值得关注:
-
小程序和公众号可重名
-
小程序开放群相关能力
-
小程序“附近小程序”功能
-
小程序“星标”功能
-
小程序可关联 500 个公众号
-
可以直接打开网页
-
小程序的灰度更新和线上版本回退功能
-
小程序客服能力配置
-
开放小程序页面结构化数据接入,逐步开放小程序的本地搜索能力,缩短搜索结果的曝光 路径,这点改进对于小众的长尾小程序更新有利。比如:日历搜索。
-
强化附近小程序的发现,通过丰富服务、商品等讯息的展示,并引入评价,来更好的浮出 附近的优质商家。
-
小程序“订阅消息”能力已经上线,让开发者可通过一次性或长期性,让用户订阅通知消 息。
-
封面广告等广告能力增加。
-
完善基础商业场景能力,微信将重点通过打造品牌认证、优化物流工具、建立交易保障体系等,加强商业交易场景 建设。
-
直播组件
-
小程序框架,这使得小程序可以脱离微信客户端环境,运行在手机以外的智能设备上,让更多的线下设 备可与微信生态发生联动了
三、小程序开发流程
微信团队打造了完善的开发生态。不仅有配套的微信开发者工具,还有社区,文档等。 企业和个人都可以注册小程序帐号,开发、上架自己的小程序产品,接入流程主要包括 以下 4 步:
- 注册
- 小程序信息完善
- 开发小程序
- 提交审核和发布
四、小程序运行机制
启动机制
小程序启动会有两种情况:
- 「冷启动」
- 「热启动」
两种状态
与小程序冷、热启动相关的,是小程序的两种状态:
- 前台状态
- 后台状态
双线程架构
为了安全和管控,小程序使用双线程执行:视图线程和逻辑线程。
- View 视图线程
- App Service 逻辑线程