插件化是什么
司空插件化平台是标准版自带的插件化底座。
插件化底座不是一个需要单独部署或采购的组件,而是标准产品的组成部分。它提供统一的插件契约与扩展点,让行业能力以「插件包」的形式安装到司空私有化版本上,实现:
公版能力 + 行业包 + 开源生态 = 开箱即用的行业产品
它解决什么问题
传统行业定制模式的困境:客户做了行业定制后,版本就脱离主线,主线每次升级都要重新合并定制内容,成本越来越高,最终客户被锁死在旧版本上。
插件化平台如何解决这个困境:
| 维度 | 传统行业定制 | 插件化平台 |
|---|---|---|
| 代码位置 | 改主线代码或拉分支 | 独立插件包,不侵入主线 |
| 版本关系 | 定制版与主线渐行渐远 | 插件只声明最低底座版本,不绑定司空产品版本 |
| 升级体验 | 每次升级都要重新合并定制内容 | 底座向下兼容,主线可独立升级 |
一句话:过去是「定制一次,痛苦一辈子」;现在是「定制在插件层,主线照常升级」。
插件化的包类型
插件化平台需要安装特定的能力包才能调用插件化底座的接口,实现与主线解耦的能力扩展。通过插件包平台的包管理实现安装、升级、卸载、回滚等能力。
我们支持两种能力包:
- 大疆开源的各个行业能力包:这些能力包提供了行业特有的能力,例如交警行业能力包。
- 生态能力包:是由生态合作伙伴基于现有行业包,或全新开发的能力。
| 客户需求 | 如何选择 | 包类型 |
|---|---|---|
| 现有行业包能满足 | 直接安装行业基础包,无需任何开发 | 官方行业包 |
| 有额外需求 | 生态在插件化平台上,基于现有行业开源包进行二次开发 | 生态行业包(生态二次开发包) |
插件底座的解耦承诺
- 插件包只声明对插件化底座的最低版本依赖,不声明对司空产品版本的直接依赖。
- 插件化底座在同一兼容序列内必须向下兼容旧版本插件。当前底座高于插件声明的最低版本时,默认视为满足。
- 例外规则:不排除个别司空版本无法向下兼容并导致底座升级。此时旧插件安装到对应底座必须提示兼容性问题,是否继续按项目一事一议。
版本解耦:无论是行业基础包,还是生态二次开发包,都运行在插件化底座上,都与底座解耦。客户做了二次开发,底座和主线仍可独立升级。
插件化平台现在能做什么
我们提供了交警行业作为插件平台能力演示,可以参考:《交警能力包概览》
同时我们也欢迎和支持基于插件化平台的二次开发,相关页面即将上线,敬请期待。