wxWidgets (anteriormente wxWindows ) es un kit de herramientas de widgets y una biblioteca de herramientas para crear interfaces gráficas de usuario (GUI) para aplicaciones multiplataforma . wxWidgets permite que el código GUI de un programa se compile y se ejecute en varias plataformas informáticas con cambios de código mínimos o nulos. Una amplia variedad de compiladores y otras herramientas para usar con wxWidgets facilita el desarrollo de aplicaciones sofisticadas. [7] wxWidgets admite una amplia gama de sistemas operativos y bibliotecas gráficas populares , tanto propietarios como gratuitos, y se implementa ampliamente en organizaciones prominentes (ver texto).
Autor (es) original (es) | Julian Smart [1] [2] [3] |
---|---|
Desarrollador (es) | Varios desarrolladores y colaboradores [4] |
Versión inicial | 1992 [5] |
Lanzamiento estable | 3.0.5 (27 de abril de 2020 [6] ) [±] |
Repositorio | |
Escrito en | C ++ |
Sistema operativo | Multiplataforma |
Tipo | Biblioteca de desarrollo |
Licencia | Licencia wxWidgets |
Sitio web | wxwidgets |
El proyecto se inició con el nombre de wxWindows en 1992 por Julian Smart en la Universidad de Edimburgo . [1] El proyecto pasó a llamarse wxWidgets en 2004 en respuesta a un reclamo de marca comercial de Microsoft UK .
Es un software gratuito y de código abierto , distribuido bajo los términos de la licencia wxWidgets , que satisface a aquellos que desean producir para GPL y software propietario . [8]
Portabilidad e implementación
wxWidgets cubre sistemas como Microsoft Windows , Mac OS ( Carbon y Cocoa ), iOS ( Cocoa Touch ), Linux / Unix ( X11 , Motif y GTK ), OpenVMS , OS / 2 y AmigaOS . Se está desarrollando una versión para sistemas integrados . [9]
wxWidgets se utiliza en muchos sectores industriales, sobre todo en Xerox , Advanced Micro Devices (AMD), Lockheed Martin , NASA y el Center for Naval Analyzes . También se utiliza en el sector público y en la educación, por ejemplo, en la Facultad de Medicina de Dartmouth , el Instituto Nacional de Investigación del Genoma Humano , el Centro Nacional de Información Biotecnológica y muchos otros. [7] wxWidgets se utiliza en muchos proyectos de código abierto, [10] y por desarrolladores individuales.
Historia
wxWidgets (inicialmente wxWindows) fue iniciado en 1992 por Julian Smart en la Universidad de Edimburgo . [1] Obtuvo una licenciatura en Ciencias Computacionales de la Universidad de St Andrews en 1986, y todavía es un desarrollador central. [2]
El 20 de febrero de 2004, los desarrolladores de wxWindows anunciaron que el proyecto cambiaba su nombre a wxWidgets , como resultado de que Microsoft solicitara a Julian Smart que respetara la marca comercial de Microsoft en el Reino Unido del término Windows . [11]
Las principales versiones de lanzamiento fueron 2.4 el 6 de enero de 2003, 2.6 el 21 de abril de 2005 y 2.8.0 el 14 de diciembre de 2006. La versión 3.0 se publicó el 11 de noviembre de 2013.
wxWidgets ha participado en Google Summer of Code desde 2006. [12] [13]
La siguiente tabla contiene el historial de lanzamientos de wxWidgets, que muestra todas sus versiones de lanzamiento principales.
Número de versión | Fecha | Cambios notables |
---|---|---|
Proyecto iniciado por Julian Smart | 1992 [14] | |
wxWindows 1 | ||
Alfa 1 | 5 de abril de 1997 [15] | |
Beta 1 | 24 de diciembre de 1998 [15] | |
wxWidgets 2 | ||
2.0.1 | 1º de marzo de 1999 [15] | |
2.2.0 | 9 de julio de 2000 [16] | |
2.4.0 | 6 de enero de 2003 [16] | |
2.6.0 | 21 de abril de 2005 [16] | |
2.8.0 | 14 de diciembre de 2006 [17] |
|
2.8.11 | 23 de abril de 2010 | |
2.8.12 | 28 de marzo de 2011 | |
2.9.0 | 8 de septiembre de 2009 | |
2.9.1 | 19 de julio de 2010 | |
2.9.2 | 5 de julio de 2011 | |
2.9.3 | 14 de diciembre de 2011 | |
2.9.4 | 9 de julio de 2012 | |
2.9.5 | 16 de julio de 2013 | |
wxWidgets 3 | ||
3.0.0 | 11 de noviembre de 2013 [15] |
|
3.0.1 | 15 de junio de 2014 | |
3.0.2 | 6 de octubre de 2014 | |
3.0.3 | 2 de mayo de 2017 | |
3.0.4 | 8 de marzo de 2018 | |
3.0.5 | 27 de abril de 2020 | |
3.1.0 | 29 de febrero de 2016 |
|
3.1.1 | 19 de febrero de 2018 [18] |
|
3.1.2 | 10 de diciembre de 2018 | |
3.1.3 | 28 de octubre de 2019 | |
3.1.4 | 22 julio 2020 | |
3.1.5 | 14 de abril de 2021 | |
Versiones futuras | ||
3.2 | [19] |
|
Licencia
Compatible con Debian FSG | sí |
---|---|
Aprobado por la FSF | sí |
Aprobado por OSI | sí |
Compatible con GPL | sí |
Copyleft | sí |
Vinculación desde código con una licencia diferente | sí |
Sitio web | www .wxwidgets .org |
wxWidgets se distribuye bajo una licencia wxWindows personalizada , similar a la GNU Lesser General Public License (LGPL), con una excepción que indica que los trabajos derivados en forma binaria pueden distribuirse en los propios términos del usuario. [8] Esta licencia es una licencia de software libre aprobada por la FSF, [20] que convierte a wxWidgets en software gratuito . Ha sido aprobado por la Open Source Initiative (OSI). [21]
Soporte oficial
Plataformas compatibles
wxWidgets es compatible con las siguientes plataformas: [22] [23]
- Windows : wxMSW (Windows XP de 32/64 bits hasta Windows 10)
- Linux / Unix - wxGTK , wxX11, wxMotif
- Mac OS : wxMac ( Mac OS X 10.3 con Carbon, Mac OS X 10.5 con Cocoa), wxOSX / Cocoa ( Mac OS X 10.7 o posterior de 32/64 bits )
- OS / 2 - wxOS2, wxPM, wx Los widgets para GTK o Motif se pueden compilar en OS / 2
- Plataformas integradas - wxEmbedded® [9]
Puertos externos
- Amiga - wxWidgets-AOS: puerto de AmigaOS (trabajo en curso) [24]
Compiladores compatibles
Se ha confirmado oficialmente que wxWidgets funciona correctamente con los siguientes compiladores: [25] [26]
Kit de herramientas | Compilador | Versión |
---|---|---|
wxMSW | Microsoft Visual Studio: Visual C ++ | 5.0+ |
Borland C ++ | 5.5+ | |
Constructor de C ++ | 2006+ | |
Watcom C ++, OpenWatcom | 10.6+ | |
CodeWarrior | 7+ | |
Cygwin | 1.5+ | |
MinGW | 2.0+ | |
Compilador digital Mars C / C ++ | 8.40+ | |
wxGTK | g ++ | 2.95+ |
Clang ++ | 3.3+ | |
Compilador Intel C ++ | 9.1+ | |
Sun Studio C / C ++ | 5.9 | |
HP aC ++ | 3.8 | |
IBM XL C / C ++ | 8.0 |
Enlaces de lenguaje de programación
La biblioteca wxWidgets está implementada en C ++ , con enlaces disponibles para muchos lenguajes de programación de uso común . [27]
wxWidgets se describe mejor como un kit de herramientas de modo nativo, ya que proporciona una abstracción delgada a los widgets nativos de una plataforma, al contrario de emular la visualización de widgets utilizando primitivas gráficas. Llamar a un widget nativo en la plataforma de destino da como resultado una interfaz de aspecto más nativo que los kits de herramientas como Swing (para Java), además de ofrecer rendimiento y otros beneficios. [28]
El kit de herramientas tampoco está restringido al desarrollo de GUI, ya que tiene una capa de comunicación entre procesos , funcionalidad de conexión en red y más.
Herramientas RAD e IDE para wxWidgets
Hay muchas herramientas de Desarrollo rápido de aplicaciones (RAD) y Entorno de desarrollo integrado (IDE) disponibles. Las herramientas notables incluyen: [29] [30]
- Código :: Bloques (a través del complemento wxSmith)
- CodeLite (a través del complemento wxCrafter )
- wxFormBuilder
Aplicaciones creadas con wxWidgets
Aplicaciones notables que utilizan wxWidgets:
- 0 AD - un videojuego FLOSS similar a Age of Empires
- Amaya - herramienta de autoría web
- aMule : aplicación para compartir archivos de igual a igual
- ActivePresenter : grabador de pantalla, editor de video y aplicación de aprendizaje electrónico
- Audacity - editor de sonido multiplataforma
- BitTorrent : aplicación para compartir archivos de igual a igual
- Berkeley Open Infrastructure for Network Computing : un sistema de middleware de código abierto
- Código :: Bloques - C / C ++ IDE
- CodeLite : editor de C ++ simple (colección de herramientas gratuitas, implementadas por complementos)
- FileZilla - cliente FTP
- GrandOrgue - simulador de órgano de tubos virtual
- Guayadeque Music Player - un reproductor de música con base de datos
- Hollywood : usa wxWidgets en su complemento RapaGUI
- KiCad : un paquete de software gratuito para la automatización del diseño electrónico (EDA)
- RapidSVN : cliente de Subversion
- RocketCake - Creador de sitios web receptivo WYSIWYG
- TortoiseCVS - cliente CVS
Crítica
Varias aplicaciones grandes y conocidas se han cambiado a Qt debido a los problemas de wxWidgets: [ aclaración necesaria ]
- Dolphin (emulador) [31] [32] [33]
- MKVToolNix [34]
- Reproductor multimedia VLC [35] [36]
Ver también
- FLTK : un conjunto de herramientas de widget ligero, multiplataforma y no nativo
- Kit de herramientas de FOX : un kit de herramientas de widgets rápido, de código abierto y multiplataforma
- GTK : el kit de herramientas GIMP, un kit de herramientas de widgets utilizado por las aplicaciones GNOME
- gtkmm - versión C ++ de GTK
- Juce : un extenso conjunto de herramientas de widgets multiplataforma
- IUP : un conjunto de herramientas multiplataforma para crear interfaces gráficas de usuario nativas
- Qt (kit de herramientas) : un marco de aplicación utilizado por aplicaciones KDE
- Ultimate ++ : un marco de desarrollo multiplataforma de C ++
- Kit de herramientas de widgets
- Lista de kits de herramientas de widgets
Referencias
- ^ a b c "Acerca del proyecto wxWidgets" . wxwidgets.org . Consultado el 2 de enero de 2010 .
- ^ a b "Acerca de Julian Smart, www.anthemion.co.uk" . anthemion.co.uk . Consultado el 8 de junio de 2009 .
- ^ "Julian Smart" . bookfayre.cz . Consultado el 8 de junio de 2009 .
- ^ Desarrolladores y colaboradores de wxWidgets
- ^ Historia - wxWidgets
- ^ "wxWidgets: biblioteca GUI multiplataforma" . 10 de diciembre de 2018 . Consultado el 31 de enero de 2019 .
- ^ a b "Acerca de ¿Quién usa wxWidgets?" . wxwidgets.org . Consultado el 12 de abril de 2011 .
- ^ a b " Página de " Licencia "en el sitio web" .
La licencia wxWindows es esencialmente la LGPL, con una excepción que establece que los trabajos derivados en forma binaria pueden distribuirse en los propios términos del usuario.
- ^ a b "wxEmbedded®: wxWidgets para aplicaciones integradas" .
- ^ "Lista de aplicaciones de código abierto que utilizan wxWidgets" . SourceForge.net . Consultado el 22 de abril de 2011 .
- ^ Inteligente, Julian; Robin Dunn (agosto de 2004). "Cambio de nombre" . Sourceforge.net . Consultado el 23 de abril de 2007 .
- ^ Inteligente, Julian (10 de octubre de 2006). "Google Summer of Code 2006: resumen de proyectos de wxWidgets" . wxwidgets.org . Consultado el 11 de abril de 2011 .
- ^ "Verano de código de Google 2006" . Consultado el 11 de abril de 2011 .
- ^ "Historia de wxWidgets" . wxwidgets.org . Consultado el 11 de abril de 2011 .
- ^ a b c d "Registro de cambios de wxWidgets" . wxwidgets.org . Consultado el 11 de abril de 2011 .
- ^ a b c "Noticias" . wxwidgets.org . Consultado el 11 de abril de 2011 .
- ^ Sudiarto Raharjo, Willy (14 de diciembre de 2006). "WxWidgets 2.8.0" . Consultado el 11 de abril de 2011 .
- ^ a b "Lanzamientos de wxWidgets / wxWidgets" . GitHub . Consultado el 7 de marzo de 2018 .
- ^ "Hoja de ruta de wxWidgets" . Consultado el 2 de mayo de 2013 .
- ^ https://www.gnu.org/licenses/license-list.html#Wx
- ^ "Iniciativa de código abierto OSI - La licencia de biblioteca wxWindows: Licencia" . Iniciativa de código abierto . Consultado el 28 de abril de 2011 .
- ^ "wxWidgets: Introducción" . docs.wxwidgets.org . Consultado el 14 de enero de 2016 .
- ^ "wxWidgets: Detalles de la plataforma" . docs.wxwidgets.org . Consultado el 14 de enero de 2016 .
- ^ "wxWidgets-AOS: puerto AmigaOS" . Consultado el 24 de abril de 2011 .
- ^ "Plataformas compatibles" . wxwidgets.org . Consultado el 24 de abril de 2011 .
- ^ Clases admitidas por los puertos de wxWidgets
- ^ "Información general de wxWidgets" . wxwidgets.org . Consultado el 1 de agosto de 2015 .
- ^ "WxWidgets en comparación con otros kits de herramientas" . wxwidgets.org . Consultado el 2 de enero de 2010 .
- ^ "Herramientas para wxWidgets" . wxwidgets.org . Consultado el 12 de abril de 2011 .
- ^ "Lista de entornos de desarrollo integrados" . wxwidgets.org . Consultado el 12 de abril de 2011 .
- ^ "Informe de progreso de los delfines: mayo de 2017 - Qt-ie Patootie" . Proyecto Dolphin Emulator . Consultado el 14 de mayo de 2019 .
- ^ "La leyenda del delfín: una lente entre mundos" . Proyecto Dolphin Emulator . Consultado el 14 de mayo de 2019 .
- ^ "Dolphin Emulator - Dolphin Progress Report_ enero de 2018" . Consultado el 14 de mayo de 2019 .
- ^ "MKVToolNix GUI · Wiki · Moritz Bunkus _ MKVToolNix · GitLab" . Consultado el 14 de mayo de 2019 .
- ^ Jean-Baptiste Kempf (10 de febrero de 2007). "Interfaz Qt4" . Otro blog más para JBKempf . Consultado el 14 de mayo de 2019 .
- ^ "Este estado de Gtk es triste, pero estoy muy contento de que (VLC) nos mudamos a Qt, hace unos años ... _ Hacker News" . Consultado el 14 de mayo de 2019 .
Otras lecturas
- Inteligente, Julian; Hock, Kevin; Csomor, Stefan (5 de agosto de 2005), Programación de GUI multiplataforma con wxWidgets , Prentice Hall , ISBN 978-0-13-147381-2
enlaces externos
- Página web oficial