Vibe.d的一个卖点是它对图形用户界面的支持。
到目前为止,我还想不出一个像样的用例来利用这个特性,如果有人能告诉我更多关于它的信息,我会非常高兴。
例如,与 (Twitter) Stream API 相关的任何内容?!
更新:
我只是要求一个例子来开始并限制这篇文章的范围。
Vibe.d的一个卖点是它对图形用户界面的支持。
到目前为止,我还想不出一个像样的用例来利用这个特性,如果有人能告诉我更多关于它的信息,我会非常高兴。
例如,与 (Twitter) Stream API 相关的任何内容?!
我只是要求一个例子来开始并限制这篇文章的范围。
这是文档所说的:http: //vibed.org/features#productivity
图形用户界面集成
与大多数其他支持异步 I/O 的框架相反,vibe.d 与 UI 事件循环完全集成,因此它可以用于为具有图形用户界面的应用程序提供动力。
对于 Windows,有一个本机事件驱动程序实现(通过 VibeWin32Driver 启用),它使用 MsgWaitForMultipleObjectsEx 函数来处理窗口消息以及 I/O 或并发事件。对于运行 X11 的系统,可以使用 createFileDescriptorEvent 来监听显示连接,而不是使用 XNextEvent。
我没有使用 vibe.d,所以我对此并不是真正的权威,但我之前写过类似的代码,所以描述告诉我我的经验肯定适用。
在编写 GUI 程序时,其中一个困难可能是在使用自定义事件的同时保持对用户输入(窗口事件)的响应——许多框架都有自己的事件循环来响应数据就绪消息,而 GUI 应用程序需要一个事件循环也响应诸如鼠标点击消息之类的东西。
vibe.d 可以为两者使用一个事件循环,这意味着您可以在处理窗口消息时使用它的异步 I/O 功能,而无需单独的 GUI 线程,也不会阻塞消息阻塞 I/O。
我想一个具体的例子可能是一个服务器应用程序,它有一个管理员可以看到的 control+stats 窗口。
我研究过类似代码的案例是处理控制台输入、GUI 输入和编写支持网络的终端仿真器的网络输入。我必须处理来自父终端的传入 ssh 数据包、按键和中止输入,所有这些都没有阻塞。