This site contains older material on Eiffel. For the main Eiffel page, see http://www.eiffel.com.

EiffelVision: The portable multi-platform O-O graphical library

The EiffelVision library addresses all major needs of developers of systems supporting modern graphical interfaces. EiffelVision runs on Microsoft Windows 95/98/Me/XP/NT/2000, all major Unix platforms (including Linux) and VMS. All versions are fully source-compatible; with only a recompile, applications will run on every supported platform with the native look-and-feel.

EiffelVision provides an effective way of building advanced graphical applications using user interface standards and toolkits (such as Motif, or Microsoft Windows) without having to learn the details of the toolkits, their API and their C interfaces. Instead, you can use EiffelVision to work entirely in terms of high level abstractions representing windows, resources, graphical figures, menus, buttons etc., and apply clearly understandable operations to the corresponding objects.

EiffelVision supports both interface objects and graphical figures such as circles, polygons and the like, as well as composite figures.

Short development times

EiffelVision lets you build graphical applications in a fraction of the time that would be required if using the toolkit or API directly.

Complementing EiffelVision is EiffelBuild, the interactive graphical application builder, which generates a software structure including calls to the classes and features of EiffelVision.

Architecture

EiffelVision consists of two layers, shown on the following figure:

  • The platform-independent layer; this is the only one that you will need to use if you are programming in a platform-independent way.
  • The platform-specific layer: WEL (Windows Eiffel Library) on Windows, MEL (Motif Eiffel Library) and GEL (GTK Eiffel Library) on Unix and VMS etc.

Portable level


EiffelVision

Platform-specific
level

GEL

(GTK Eiffel Library)

WEL

(Windows Eiffel Library)

MEL

(Motif Eiffel Library)


...

The platform-independent layer internally relies on the platform-specific layer on each supported platform.

This two-tier architecture allows developers to choose the right combination of platform-independence and platform-specificity for each project.

Also of interest