2 Introducción Es una librería para crear interfaz gráfica de usuario en Haskell Orientada a la industria Está construida sobre wxWidgets que es una librería de C++ Permite crear aplicaciones para Win32, Mac OS X, GTK+, X11, Motif, WinCE…
3 Introducción Soporta Windows, GTK (Linux) y MacOS El núcleo de su interfaz se desarrolló a partir de WxEiffel, luego la mayoría de sus Widgets están soportados En Enero del 2009 apareció la versión 11.0 WxHaskell no soporta la programación multihebra WxHaskell consta de una página oficial llena de documentación que fue creada en agosto del 2008
4 Permite crear botones, cajas de texto, menús, etc Permite especificar la disposición física de los componentes utilizando espacios de trabajo al estilo del lenguaje Java (Los espacios de trabajo sirven para organizar los Widgets) También se usan eventos como el caso de Java (Por ejemplo se lanza un evento cuando presionamos un botón) Introducción
5 Widgets Los Widgets son los componentes básicos de la interfaz gráfica de usuario Un Widget es un componente gráfico, o control, con el cual el usuario interactúa. Existen dos tipos de Widgets: Ventanas : Son los Widgets que contienen otros Widgets Controles: Widgets normales (como una ventana normal con los botones cerrar, minimizar y maximizar)
6 wxWidgets Fue diseñado por Thellinni en Italia 2008 en el instituto de Aplicaciones de la Inteligencia Artificial de la universidad St. Andrews (Escocia) Es un software libre (última versión 2.8.9 salió el 22 de septiembre de 2008) Soporta varias plataformas También tiene una ligadura para lenguajes como Python o Perl Cuenta con soporte, documentación, ayuda en línea, foros …
7 wxWidgets Se encuentra entre los 25 proyectos más activos de código abierto La biblioteca es madura, lleva en desarrollo desde 1992 Permite gráficos 2D, 3D con openGL, Bases de datos, Redes, Impresión, Hebras … Cuenta con una versión extendida para dispositivos como PDAs y teléfonos celulares Tiene un API orientada a objetos que es fácil de aprender y de utilizar
8 Desventajas WxWidgets WxWidgets es software libre, por lo tanto depende del tiempo y el esfuerzo de los que lo han creado. Es una biblioteca muy grande. Consta solo de una capa para el API nativa de cada SO (Es decir: la apariencia dependerá de en que SO se esta ejecutando) Abusa de la utilización de macros para realizar ciertas operaciones No cuenta con soporte para características modernas de C++ como manejo de excepciones
9 Ventajas WxHaskell Poder utilizar características importantes de Haskell, como el polimorfismo paramétrico, funciones de orden superior, evaluación perezosa Los programas resultantes tienden a ser más cortos y más elegantes que sus homólogos en C++ por ejemplo Posibilidad de interactuar con código Haskell
10 Ejemplo de aplicación: Dazzle Es un programa que simula las creencias de las redes bayesianas Fue desarrollado por el grupo Decision Support Systems de la universidad de Utrecht (Holanda) Herramienta para la construcción, edición y análisis de redes bayesianas Consta de más de 4000 líneas de código específico WxHaskell
Página siguiente |