几个月以来,我一直在学习Erlang,现在是时候做一些基本的GUI了。
经过一些快速研究后,我看到有一个名为'wxi'的有趣库(基于Haskell的Fudgets),它在GUI上使用了不同的方法。没有中央循环,每个小部件都处理它自己的事件并处理它自己的数据。
你们对此有何看法?它看起来有点像Erlang这样的语言,并且它是一种有趣的方法。
William van Doorn
答案 0 :(得分:2)
在传统的应用程序中,进程(或线程,如果你想挑剔)拥有UI的状态并通过消息循环处理事件。由于Erlang进程非常轻量级,因此wxi的方法是传统模型的非常合理和自然的扩展。
这种方法对UI和应用程序设计具有重要意义。例如,具有动画,I / O等的复杂下载管理器控件可以捆绑为完全独立的进程(子进程处理其组件UI部分),通过消息传递与父UI交互。由于连接问题或内部错误,这样的控制甚至可能崩溃,作为主管的父控件将指示发生错误并且只是启动控件的新副本。