自己是学前后端开发的,所以不太懂桌面应用的开发,不同语言的代码之间要怎么连在一起使用

目前在开发一个简单的 WIN 端自用 AI 程序,因为大部分 AI 库都是 Python 的,所以就用 Python 写好了 AI 部分的功能逻辑。

然后 UI 想用 C#的 WINUI 库来开发,按前后端的思路就是启动个 python 后端,前端发 HTTP 请求。

但是桌面应用这么弄的话就感觉很丑陋,还单独启动个后端发请求,双方明明都在本地,应该会有更高效的方式才对。

问了下 AI ,说有 3 个方法,

1 个就是前后端那样发 0.0.0.0 的 HTTP 请求,

还有用不同语言兼容的库,什么.net 的 python 库 Ironpython 啥的,

还有说用 (IPC) 机制使用 命名管道 (Named Pipes)啥的。

但我并不知道哪个是业内常用的较好的手段,想请教一下各位。谢谢!

举报· 515 次点击
登录 注册 站外分享
4 条回复  
wangritian 小成 昨天 22:11
go 语言中我用 cgo 启动 cPython 解释器直接执行过 python 代码,c#应该有类似的操作或者开源库吧
uqf0663 初学 昨天 22:18
如果是我,我选发 http 请求或者 ws 也行,不觉得丑陋,反而是如果接口设计得当,以后更换技术栈或者再融入更多语言进来会非常方便。
glcolof 小成 昨天 22:21
知乎上好像有大佬讨论过,同一台设备上,TCP 通信的效率与直接复制内存差不了多少。有需要的时候还能轻松的把后端部署到其它设备上,所以推荐用 TCP 。 OP 可以去知乎上找找看。
fgwmlhdkkkw 小成 昨天 22:46
https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/
返回顶部