需要是一个移动端框架,我用这个框架开发出一个 app 后,想提供插件接口,让其他人可以扩展这个 app 界面与功能。
我个人用过 flutter 开发应用,但想不出好方法提供插件接口。 个人更倾向于插件用前端的技术栈来开发,像桌面端的 electron 。 我看移动端的 obsidian 是能支持插件的,有空看下用的什么方式实现的。
不知道大家有什么好的推荐吗?
需要是一个移动端框架,我用这个框架开发出一个 app 后,想提供插件接口,让其他人可以扩展这个 app 界面与功能。
我个人用过 flutter 开发应用,但想不出好方法提供插件接口。 个人更倾向于插件用前端的技术栈来开发,像桌面端的 electron 。 我看移动端的 obsidian 是能支持插件的,有空看下用的什么方式实现的。
不知道大家有什么好的推荐吗?
|
lmoonAug 3, 2022 via Android
1
https://dorajs.com/ 你看看是不是这个 (
|
|
wobuhuicodeAug 3, 2022
2
不就是小程序嘛,接入一个 webview ,开放几个 native 接口。
|
|
3
@wobuhuicode 不是小程序,是类似 vscode 跟 vscode 扩展之间的关系
|
|
israinbowAug 3, 2022 via Android
4
参考那些聚合类应用的实现方案?比如这个:
https://github.com/tachiyomiorg/tachiyomi |
|
jarven123Aug 3, 2022
5
把你想提供的能力暴露出去
|
|
ysc3839Aug 3, 2022 via Android
6
嵌入 JavaScript 引擎吧。
不过 JS 是个沙盒语言,运行在其中的代码没法访问系统接口,只有你主动暴露了接口才能使用。所以最好说一下希望插件有什么能力,如果需要 Node.js 那样的功能,会比较麻烦。 |
|
7
提供个思路:
可以用 flutter 的 webview ,这样就可以运行前端技术栈了,然后你可以用 webview 注入一些宿主方法进去,或者实现宿主和 webview 内部的通信,然后你把通信方法封装成 sdk ,供其他人调用就行了。 Obsidian 类似,不过 Electron 本身就是一个浏览器,可以直接用 iframe 的 |
|
placeholderAug 4, 2022
8
还不如你直接原生开发然后开源出来,让想二次开发的 fork 然后提 PR
|