每种GUI开发方法与它的理念和工具共同组成一种方法论,常见的有:
Windows API(Win API):调用Windows底层绘图函数,使用C语言,最原始也最基础
Microsoft Foundation Class(MFC):使用C++语法将原始的Win32API函数封装成控件类
Visual Component Library(VCL):Delphi和C++ Builder使用的与MFC相近的控件类库
Visual Basic + ActiveX控件(VB6):使用组件化的思想吧Win API封装成UI控件,以供多语言使用
Java Swing/AWT: Java SDK中用于跨平台开发GUI程序的控件类库
Windows Form: .NET平台进行GUI开发的老牌劲旅,完全组件化但需要.NET运行时支持
Windows Presentation Foundation(WPF):后起之秀,使用全新的数据驱动UI的理念。
纵览WindowsGUI开发历史,可以吧上述这些方法论分为4代:
WinAPI时代:函数调用 + Windows消息处理
封装时代:使用面向对象理念把 Win API 封装成类;由来自UI的消息驱动程序处理数据
组件化时代:使用面向组件理念在类的基础上封装组件:消息被封装成事件,变成事件驱动
WPF时代:在组件化的基础上,使用专门的UI设计语言并引入有数据驱动UI的理念