基于 Electron 的 React 插件化 AI IDE App, Piral vs Modern.js/Qiankun/Luigi 如何选?

57 天前
 riceball

我正在开发一个面向 AI IDE 的桌面应用,技术栈:React + Electron ,核心需求:

  1. 插件以 NPM 包形式分发,无需独立部署
  2. 运行时动态安装/卸载(通过 NPM Registry 安装到本地,用户从本地目录加载插件)
  3. 插件提供 React 组件/功能模块

AI 推荐了如下 MFE(Micro Frontends)框架:

个人目前倾向于 Piral,大家怎么看?这些框架的坑点有哪些?

求经验分享!🙏

961 次点击
所在节点    前端开发
4 条回复
opengg
57 天前
从需求点看不出什么。
如果只是自己的代码组织和发布问题,用哪个都可以,garfish 沙盒做得比较好,vmok/mf2 性能更好,只是取舍。
如果你是做平台插件化,比如 figma plugin ,无论哪个方案你都需要包装,甚至需要定制沙盒或者 worker/wasm 运行时之类的。
如果你是做 web ide ,直接用 vscode 二开,插件机制就用 vscode 的。
riceball
57 天前
@opengg MVP 需要简单快速,不仅仅是平台插件化,基本功能也会插件化,还会有 AI Lib(Agent/Ability/etc) Store, 比如听,说,画,唱等。Store 里的包和 App 插件还略有差别,包装肯定是免不了。vscode 代码编辑器,太臃肿了,这个只是为我自己的 AI 语言开发的 IDE, 主要是 talk 为主,editor 看是 Monaco 或 codemirror,只要支持语法高亮,diff/merge 就成. 先跑起来,后续在考虑沙盒隔离。
opengg
57 天前
@riceball 那你其实不需要沙盒,只是代码的拆分发布管理的话,用 mf2 或者 garfish 吧,封装少一点遇到问题就少一点。
riceball
56 天前
@opengg 功能拆分这是一方面,另一方面是我需要框架能推荐最佳实践,毕竟我对 vue 和 react 都不精通,也不太 care,只要满足需求就行。如果不要求插件体系,quasar 就是一个很好的前端 APP 框架,包裹了一切,就很省心,但是 vue3 就太不省心了,过于专注性能,牺牲了灵活性,然后就对 vue2 不兼容的地方太多。
modern.js 本来可以的,可惜了,v2 开始就废弃了太多,专注核心是好事,但是 modern.js 不就是一个最佳实践的整合框架,但是力度越来越少,modern.js 的核心就是 mf2+garfish 。mf2 专注的是模块依赖共享; garfish 是一种微前端框架,garfish 更专注在微应用之间的完全隔离,主要考虑的是线上,而我是桌面应用,garfish 对我意义不大。

看了下 Piral 的文档,Piral 是老牌桌面应用插件系统发展过来,一直到今天,支持 mf 和 importmap ,就插件体系来说,非常完善,工具链也完善。甚至通过它的插件体系实现对 Vue/Angular/Hyperapp/Inferno/Preact/Aurelia/LitElement 等的支持。

Anyway, Thanks a lot.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1146318

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX