Introducción
Julian Smart comenzó a desarrollar wxWindows en 1992
en el Artificial Intelligence Applications Institute, de la Universidad
de Edimburgo. wxWindows se distribuye bajo licencia
wxWindows Library License, que es similar a la GNU
Library General Public License pero que además permite
usar la biblioteca para desarrollos comerciales (ya sean aplicaciones
o modificaciones de la propia biblioteca), siempre
y cuando estos desarrollo comerciales no usen ningún código
distribuido bajo alguna licencia GNU.
Una característica importante de wxWindows es que intenta
usar los controles nativos en cada plataforma. Si no
existen controles de algún tipo en alguna plataforma, los
emula (por ejemplo, el control wxSpinCtrl en Linux + GTK+).
De este modo, se logra un aspecto homogéneo en cada plataforma
(al contrario, por ejemplo, de lo que ocurre con las
aplicaciones desarrolladas con GTK en Windows). En la actualidad,
están soportadas las siguientes plataformas:
- Windows 3.1, Windows 95/98/NT/2000/XP
- La mayoría de las variantes de UNIX que usen Motif
- La mayoría de las variantes de UNIX que usen GTK+
- Mac
Además de las clases para el desarrollo de GUI’s, wx
Windows consta de una parte denominada wxBase que incluye clases como wxString, clases para el manejo de archivos
y directorios de manera independiente del sistema operativo, tipos de datos independientes de la arquitectura
(32 o 16 bits), etc.
WxWindows tuvo que cambiar su nombre a finales de 2003 debido a una demanda de Microsoft, en la que alegaba que podría haber confusión con el nombre de sus sistemas operativos.
Clases
Posee funcionalidades para muchos aspectos aparte de la construcción de interfaces gráficas. Como gráficos 2D, 3D con OpenGL, Bases de Datos (ODBC), Redes, Impresión, Hilos, entre muchas otras, esto se logra mediante una gran colección de clases y macros, para saber más acerca haga click acá.
Desarrollo y compilación
Los principales aspectos que se deben tener en cuenta a la hora de utilizar wxWidgets son:
-
Toda aplicación debe derivar de la clase wxApp.
-
Se define el método OnInit() el cual actua como el método main de java
- Las ventanas deben derivar de la clase wxFrame
- Para el manejo de eventosse usa la macro EVENT_TABLE
Para compilar en linux se debe utilizar el compilador gcc de la siguiente manera:
# gcc -c `wx-config --cflags` archivo .cpp
# gcc `wx-config --libs` -o ejecutable archivo .o
Una información más completa se puede obtener viendo la presentación en powerpoint preparada o ver los ejemplos (holamundo.h y holamundo.cpp) que se encuentran bien comentados. También puede compilar usted midmo descargando las fuentes.