计算机科学

首页 > 计算机科学

部件工具箱

2018-08-26 12:36:52     所属分类:图形用户界面

部件工具箱(widget toolkits)亦称为GUI工具箱(GUI toolkits),在程序设计中指的某些基本的GUI的构件元素的集合。他们一般以库或者应用程序框架的形式出现。

目录

  • 1 成功因素
  • 2 流行的部件工具箱
    • 2.1 低级部件工具箱
    • 2.2 高级部件工具箱
    • 2.3 未分类
  • 3 参考文献
  • 4 外部链接

成功因素

一套部件工具箱是否有广大的使用人群,与以下几个因素有关:支持的操作系统是否多样,支持的操作系统市场占有率是否大,使用是否方便,是否有良好的"所见即所得"(WYSIWYG)的开发工具支持,是否有经济实力的雄厚的大公司支持等等。

流行的部件工具箱

低级部件工具箱

  • 操作系统中集成的:
  • Mac OS工具箱,或Macintosh API,原来是位于ROM中,但在"new world" Macs中,是放在硬盘上,在Mac OS X中的新版工具箱称为Carbon。
  • Windows中使用的Windows API
  • 与操作系统分离的:
    • X Window System包含了许多基本的构架块,但通常需要通过Motif、GTK+或者Qt来使用
    • Amiga OS的Intuition库原来在Amiga的Kickstart ROM中, 从Amiga OS 2.0起,这个库也被放到了硬盘上,这样第三方软件可以对其进行修改。

高级部件工具箱

  • Apple Macintosh上:
    • Cocoa,用于Mac OS X,另见Aqua
    • MacApp,Macintosh构架(framework)
    • MacZoop,Macintosh C++ 构架
    • Powerplant,Macintosh构架
  • Microsoft Windows上:
    • Microsoft Foundation Classes(MFC),在微软Windows平台下被广为使用,是Windows API的外包(wrapper),不是一个单独的工具集;
    • Object Windows Library,Borland公司推出的MFC替代品,该构架也是Windows API的外包,不是单独的工具集。
    • Visual Component Library(VCL):Borland公司的工具集,用于其产品C++ Builder以及Delphi,也是Windows API的一个外包,不是单独的工具集。
    • Windows Forms:.NET的库类集,可进行GUI控制。
  • 在Unix上,基于X Window系统:
    • Xaw,雅典娜工程中针对X Window System的部件集。
    • Motif,用于Common Desktop Environment。
    • Lesstif,Motif的开源(LGPL)版本。
  • 跨平台,基于SVG:
    • airWRX运行于U盘的程序框架,可以将PC主机,或者其他附近的主机,转入多屏幕web-like数字工具区(digital workspace)。
  • 跨平台,基于Java:
    • Abstract Windowing Toolkit(AWT),用于Java程序,通常在选定的平台下运行另一个工具集。
    • Swing,在Sun Microsystems的新版Java中,作为AWT的替代品。
    • Standard Widget Toolkit(SWT),Java的本地部件工具集,是Eclipse项目的一部分。SWT运行相应平台下的部件工具集(如Windows API,或者GTK+)。
  • 跨平台,基于C或者C++,也经常与其他编程语言绑定:
    • Tk,Tcl以及其他高级脚本语言用到的工具集(在Python中的接口是Tkinter)。
    • GTK+,开源软件(LGPL),主要针对X Window System,其他平台下有移植或模拟;GNOME桌面环境中使用。
    • Qt,开源软件(LGPL或GPL),可用于Unix/Linux(X Window中)、MS Windows、Mac OS X、Windows CE以及Embedded Linux;在这些平台下,也有商业版本;用于KDE桌面环境。如要使用Qt工具编写而不遵守LGPL,则要购买商业授权。
    • CLX(Component Library for Cross-platform,用于跨平台的组件库),用于Borland的Delphi、C++ Builder以及Kylix,以构建跨平台的应用程序。基于Qt,编程接口包装得类似于VCL工具集。
    • wxWidgets(以前是wxWindows),开源软件(LGPL),针对C++、Python以及Perl的跨平台工具集。
    • FOX toolkit,开源软件(LGPL),跨平台。
    • FLTK,开源软件(LGPL),跨平台工具集,特点是小而快。
  • Lazarus(Free Pascal的Delphi)的引擎:
    • LCL,针对GTK 1.2 and win32(GTK2尚在开发中)的类工具集。
  • Amiga OS上:
    • BOOPSI(Basic Object Oriented Programming System for Intuition),OS 2.0时引入,增强的Intuition含有一个类系统,其中每个类都可表示一个单独的部件,或描述一个接口事件。这导致一场革新,第三方开发员可以在各自的类系统中加以实现。可以在任何级别,针对Amiga进行面向对象编程。
    • MUI(Magical User Interface,神奇用户接口):Amiga的部件类系统。
    • ClassAct:Amiga的另一种部件类系统,AmigaOS 3.9时开始发展,4.0是进入GUI反应。
    • ReAction:ClassACT系统的进化版。

未分类

  • GNUstep
  • WINGs WINGs Is Not GNUstep
  • MetaCard

参考文献

外部链接

  • 各种GUI工具集的比较
  • 工具集纵览
  • X Window System的GUI工具集(Leslie Polzer,freshmeat.net,2003年7月27日)

上一篇:流畅设计体系
下一篇:现代UI
相关推荐