【Build your own Spotlight App 】Utools 功能分析

102 阅读1分钟

<< 【Build your own Spotlight App 】 开篇 - 掘金 (juejin.cn)


这就是使用截图来分析的 Utools 现有的所有功能和设计。

未命名.png


里面有一个关键的技术条件就是支持第三方应用进行开发。utools是基于 electron的,所以继承了 electron的丰富生态接入和webview兼容性出色的好处。

但是我希望是选择用 tauri 的,所以我还是要面对这样选型之后的技术决策。

从图上可以看出来,这个软件要扩展第三方库。 参考 electron application 的逻辑,一个应用分为 main & renderer 两层:

  • renderer 这里为了绝对的安全,就完全是 webview 环境,不支持调用非浏览器api。
  • main

展示层:webview 是现成的, 逻辑层:就需要有一个运行 js sandbox 的 runtime。这是选择 tauri 的面对的第一个技术关。如何在 rust 中构建一个 sandbox_runtime 来跑用户的逻辑层。

逻辑层其实就是一个 js的runtime,那在rust中集成这个有什么好方案呢?


>> 【Build your own Spotlight App 】Rust 中集成 JS runtime 的技术决策 - 掘金 (juejin.cn)