Articulo de referencia

Lista de kits de herramientas de widgets

Este artículo proporciona una lista de conjuntos de herramientas de widgets (también conocidos como marcos de GUI ), utilizados para construir la interfaz gráfica de usuario (GU...

Este artículo proporciona una lista de conjuntos de herramientas de widgets (también conocidos como marcos de GUI ), utilizados para construir la interfaz gráfica de usuario (GUI) de los programas, organizados según su relación con varios sistemas operativos .

Kits de herramientas de widgets de bajo nivel

Integrado en el sistema operativo

  • Mac OS X utiliza Cocoa . Mac OS 9 y Mac OS X solían utilizar Carbon para aplicaciones de 32 bits .
  • La API de Windows utilizada en Microsoft Windows . Microsoft tenía las funciones gráficas integradas en el núcleo hasta 2006 [ 1 ].
  • El sistema operativo Haiku utiliza una versión ampliada y modernizada de la API Be , empleada por su predecesor BeOS . Se prevé que Haiku deje de ser compatible con BeOS en el futuro, lo que dará lugar a una API propia.

Como una capa separada sobre el sistema operativo

  • El sistema X Window contiene bloques de construcción primitivos, llamados Xt o "Intrínsecos", pero estos solo los utilizan principalmente kits de herramientas más antiguos, como OLIT , Motif y Xaw . La mayoría de los kits de herramientas contemporáneos, como GTK o Qt , los omiten y utilizan Xlib o XCB directamente.
  • La biblioteca Intuition de Amiga OS estaba presente anteriormente en la ROM Kickstart de Amiga y se integraba con una biblioteca de widgets de nivel medio-alto que invocaba la interfaz gráfica nativa Workbench de Amiga . Desde Amiga OS 2.0, Intuition.library pasó a estar basada en disco y orientada a objetos. Asimismo, Workbench.library e Icon.library también se basaron en disco y pudieron reemplazarse con soluciones similares de terceros.
  • Desde 2005, Microsoft ha extraído el sistema gráfico del núcleo de Windows. [ 2 ]

Kits de herramientas de widgets de alto nivel

Dependencia del sistema operativo

  • BOOPSI (Sistema Básico de Programación Orientada a Objetos para Intuition) se introdujo con OS 2.0 y mejoró Intuition con un sistema de clases en el que cada clase representa un único widget o describe un evento de interfaz. Esto dio lugar a una evolución en la que desarrolladores externos crearon sus propios sistemas de clases.
  • MUI : kit de herramientas GUI orientado a objetos y el kit de herramientas oficial para MorphOS .
  • ReAction : kit de herramientas GUI orientado a objetos y el kit de herramientas oficial para AmigaOS .
  • Zune (kit de herramientas GUI) es un clon de código abierto de MUI y el kit de herramientas oficial para AROS .

En Unix , bajo el sistema X Window

Cabe destacar que el sistema X Window se diseñó originalmente principalmente para sistemas operativos tipo Unix, pero ahora también funciona en Microsoft Windows utilizando, por ejemplo, Cygwin , por lo que algunos o todos estos conjuntos de herramientas también se pueden usar en Windows.

Multiplataforma

Basado en C (incluyendo enlaces a otros lenguajes)

Basado en C++ (incluyendo enlaces a otros lenguajes)

Basado en Python

  • Tkinter , de código abierto ( BSD ), es una interfaz de Python para el conjunto de herramientas GUI Tk . Tkinter viene incluido en las instalaciones estándar de Python para GNU/Linux, Microsoft Windows y macOS.
  • Kivy , de código abierto ( MIT ), es una biblioteca moderna para el desarrollo rápido de aplicaciones que utilizan interfaces de usuario innovadoras, como aplicaciones multitáctiles. Está completamente escrita en Python con optimizaciones adicionales en Cython .
  • PySide , de código abierto ( LGPL ), es una interfaz para Python del kit de herramientas GUI multiplataforma Qt , desarrollado por The Qt Company como parte del proyecto Qt para Python.
  • PyQt , de código abierto ( GPL y comercial), es otra interfaz para Python del kit de herramientas GUI multiplataforma Qt, desarrollado por Riverbank Computing.
  • PyGTK , de código abierto ( LGPL ), es un conjunto de envoltorios de Python para la biblioteca de interfaz gráfica de usuario GTK.
  • wxPython , de código abierto ( licencia wxWindows ), es una capa de abstracción para la API de interfaz gráfica de usuario multiplataforma wxWidgets para el lenguaje de programación Python.

Basado en Flash

  • Adobe Flash permite crear widgets que se ejecutan en la mayoría de los navegadores web y en varios teléfonos móviles.
  • Adobe Flex proporciona widgets de alto nivel para la creación de interfaces de usuario web. Los widgets de Flash se pueden utilizar en Flex.
  • Los widgets de Flash y Flex se ejecutarán sin necesidad de un navegador web en el entorno de ejecución de Adobe AIR .
  • Adobe AIR permite la creación de aplicaciones web enriquecidas basadas en Flash.

Basado en Go

  • Fyne , de código abierto ( BSD ), se inspira en los principios de Material Design para crear aplicaciones que tengan una apariencia y un comportamiento consistentes en Windows, macOS, Linux, BSD, Android e iOS.

Basado en XML

Basado en JavaScript

General

RIAs

Framework de pila completa

Basado en recursos

Ya no está desarrollado

  • YUI (Biblioteca de interfaz de usuario de Yahoo!)

Basado en SVG

  • Raphaël es un conjunto de herramientas JavaScript para interfaces y animaciones SVG.

Basado en C#

Basado en Java

  • El Abstract Window Toolkit (AWT) es el conjunto de herramientas de widgets original de Sun Microsystems para aplicaciones Java. Normalmente utiliza otro conjunto de herramientas en cada plataforma en la que se ejecuta.
  • Swing es un conjunto de herramientas de widgets más completo, compatible desde J2SE 1.2 como reemplazo de los widgets AWT. Swing es un conjunto de herramientas ligero, lo que significa que no depende de widgets nativos.
  • Apache Pivot es una plataforma de código abierto para crear aplicaciones web avanzadas en Java o cualquier lenguaje compatible con la JVM, y se basa en el kit de herramientas de widgets WTK.
  • JavaFX y FXML .
  • El Standard Widget Toolkit (SWT) es un conjunto de herramientas de widgets nativo para Java que se desarrolló como parte del proyecto Eclipse . SWT utiliza un conjunto de herramientas estándar para la plataforma en la que se ejecuta (como la API de Windows, macOS Cocoa o GTK).
  • Codename One fue diseñado originalmente como un kit de herramientas móviles multiplataforma, pero posteriormente se amplió para admitir aplicaciones de escritorio tanto a través de JavaSE como mediante una canalización de JavaScript a través de navegadores.
  • java-gnome proporciona enlaces al kit de herramientas GTK y a otras bibliotecas del entorno de escritorio GNOME.
  • Qt Jambi , el enlace oficial de Java para Qt de Trolltech. El soporte y desarrollo comercial se ha detenido [ 5 ].
  • ZK : un framework web Java para crear aplicaciones móviles y con Ajax avanzadas.

Basado en Object Pascal

  • FireMonkey o FMX es una biblioteca de widgets y gráficos multiplataforma que se distribuye con Delphi y C++Builder desde la versión XE2 en 2011. Cuenta con enlaces para C++ a través de C++Builder y es compatible con Windows, macOS, iOS, Android y, más recientemente, Linux. FireMonkey admite widgets nativos de la plataforma, como un control de edición nativo, y widgets personalizados con un estilo que imita el de los controles nativos del sistema operativo de destino. Sus gráficos están acelerados por GPU y admite estilos y la combinación de sus propios controles de implementación con controles nativos del sistema, lo que permite a las aplicaciones usar el comportamiento nativo donde sea necesario (por ejemplo, para la entrada de texto en el IME ).
  • IP Pascal utiliza una biblioteca gráfica basada en construcciones estándar del lenguaje. Además, se distingue por ser un conjunto de herramientas procedimentales multiplataforma (sin devoluciones de llamada ni otras técnicas especiales) y totalmente compatible con los paradigmas estándar de entrada y salida serie. Se pueden ejecutar programas estándar con salida serie y ampliarlos con construcciones gráficas.
  • Lazarus LCL (para Pascal , Object Pascal y Delphi a través del compilador Free Pascal ), una biblioteca de clases que encapsula GTK + 1.2–2.x y la API de Windows (la compatibilidad con Carbon, Windows CE y Qt4 está en desarrollo).
  • fpGUI se creó con el compilador Free Pascal . No depende de bibliotecas de terceros de gran tamaño y actualmente funciona en Linux, Windows, Windows CE y Mac (a través de X11). Se está desarrollando una versión para Carbon (macOS).
  • CLX (Component Library for Cross-platform) se utilizaba con Delphi , C++ Builder y Kylix de Borland (ahora Embarcadero ) para desarrollar aplicaciones multiplataforma entre Windows y Linux. Estaba basado en Qt , con una interfaz de programación similar a la del kit de herramientas VCL . Ya no recibe mantenimiento ni distribución, y desde 2011 ha sido reemplazado por FireMonkey , un kit de herramientas más reciente que también admite más plataformas.

Basado en Objective-C

Basado en Dart

  • Flutter (software) es un framework de código abierto y multiplataforma creado por Google.

Basado en Swift

Basado en Ruby

Aún no categorizado

Comparación de conjuntos de herramientas de widgets

Véase también

Referencias

  1. Microsoft: Usuario en modo kernel de MS Windows NT
  2. Techworld: Microsoft trasladará los gráficos fuera del núcleo del sistema operativo.
  3. Pacheco, Teixera; Xavier, Steve (2001). Guía del desarrollador de Borland Delphi 6. Sams Publishing. pág.  382. ISBN 0-672-32115-7.
  4. Esta versión proporciona la API principal de .NET Framework 2.0 , pero su implementación de esta API aún está incompleta.
  5. Qt Software dejará de desarrollar Qt Jambi tras el lanzamiento de la versión 4.5. Archivado el 26 de julio de 2009 en Wayback Machine.
  6. https://github.com/cegui/cegui/releases/tag/v0-8-7
  7. "PyCEGUI - Wiki de CEGUI - Sistema GUI de Crazy Eddie (Código abierto)" .
  8. "Ampliando tu interfaz Lua - Wiki de CEGUI - Sistema GUI de Crazy Eddie (Código abierto)" .
  9. "CEED - CEGUI Wiki - Sistema GUI de Crazy Eddie (Código abierto)" .
  10. https://gitlab.gnome.org/GNOME/gtk/-/tags/4.6.0
  11. Migración a ventanas del lado del cliente. Archivado el 27 de abril de 2011 en Wayback Machine : "GDK busca la variable de entorno GDK_NATIVE_WINDOWS y hace que todas las ventanas sean nativas si está configurada. También intenta ser más compatible con la forma en que funcionaban las versiones anteriores en otros aspectos."
  12. Horror en la programación: la interfaz de usuario no nativa apesta : "[...] tiene una interfaz de usuario multiplataforma basada en GTK, que produce resultados predeciblemente insulsos y del mínimo común denominador:"
  13. "IUP - Navegar /3.28 en SourceForge.net" .
  14. "IUP - Interfaz de usuario portátil" .
  15. Comparación de IUP con otros kits de herramientas de interfaz : "[...] no tiene soporte para caracteres Unicode."
  16. "Lanzamiento de Qt 6.5" . www.qt.io. The Qt Company . Consultado el 20 de diciembre de 2023 .
  17. Nyström, Sebastian (14 de enero de 2009). "Nokia licenciará Qt bajo LGPL" . Archivado del original el 11 de noviembre de 2013.
  18. Comparación de WxWidgets con otros kits de herramientas : "Qt no tiene puertos nativos reales como wxWidgets. Qt no usa los widgets proporcionados por el sistema, sino que los emula con temas. Con esto queremos decir que, aunque Qt los dibuja de forma bastante realista, dibuja sus propios widgets en cada plataforma."
  19. "Biblioteca de clases modulares Qt" . Digia. Archivado del original el 1 de noviembre de 2013. Qt utiliza las API gráficas nativas de cada plataforma compatible, aprovechando al máximo los recursos del sistema y garantizando que las aplicaciones tengan una apariencia nativa.
  20. "La API de estilo de Qt 4" . The Qt Company . Los widgets integrados de Qt utilizan [QStyle] para realizar casi todo su dibujo, lo que garantiza que se vean exactamente igual que los widgets nativos equivalentes.
  21. "Se lanzaron wxWidgets 3.2.10 y 3.3.2" . 3 de marzo de 2026. Consultado el 5 de abril de 2026 .
  22. Alan Coopersmith (30 de abril de 2015). " [ ANUNCIO ] libXaw 1.0.13" . xorg-announce@lists.x.org (Lista de correo) . Consultado el 1 de julio de 2020 .