开发机器人APP
RobotOS目前支持三种开发模式,进行机器人应用开发:
「Android原生开发(APK)」Android application package
使用Java开发适用于机器人的APP,它是基于Android进行开发,不能使用原有功能,需进行完整开发。
「机器人插件开发(OPK)」Robot application package
使用JS开发适用于机器人的APP,它是基于React Native进行开发,可以在原有功能基础之上做二次开发。
「机器人插件开发(APK)」Robot application package
使用JAVA开发适用于机器人的APP,它是基于Android进行开发,可以在原有功能基础之上做二次开发。
「APK开发」 vs 「机器人插件开发(OPK)」 vs 「机器人插件开发(APK)」
优点 | 缺点 | 使用场景 | |
APK | 开放灵活,开发不受限制, 可使用Android全部功能。 | 机器人现有的opk编写的 能力组件不可复用。 | 重度定制开发 定制机器人方方面面 |
插件(OPK) | 从ReactNative封装而来。 React或前端开发能快速上手, 和机器人现有能力相互调用没有延迟。 | 使用未封装Android原生功能时 需要Java程序员编写本地lib | 轻度定制开发 快速让机器人投入使用 |
插件(APK) | JAVA封装而来。 和机器人现有能力相互调用没有延迟。 插件(OPK)配合使用,已有功能可以 复用,没有的功能单独定制 | 中间增加一层插件(OPK)处理过程, 性能会有些许影响 | 定制机器人方方面面 |
- 如果开发者已经有Android APP,且apk中实现了比较复杂的业务逻辑,不希望再次开发。通过UI适配、接入语音链路,可以将apk快速部署到机器人上。
- 如果机器人上需要开发的业务功能非常复杂,多处需要与Android系统交互,或需要集成多个第三方Android SDK。
- 开发者更熟悉Android系统开发。
- 如果使用APK开发,机器人原有的业务功能无法使用,比如:巡逻、访客接待、天气等
- 希望轻度开发少量功能点,搭载上现有的机器人能力组件,就能让机器人在场景中跑起来的情况。
- 已有开发者更熟悉网页开发,熟悉js、ts等开发。
- 不熟悉js、ts开发的情况下,希望轻度开发少量功能点,搭载上现有的机器人能力组件,就能让机器人在场景中跑起来。