- wxWidgets
-
Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen und beteilige dich an der Diskussion! (+)
wxWidgets Aktuelle Version 2.9.2[1]
(5. Juli 2011)Betriebssystem Microsoft Windows, Unix-Derivate, PalmOS, OS/2[2] Kategorie Klassenbibliothek Lizenz modifizierte LGPL[3] Deutschsprachig teilweise[4] www.wxwidgets.org wxWidgets (ehemals wxWindows[5]) ist eine quelloffene Klassenbibliothek zur Entwicklung grafischer Benutzeroberflächen. Sie wird in der Programmiersprache C++ entwickelt und unter einer modifizierten LGPL lizenziert, die auch das Verbreiten von abgeleiteten Werken unter eigenen Bedingungen erlaubt.[3] Obwohl wxWidgets in C++ implementiert ist, existieren Anbindungen für eine Vielzahl weiterer Programmiersprachen. Durch seine Plattformunabhängigkeit ermöglicht wxWidgets, den GUI-spezifischen Code eines Programms bei keiner oder nur geringer Modifikation auf verschiedensten Plattformen zu kompilieren und auszuführen.
wxWidgets wird in einer Reihe bekannter Projekte verwendet[6], darunter sind beispielsweise der Audioeditor Audacity, die Entwicklungsumgebung Code::Blocks, der Medienspieler VLC (vor Version 0.9[7]) und die Peer-to-Peer-Software aMule.
Inhaltsverzeichnis
Umfang
Die Programmierschnittstelle ermöglicht die Entwicklung von GUI-Programmen für Windows, Unix, Mac, Symbian OS, Palm OS und Windows CE. wxWidgets abstrahiert plattformabhängige Funktionen, beispielsweise die Interprozesskommunikation (IPC), und bietet zusätzliche Funktionen an, zum Beispiel eine Hashtabelle. Einige Funktionen wie zum Beispiel wxMetafile oder OLE werden für die jeweilige Plattform einzeln in wxWidgets implementiert. Für bessere Portabilität verzichtet wxWidgets auf Ausnahmen (englisch: exceptions) und 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
- MIME Types Manager
- OLE-Automatisierung
- Multithreading
- Konfiguration per Datei, Windows Registry oder *.ini
Entwicklung
Im Jahr 1992 erschien die erste Ausgabe, welche für XView und MFC war.
Von 1993 bis 1995 wurden Motif und Xt Port, wxPython entwickelt und veröffentlicht. Ab 1998 bis 2002 wurde wxGTK Port eingesetzt, wxMac 2.0 Port, wxX11 Port und OS/2 Port begonnen.
2003 wurde wxWidgets Software Foundation gegründet, welche nach einigen Monaten wieder aufgelöst wurde. Ein Jahr später wurde wxWindows in wxWidgets auf Bitte von und Bezahlung durch Microsoft umbenannt.
Im Jahr 2005 fand die Veröffentlichung von wxWidgets 2.6.0 statt. Es löste die vorherige „stable“ Version 2.4.2 von Mitte 2003 ab. Ende 2006 ist die Version 2.8.0 erschienen, im September 2009 wurde die Version 2.9.0 veröffentlicht
Unterstützung weiterer Sprachen für wxWidgets
- BASIC: wxBasic
- BlitzMax: wxMax
- C: wxC
- D: wxD
- Eiffel: wxEiffel
- Erlang: wxErlang
- Euphoria: wxEuphoria
- Java: wx4j
- JavaScript: wxJS, GLUEScript
- Haskell: wxHaskell
- Lua: wxLua
- .NET (C#): wx.NET
- Perl: wxPerl
- PHP: wxPHP
- Python: wxPython
- Ruby: wxruby
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.
Siehe auch
Literatur
- Julian Smart, Kevin Hock, Stefan Csomor: Cross-Platform GUI Programming with wxWidgets. ISBN 0131473816 (http://www.informit.com/content/images/0131473816/downloads/0131473816_book.pdf, abgerufen am 20. Februar 2009).
- Ryan Wilcox: The Experienced Man’s Notes for Cross-Platform GUI Programming with wxWidgets. 1. Auflage. 2009.
Weblinks
- Projekthomepage (englisch)
- Wiki des wxWidgets-Projekts (englisch)
- wxWidgets bei Sourceforge.net (englisch)
- wxCode Dort werden Erweiterungen zu den wxWidgets-Containerklassen angeboten(englisch)
- http://www.zetcode.com/tutorials/wxwidgetstutorial/ -ein kleines Tutorial zu wxWidgets (englisch)
- C++-Magazin eine Einführung in wxWidgets Teil 1 und 2 (deutsch)
Einzelnachweise
- ↑ wxWidgets-Homepage. Abgerufen am 8. Juli 2011.
- ↑ http://www.wxwidgets.org/about/datasheets/wxWidgetsOverview.pdf
- ↑ a b wxWidgets-Lizenz (englisch)
- ↑ Internationalization. Abgerufen am 30. März 2009.
- ↑ Heise-Meldung zur Umbenennung
- ↑ Liste von Projekten
- ↑ http://wiki.videolan.org/WxWidgets_Interface
Kategorien:- GUI-Framework
- Freie Systemsoftware
- Programmiersprache C++
- Windows-Software
- Unix-Software
- PalmOS-Software
Wikimedia Foundation.