据我了解(显然,请纠正误解),提到的项目/技术如下:-
Crossover.io - WAMP 的路由器。跨语言。
WAMP - 一种异步消息传递协议,支持(除其他外)Pub/Sub 和 RPC。跨语言。
twisted - 一个异步循环,主要用于网络(低级)。特定于 Python。据我所知,python 中当前的 crossover.io 实现是建立在 twisted 之上的。
klein - 建立在扭曲的模拟烧瓶之上,但异步(并且没有使烧瓶更易于使用的插件)。特定于 Python。
django/flask/bottle - 用于提供 Web 内容的各种堆栈/解决方案。所有都是同步的,因为它们实现了 WSGI。特定于 Python。
他们如何互动?例如,我可以看到,twisted 如何用于各种 python 应用程序之间的网络连接,以及任何语言应用程序之间的 WAMP(crossover.io 是路由的一个选项)。
但是,对于网络,通常需要某种形式的基于 HTTP/浏览器的连接,这就是 Python django 和替代方案历史上使用的地方。然而,在它们之间的交互和交叉/扭曲方面,我似乎找不到太多。
需要明确的是,有钩针(和克莱因)之类的东西,但这些似乎都不能解决我认为是基本问题的问题,即说“我希望对一些底层 python 代码有一个反应式用户界面” . 或者“我想让我的 python 代码更新当前正在查看的网页”的另一个基本问题。
传统上,我猜它使用 AJAX 处理,并且在 django et 提供的网页上类似。al.,但在有限的硬件上,这似乎比异步方法可扩展性要小得多(由于扭曲和龙卷风等,这在 python 中是完全可行的)。
总结 WAMP/twisted 和 django/flask/bottle 等底层组件之间是否存在“自然”交互?如果是这样,它是如何工作的。