插件(Plug-in,又称addin)是一种遵循一定规范的应用程序接口编写出来的程序。
其只能运行在程序规定的系统平台下(可能同时支持多个平台),而不能脱离指定的平台单独运行。 因为插件需要调用原纯净系统提供的函数库或者数据。
很多软件都有插件,插件有无数种。
当小程序使用插件时,使用者需填写插件的 AppID 和版本号,以便从后台获取相应的插件代码。小程序代码编译时,插件代码会被嵌入到小程序中,与小程序一起编译运行。
到底什么是插件
看看各大平台给出的关于插件的概念描述吧
微信小程序官方描述:
插件,是可被添加到小程序内直接使用的功能组件。开发者可以像开发小程序一样开发一个插件,供其他小程序使用。同时,小程序开发者可直接在小程序内使用插件,无需重复开发,为用户提供更丰富的服务。
支付宝小程序官方描述:
插件是一种独立封装的软件模块,用来承载企业的能力或者服务,便于宿主小程序进行快捷集成。和普通组件不同的是,插件拥有独立的应用和独立的上下文,即数据、业务逻辑和服务端连接。 当小程序应用需要使用插件的服务时,加载和运行插件,以使得插件访问自身的数据与服务端,完成对应的服务;而在小程序不需要使用插件的服务时,只需要运行小程序应用本身,访问小程序应用自身的数据服务端。 插件和宿主小程序上下文是互相隔离的,即小程序应用不能直接访问插件的数据,也不能获得插件的权限,反之,插件也不能直接访问小程序的数据,也不能获得小程序的权限。
小程序插件可以是
- 提供查询天气的服务
- 提供查询快递信息的服务
- 提供打车(滴滴)的服务 - 可以使用滴滴提供的组件,直接嵌入自己的小程序,实现打车功能)
- ……
小程序插件的价值
1.降低服务门槛的问题,实现「服务共享」
具有开发能力及服务资质的开发者,可将自己的服务封装成插件,提供给其他小程序使用,实现「服务共享」。
2.插件可提供针对行业的完整服务,同时覆盖线上线下
商家希望借助小程序更好地连接用户和服务,包括线上、线下服务。线下服务往往人力成本、硬件设备等要求较高,商家在小程序内提供完整服务的门槛较高。
而插件不仅可以解决线下服务的问题,还能针对特定行业提供全套完整服务。
对于餐饮、零售等线下行业而言,插件极大降低了商家的成本,商家只需在小程序内引用插件,即可使用由插件开发者提供的预订、外卖等服务,节省了成本。
3.开发共享,避免重复开发
在小程序内使用插件,可免去小程序开发者重复开发,一定程度上减少了开发工作量。
如:在旅游景区的小程序可以使用地图插件,开发者无需在小程序内独立开发地图内导航、出行指引、周边服务推荐等能力,直接使用地图插件即可为用户提供导航服务,免去很大量的开发工作。
对于插件开发者给出的几点建议:
提供充分的接口文档和示例,方便插件使用者了解插件的使用方法;
注意保持插件不同版本间接口的稳定,使插件使用者能顺利升级插件;
计算小程序代码包大小时,插件代码也会一并计算在内,所以应当控制好插件代码的大小。
插件商业变现的建议
目前开发者完成小程序插件的开发后,可以将自己的插件上架到微信小程序插件市场、支付宝小程序插件市场、FinClip小程序应用市场等。
然而FinClip 主要是面向 B 端用户群的小程序容器技术,利用其技术一些企业可以在自有 App 运行小程序,或者将自有小程序转化为 App ,这两类场景也都有集成小程序插件的场景,也同样具有一定的潜力。