wxWidgets — wxWidgets
Pierwotny autor (autorzy) | Julian Smart |
---|---|
Deweloper(zy) | Różni programiści i współtwórcy |
Pierwsze wydanie | 1992 |
Wersja stabilna | 3.0.5 (27 kwietnia 2020 [±] | )
Magazyn | |
Napisane w | C++ |
System operacyjny | Wieloplatformowy |
Rodzaj | Biblioteka deweloperska |
Licencja | Licencja wxWidgets |
Strona internetowa | wxwidgets |
wxWidgets (dawniej wxWindows ) to zestaw narzędzi widgetów i biblioteka narzędzi do tworzenia graficznych interfejsów użytkownika (GUI) dla aplikacji wieloplatformowych . wxWidgets umożliwia kompilację i uruchamianie kodu GUI programu na kilku platformach komputerowych przy minimalnych lub bez zmian w kodzie . Szeroki wybór kompilatorów i innych narzędzi do użycia z wxWidgets ułatwia tworzenie zaawansowanych aplikacji. wxWidgets obsługuje szeroką gamę popularnych systemów operacyjnych i bibliotek graficznych, zarówno zastrzeżonych , jak i bezpłatnych , i jest szeroko wdrażany w znanych organizacjach (patrz tekst).
Projekt został zapoczątkowany pod nazwą wxWindows w 1992 roku przez Juliana Smarta na Uniwersytecie w Edynburgu . Projekt został przemianowany na wxWidgets w 2004 roku w odpowiedzi na żądanie znaku towarowego Microsoft UK .
Jest wolne i otwarte oprogramowanie , rozpowszechniane pod warunkami licencji wxWidgets , który spełnia tych, którzy chcą produkować na licencji GPL i własnego oprogramowania .
Przenośność i wdrażanie
wxWidgets obejmuje systemy takie jak Microsoft Windows , Mac OS ( Carbon i Cocoa ), iOS ( Coca Touch ), Linux / Unix ( X11 , Motif i GTK ), OpenVMS , OS/2 i AmigaOS . Trwają prace nad wersją dla systemów wbudowanych .
wxWidgets jest używany w wielu sektorach przemysłu, w szczególności przez Xerox , Advanced Micro Devices (AMD), Lockheed Martin , NASA i Centrum Analiz Morskich . Wykorzystywany jest również w sektorze publicznym i edukacji m.in. przez Dartmouth Medical School , National Human Genome Research Institute , National Center for Biotechnology Information i wiele innych. wxWidgets jest używany w wielu projektach open source oraz przez indywidualnych programistów.
Historia
wxWidgets (początkowo wxWindows) został uruchomiony w 1992 roku przez Juliana Smarta na Uniwersytecie w Edynburgu . Uzyskał dyplom z wyróżnieniem w dziedzinie informatyki na Uniwersytecie St Andrews w 1986 roku i nadal jest głównym programistą.
20 lutego 2004 r. twórcy wxWindows ogłosili, że projekt zmienia nazwę na wxWidgets , ponieważ Microsoft poprosił Juliana Smarta o respektowanie brytyjskiego znaku towarowego Microsoftu, jakim jest Windows .
Wersje głównego wydania to 2.4 w dniu 6 stycznia 2003 r., 2.6 w dniu 21 kwietnia 2005 r. i 2.8.0 w dniu 14 grudnia 2006 r. Wersja 3.0 została wydana 11 listopada 2013 r.
wxWidgets uczestniczy w Google Summer of Code od 2006 roku.
Poniższa tabela zawiera historię wydań wxWidgets, pokazującą wszystkie jego główne wersje.
Numer wersji | Data | Znaczące zmiany |
---|---|---|
Projekt rozpoczęty przez Juliana Smart | 1992 | |
wxOkna 1 | ||
Alfa 1 | 5 kwietnia 1997 r. | |
Beta 1 | 24 grudnia 1998 | |
wxWidgets 2 | ||
2.0.1 | 1 marca 1999 r. | |
2.2.0 | 9 lipca 2000 | |
2.4.0 | 6 stycznia 2003 r. | |
2.6.0 | 21 kwietnia 2005 | |
2.8.0 | 14 grudnia 2006 |
|
2.8.11 | 23 kwietnia 2010 | |
2.8.12 | 28 marca 2011 | |
2.9.0 | 8 września 2009 | |
2.9.1 | 19 lipca 2010 | |
2.9.2 | 5 lipca 2011 | |
2.9.3 | 14 grudnia 2011 | |
2.9.4 | 9 lipca 2012 | |
2.9.5 | 16 lipca 2013 | |
wxWidgets 3 | ||
3.0.0 | 11 listopada 2013 |
|
3.0.1 | 15 czerwca 2014 | |
3.0.2 | 6 października 2014 | |
3.0.3 | 2 maja 2017 | |
3.0.4 | 8 marca 2018 | |
3.0.5 | 27 kwietnia 2020 | |
3.1.0 | 29 lutego 2016 |
|
3.1.1 | 19 lutego 2018 |
|
3.1.2 | 10 grudnia 2018 | |
3.1.3 | 28 października 2019 | |
3.1.4 | 22 lipca 2020 | |
3.1.5 | 14 kwietnia 2021 |
|
Przyszłe wersje | ||
3.2 |
|
Licencja
Kompatybilny z Debian FSG | tak |
---|---|
Zatwierdzony przez FSF | tak |
Zatwierdzone przez OSI | tak |
Zgodny z GPL | tak |
Prawo autorskie | tak |
Łączenie z kodu z inną licencją | tak |
Strona internetowa |
www |
wxWidgets jest rozpowszechniany na niestandardowej licencji wxWindows , podobnej do GNU Lesser General Public License (LGPL), z wyjątkiem stwierdzającym, że prace pochodne w formie binarnej mogą być rozpowszechniane na własnych warunkach użytkownika. Ta licencja jest licencją wolnego oprogramowania zatwierdzoną przez FSF, dzięki czemu wxWidgets jest wolnym oprogramowaniem . Został zatwierdzony przez Open Source Initiative (OSI).
Oficjalne wsparcie
Obsługiwane platformy
wxWidgets jest obsługiwany na następujących platformach:
- Windows – wxMSW (32/64-bitowy Windows XP do Windows 10)
- Linux/Unix – wxGTK , wxX11, wxMotif
- Mac OS – wxMac ( Mac OS X 10.3 używający Carbon, Mac OS X 10.5 używający Cocoa), wxOSX/Cocoa(32/64-bitowy Mac OS X 10.7 lub nowszy)
- OS/2 – wxOS2, wxPM, wxWidgets dla GTK lub Motif można skompilować na OS/2
- Platformy wbudowane – wxEmbedded®
Porty zewnętrzne
- Amiga – wxWidgets-AOS: port AmigaOS (Work In Progress)
Obsługiwane kompilatory
wxWidgets zostało oficjalnie potwierdzone, że działa poprawnie z następującymi kompilatorami:
zestaw narzędzi | Kompilator | Wersja |
---|---|---|
wxMSW | Microsoft Visual Studio — Visual C++ | 5.0+ |
Borland C++ (porzucony w 3.1.5) | 5,5+ | |
C++Builder | 2006+ | |
Watcom C++, OpenWatcom | 10,6+ | |
CodeWarrior | 7+ | |
Cygwin | 1,5+ | |
MinGW | 2.0+ | |
Kompilator Digital Mars C/C++ | 8.40+ | |
wxGTK | g++ | 2,95+ |
Clang++ | 3,3+ | |
Kompilator Intel C++ | 9,1+ | |
Sun Studio C/C++ | 5,9 | |
HP aC++ | 3,8 | |
IBM XL C/C++ | 8,0 |
Wiązania języka programowania
Biblioteka wxWidgets jest zaimplementowana w C++ , z dostępnymi powiązaniami dla wielu powszechnie używanych języków programowania .
wxWidgets najlepiej opisać jako zestaw narzędzi trybu natywnego, ponieważ zapewnia cienką abstrakcję natywnym widżetom platformy, w przeciwieństwie do emulowania wyświetlania widżetów przy użyciu prymitywów graficznych. Wywołanie natywnego widżetu na platformie docelowej zapewnia bardziej natywny wygląd interfejsu niż zestawy narzędzi, takie jak Swing (dla Javy), a także zapewnia wydajność i inne korzyści.
Zestaw narzędzi nie ogranicza się również do tworzenia GUI, ma warstwę komunikacji między procesami , funkcjonalność sieci gniazd i wiele innych.
Narzędzia RAD i IDE dla wxWidgets
Dostępnych jest wiele narzędzi do szybkiego tworzenia aplikacji (RAD) i zintegrowanego środowiska programistycznego (IDE). Wybitne narzędzia obejmują:
- Kod::Blocks (poprzez wtyczkę wxSmith)
- CodeLite (poprzez wtyczkę wxCrafter)
- wxFormBuilder
Aplikacje zbudowane przy użyciu wxWidgets
Wybitne aplikacje korzystające z wxWidgets:
- 0 AD –gra wideo FLOSS podobna do Age of Empires
- Amaya – narzędzie do tworzenia stron internetowych
- aMule – aplikacja do udostępniania plików peer-to-peer
- ActivePresenter – rejestrator ekranu, edytor wideo i aplikacja e-learningowa
- Audacity – wieloplatformowy edytor dźwięku
- BitTorrent – aplikacja do udostępniania plików peer-to-peer
- Berkeley Open Infrastructure for Network Computing – system oprogramowania pośredniczącego typu open source
- Kod::Bloki – C/C++ IDE
- CodeLite – prosty edytor C++ (zbiór darmowych narzędzi, implementowany przez wtyczki)
- FileZilla – klient FTP
- GrandOrgue – wirtualny symulator organów piszczałkowych
- Guayadeque Music Player – odtwarzacz muzyki z bazą danych
- Hollywood – używa wxWidgets we wtyczce RapaGUI
- KiCad – darmowy pakiet oprogramowania do automatyzacji projektowania elektronicznego (EDA)
- RapidSVN – klient Subversion
- RocketCake – responsywny kreator stron WYSIWYG
- TortoiseCVS – klient CVS
Krytyka
Kilka znanych i dużych aplikacji przeszło na Qt z powodu problemów z wxWidgets:
Zobacz też
- FLTK – lekki, wieloplatformowy, nienatywny zestaw narzędzi do widżetów
- FOX toolkit – szybki, open source, wieloplatformowy zestaw narzędzi widżetów
- GTK – zestaw narzędzi GIMP, zestaw narzędzi widżetów używany przez aplikacje GNOME
- gtkmm – wersja C++ GTK
- Juce – obszerny wieloplatformowy zestaw narzędzi widżetów
- IUP – wieloplatformowy zestaw narzędzi do budowania natywnych graficznych interfejsów użytkownika
- Qt (zestaw narzędzi) – framework aplikacji używany przez aplikacje KDE
- Ultimate++ – wieloplatformowy framework programistyczny w C++
- Zestaw narzędzi do widżetów
- Lista zestawów widżetów
Bibliografia
Dalsza lektura
- Sprytny, Julianie; Hock, Kevin; Csomor, Stefan (5 sierpnia 2005), Wieloplatformowe programowanie GUI z wxWidgets , Prentice Hall , ISBN 978-0-13-147381-2