Zum Inhalt springen

wxWidgets

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 18. März 2008 um 09:37 Uhr durch 62.156.180.250 (Diskussion) (new: WxRuby (Quelle: http://wxruby.rubyforge.org/wiki/wiki.pl)). Sie kann sich erheblich von der aktuellen Version unterscheiden.
wxWidgets

Basisdaten

Entwickler Vadim Zeitlin, Robin Dunn, Václav Slavík
Aktuelle Version 2.8.7
(27. November 2007)
Aktuelle Vorabversion 3.1.2[1][2]
(10. Dezember 2018)
Betriebssystem Microsoft Windows, Linux, Mac OS X
Programmier­sprache C++[3]
Kategorie Klassenbibliothek
Lizenz leicht modifizierte LGPL
deutschsprachig nein
wxWidgets.org

wxWidgets (ehemals wxWindows) ist ein auf C++ basierendes Open-Source-Framework zur plattformunabhängigen Entwicklung von Anwendungen mit grafischer Benutzeroberfläche (GUI). Die wxWidgets-Lizenz ist eine leicht modifizierte LGPL und erlaubt daher die freie Verwendung in proprietärer und freier Software und den weiteren Vertrieb unter einer selbst gewählten Lizenz.

Zu den Programmen, die wxWidgets verwenden, gehören z. B. der Audioeditor Audacity, die Entwicklungsumgebung Code::Blocks, der Medienspieler VLC (< 0.9) und der AOL Communicator.

wxWidgets ist in C++ implementiert, und es existieren „Bindings“ für eine ganze Reihe weiterer Programmiersprachen, darunter Python (wxPython), Perl (wxPerl), Lua (wxLua), Java und Ruby (wxRuby).

Umfang

Die API erlaubt es, Programme für Windows/Unix/Mac und viele weitere Plattformen wie Symbian OS, Palm OS und Windows CE zu entwickeln. wxWidgets abstrahiert plattformnative Funktionalitäten, wie z. B. die IPC-Klassen, oder implementiert fehlende Komponenten, wie z. B. die Baumkomponente (engl. treecontrols). Einige Funktionen wie z. B. wxMetafile oder OLE werden notgedrungen für die Plattform einzeln in wxWidgets implementiert. Für bessere Portabilität verzichtet wxWidgets auf Ausnahmen (exceptions) oder Templates. Die API umfasst über 450 Klassen mit über 5000 Funktionen. Wichtigste Funktionalitäten decken folgende Bereiche ab:

  • Direkte Grafikausgabe
  • Plattformunabhängiges GUI-Layout (sizerlayout)
  • GUI-Ressourcen (XRC) werden per XML portiert
  • Online-Dokumentation (z. B. HTML, CHM)
  • Unicode und Meldungskataloge
  • Plattformunabhängiges Grafikformat: XPM
  • Sehr leistungsstarke wxImage-Klasse
  • Maschinenunabhängige Streamklasse
  • C++-typische Container/Daten-Klassen
  • ODBC-Klasse
  • MIME Types Manager
  • OLE-Automatisierung
  • Multithreading
  • Konfiguration per Datei, Windows Registry oder *.ini

Kurze Übersicht zur Entwicklung

  • 1992: erste Ausgabe, für XView und MFC
  • 1993–1995: Motif und Xt Port, wxPython
  • 1998–2002: wxGTK Port; wxMac 2.0 Port begonnen; wxX11 Port begonnen; OS/2 Port
  • 2003: wxWidgets Software Foundation gegründet (nach einigen Monaten aufgelöst); WinCE Port
  • 2004: Umbenennung von wxWindows zu wxWidgets nach Rechtsstreit mit Microsoft
  • 2005: Nach langer Wartezeit Veröffentlichung von wxWidgets 2.6.0, löst vorherige „stable“ Version 2.4.2 von Mitte 2003 ab
  • 2006: Ende 2006 ist die nächste "stable" Version von wxWidgets erschienen: 2.8.0

Unterstützung weiterer Sprachen für wxWidgets

Werkzeuge, Anbindungen und Klassen für wxWidgets

  • wxFormBuilder[2] ist ein freier GUI-Designer
  • XML-Unterstützung: xml4wxwindows
  • Mozilla-Anbindung: wxMozilla
  • ActiveX- & Internet-Explorer-Anbindung: wxActiveX und wxIEHtmlWin
  • Skype-Protokoll: ++Skype
  • SSL-Unterstützung: wxSSL
  • PDF-Ausgabe: wxPdfDocument
  • SQLite-Anbindung: wxSQLite3
  • Scintilla-Anbindung: (als wxSTC in den „Contribs“)
  • Cairo für plattform- und hardware-übergreifendes Rendering von Vektorgrafiken
  • Code-Repository: wxCode
  • wxDockIt: Portierbare DockBars
  • Code::Blocks ist eine Open-Source Entwicklungsumgebung
  • poEdit ist ein Werkzeug zur Internationalisierung von Anwendungen
  • wxDesigner ist ein kommerzieller GUI-Designer von Robert Roebling
  • DialogBlocks ist ein kommerzieller GUI-Designer von Julian Smart
  • Almas Dialog Designer ist ein freier GUI-Designer
  • wxGlade, ein freier GUI-Designer für wxWidgets/wxPython, geschrieben in wxPython
  • HelpBlocks ist eine kommerzielle Software zum Erstellen von Onlinedokumentationen
  • wxTTS: text-to-speech Klasse, welche auf die MBROLA Sprachsynthese-Engine aufsetzt
  • wxSVG ist eine Programmbibliothek zum Erstellen, Modifizieren und Rendern der SVG
  • Jumli ist eine JAVA-basierte Klassen- und UML-Entwicklungsumgebung mit Anbindung an wxWidgets
  • wxDev-C++ ist eine IDE für wxWidgets

Einsatz im Embedded-Bereich

Mit wxEmbedded von Robert Roebling ist nun eine Version für die Linux-Distribution Familiar verfügbar, die die HP-iPAQ-Serie und andere Handheld-PCs unterstützt.

Programme, die wxWidgets verwenden

Siehe auch

Literatur

  1. Release 3.1.2. 10. Dezember 2018 (abgerufen am 11. Dezember 2018).
  2. wxWidgets 3.1.2 Released. 10. Dezember 2018.
  3. The wxwidgets Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 18. Juli 2018).