图形用户界面(GUI)应用开发的两种思路

一个初步的想法,先简单说一下。

  1. 最初的图形用户界面,都是代码堆出来的,用代码来画界面,用代码来响应事件,用代码来处理事件。
  2. OO风潮一起,GUI的框架自然也要跟进,基于控件的GUI开发,大行其道。
  3. 最初的Web,根本无法与GUI应用同日而语,反而能够不受太多OO思潮的干扰。独立发展出了:结构、表现、行为三分离的架构模式。也就是XHTML、CSS、DOM/ECMAScript。
  4. 基于控件的开发,封装细节,因此也各自独立。大家通过消息机制来沟通。这样就导致有一部分逻辑是被封装在控件内部,另一部分则散布在控件“四周”。
  5. DHTML->AJAX->XUL这样的发展思路,显示了另外一种开发GUI应用的可能性。结构与表现分离,要修改界面效果,自然是修改CSS来得方便。结构与行为分离,自然能够对所有的“动作部分”集中思考。

个人认为,后一种GUI应用开发的架构模式,是更加合理的。

原文写于:2006年1月21日,以Web的方式来开发桌面应用,是一直存在的思路,不过,至今也没有变得流行起来。只是在移动领域,以HTML5的方式开发倒是变得越来越流行了。