wxWidgets | |
---|---|
Typ | knihovna prvků rozhraní (widgetů) |
Vývojář | Vývojáři a přispěvatelé |
Zapsáno v | C++ , Perl , Python |
Operační systém | UNIXové , Windows |
Jazyky rozhraní | Ve 37 jazycích včetně ruštiny |
Nejnovější verze | 3.2.1 ( 9. září 2022 ) [1] |
Stát | Aktivní |
Licence | licence wxWidgets ( kompatibilní s GPL ) |
webová stránka | wxwidgets.org |
Mediální soubory na Wikimedia Commons |
wxWidgets (dříve známý jako wxWindows ) je open -source multiplatformní nástrojová knihovna pro vývoj multiplatformních aplikací na zdrojové úrovni. Hlavní použití wxWidgets je vytvořit grafické uživatelské rozhraní (GUI), ale knihovna obsahuje velké množství dalších funkcí a používá se k vytváření široké škály softwaru. wxWidgets je uvolněn pod licencí založenou na LGPL . Projekt odstartoval v roce 1992 Julian Smart, který je stále členem základního vývojového týmu a zaměřuje se na něj zejména vývojem WxWidgets GUI frameworku - DialogBlocks [2] .
wxWidgets je vývojářský nástroj pro psaní desktopových nebo mobilních aplikací s grafickým uživatelským rozhraním (GUI), které ušetří spoustu času při psaní multiplatformních aplikací a zajistí jim standardní chování.
Aplikace obvykle zobrazují uživatelská okna se standardními ovládacími prvky , obrázky a grafy; reagovat na události z myši , klávesnice a dalších zdrojů - tyto standardní funkce rozhraní se snadno implementují pomocí wxWidgets a ustupují do pozadí, což umožňuje programátorovi soustředit se na funkčnost aplikace. Navíc, protože jiné funkce mohou být implementovány odlišně na různých operačních systémech a zařízeních, wxWidgets obsahuje nástroje na vysoké úrovni (sady tříd) pro práci s grafickými obrázky, dokumenty ve formátech XML a HTML , archivy, systémy souborů, procesy , tiskové subsystémy, multimédia, sítě , třídy pro multithreading , konfigurace aplikací, meziprocesová komunikace, přístup k databázi , ladění, odesílání výpisů a mnoho dalších nástrojů.
Tyto pokročilé nástroje v knihovně wxWidgets vám umožňují psát programy založené na jediném API a kompilovat je na různých počítačových platformách s minimálními nebo žádnými změnami ve zdrojovém kódu . Podporuje Microsoft Windows , Apple Macintosh , UNIXové systémy (pro X11 , Motif a GTK ), OpenVMS a OS/2 . Embedded verze je ve vývoji.
Knihovna je napsána v C++ , ale lze ji propojit s mnoha dalšími běžnými jazyky , jako je Ruby ( wxRuby , Anvil ), Python ( wxPython ), Smalltalk ( wxSqueak ), Perl , Erlang , Haskell [3] , Lua [4] .
Mezi podporované kompilátory C++ patří :
Důležitá vlastnost wxWidgets: na rozdíl od některých jiných knihoven ( Swing , Qt atd.) maximálně využívá „nativní“ grafické prvky rozhraní operačního systému , kdekoli je to možné. To je pro mnoho uživatelů značná výhoda, protože si zvyknou na práci v konkrétním prostředí a změny v rozhraní programu jim často způsobují potíže v práci.
WxWidgets má také všechny výhody bezplatné open source platformy:
Navíc extrémně "liberální" licence wxWidgets umožňuje propojení s nesvobodnými fragmenty kódu, což umožňuje použití i v uzavřených komerčních projektech.
Všechny výše uvedené funkce přispěly k oblibě knihovny u široké škály vývojářů – od nadšených programátorů po velké korporace a vládní agentury (včetně Xerox , AMD , NASA a mnoha dalších).
Projekt s názvem wxWindows byl založen v roce 1992, když Julian Smart pracoval na University of Edinburgh na nástroji pro vytváření grafů s názvem „Hardy“. Namísto výběru mezi vývojem pro pracovní stanici Sun nebo platformu PC se Julian rozhodl použít multiplatformní rámec. Vzhledem k tomu, že síla existujících multiplatformních frameworků byla omezená a oddělení nemělo potřebný rozpočet na sepsání jednoho, rozhodl se jej napsat sám. Univerzita dala Julianovi přístup ke stažení wxWindows 1.0 na FTP server katedry v září 1992 a další vývojáři začali používat jeho kód.
Malá, ale nadšená komunita programátorů wxWindows se rychle rozrostla a vytvořila si vlastní mailing list . Doplnění a opravy byly distribuovány v seznamu adresátů. Postupně se uživatelská základna knihovny rozšířila po celém světě: jednotliví programátoři, akademické skupiny, vládní agentury a ti, kteří zjistili, že wxWindows je uživatelsky přívětivější produkt s lepší podporou než komerční produkty, které dříve viděli nebo používali.
wxWindows byl původně zaměřen na Xview a MFC 1.0. Uživatelé Borland C++ , kteří si stěžovali na vazbu MFC, tak začali přepisovat programy na čisté Win32 . Protože XView otevřel cestu k Motifu , port na Motif byl spuštěn velmi rychle.
V roce 1997 byla za pomoci Markuse Holzema (který vytvořil směr wxWindows Xt ještě v dobách konference) navržena nová verze rozhraní wxWindows 2 API. Wolfram Gloger navrhl myšlenku portování wxWindows na GTK a Robert Roebling vytvořil potřebnou uživatelskou grafiku upravenou pro GNOME . Byl průkopníkem vývoje wxGTK a stále je hlavním přispěvatelem k vývoji unixového/linuxového portu wxWidgets.
V roce 1998 byly porty Windows a GTK zkombinovány a uvolněny pod systémem CVS . Vadim Zeitlin se k projektu připojil, aby pomohl vyvinout velkou část designu a kódu. Stefan Chomor také v roce 1998 začal vytvářet port pro MacOS.
Rok 1999 je ve znamení příchodu programátora Václava Slavíka. Vytvořil působivé třídy wxHTML a prohlížeč souborů nápovědy založený na HTML .
V roce 2000 SciTech Inc. financoval začátek vývoje wxUniversal, vlastní sady uživatelské grafiky wxWindows pro použití na platformách, které zatím žádnou uživatelskou grafiku nemají.
V roce 2002 přidali Julian Smart a Robert Reubling port wxX11 pomocí wxUniversal.
V červenci 2003 začal wxWindows běžet na Windows CE a Robert Reubling předvedl aplikaci wxGTK běžící na vestavěné platformě GPE Linux.
Dne 20. února 2004 vývojáři wxWindows varovali, že projekt bude přejmenován na wxWidgets v důsledku jednání mezi Microsoftem a Julianem Smartem v souvislosti s vyhrazenou ochrannou známkou Windows společnosti Microsoft (vývojáři wxWidgets a dalších souvisejících projektů obdrželi finanční kompenzaci za změna názvu) [5 ] . Také v roce 2004 Stefan Chomor a jeho tým úspěšně dokončili portování wxWidgets (wxMac) na MAC OS X, čímž se výrazně rozšířila funkčnost aplikací pro OS X. Významně byl vylepšen port využívající Cocoa (v čele s Davidem Elliotem a Williamem Osbornem). William Osborne vyhrál soutěž o vytvoření verze wxWidgets pro Palm OS 6 s cílem minimální podpory platformy.
V dubnu 2005 byla vydána verze 2.6, která spojuje všechny hlavní porty frameworku.
wxWidgets | |||||
---|---|---|---|---|---|
Technika | Zdroj XML | ||||
Tvůrce RAD / GUI |
| ||||
Knihovny | wxSQLite3 | ||||
Vazby |
|
prvků GUI | Toolkity (sady)|||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
na nízké úrovni |
| ||||||||||||||||||||||||||
vysoká úroveň |
|