wxWidgets — wxWidgets

wxWidgets
WxWidgets.svg
Pierwotny autor (autorzy) Julian Smart
Deweloper(zy) Różni programiści i współtwórcy
Pierwsze wydanie 1992 ; 29 lat temu ( 1992 )
Wersja stabilna 3.0.5 (27 kwietnia 2020 ; 17 miesięcy temu ) [±] ( 2020-04-27 )
Magazyn
Napisane w C++
System operacyjny Wieloplatformowy
Rodzaj Biblioteka deweloperska
Licencja Licencja wxWidgets
Strona internetowa wxwidgets .org

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
  • biblioteka wxAUI.
  • Ogólny wxRichTextCtrl.
  • wxComboCtrl z niestandardowymi, graficznymi comboboxami.
  • Dodatkowe funkcje, w tym wxAnimationCtrl, wxSimpleHtmlListBox, wxHyperlinkCtrl, wxColourPickerCtrl, wxDirPickerCtrl, wxFilePickerCtrl, wxFontPickerCtrl, wxCollapsiblePane, wxSearchCtrl, wxAboutebook, wxTar streamBox.
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
  • GTK+ 3 porty
  • Przejrzysta obsługa Unicode
  • Ujednolicenie kompilacji debug-release
  • Oparty na kakao port wxOSX działający w trybie 64-bitowym
  • Trwałe sterowanie
  • Wsparcie dla okien dialogowych modalnych i aplikacji
  • wxRibbon – implementacja wstążki
  • wxPropertyGrid
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
  • Lepsza obsługa wyświetlaczy o wysokiej rozdzielczości, szczególnie w systemie Windows.
  • Obsługa najnowszych kompilatorów, w tym MSVS 2015, g++ 5.3 i clang 3.8, w tym w trybie C++11.
  • Zmieniona obsługa OpenGL lepiej dopasowana do nowoczesnego OpenGL (3.2+).
  • Nowe klasy wxActivityIndicator i wxNativeWindow.
  • Ulepszenia wxNotificationMessage.
  • Kilka nowych metod, takich jak wxTextEntry::ForceUpper(), wxProcess::Activate(), wxDateTime::GetWeekBasedYear(), wxListBox::GetTopItem(), wxStandardPaths::GetUserDir(), wxUIActionSimulator::Select().
  • Zaktualizowane wersje dołączonych bibliotek zewnętrznych oraz wsparcie dla GStreamera 1.0 pod Unixem.
  • Nowy eksperymentalny port wxQt.
  • Poprawki błędów.
3.1.1 19 lutego 2018
  • wxWidgets 3.1.1 to drugie wydanie w gałęzi rozwojowej 3.1. To wydanie jest wydaniem „rozwojowym”, ponieważ wprowadza (bardzo niewiele) niekompatybilnych zmian API w porównaniu z wersją 3.0 i nie gwarantuje stabilności ABI, w przeciwieństwie do serii 3.0.x.
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
  • Odrzuć wsparcie Borland C++.
Przyszłe wersje
3.2
  • Odrzuć obsługę platformy Win9x.
  • Usuń obsługę Microsoft Visual C++ 6.0.

Licencja

Licencja wxWindows
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 .org Edytuj to na Wikidanych

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/UnixwxGTK , 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

wxPython logo

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

CodeLite pod Windows XP
Kod::Bloki działające pod Ubuntu

Dostępnych jest wiele narzędzi do szybkiego tworzenia aplikacji (RAD) i zintegrowanego środowiska programistycznego (IDE). Wybitne narzędzia obejmują:

Aplikacje zbudowane przy użyciu wxWidgets

Amaya pod Windows 7

Wybitne aplikacje korzystające z wxWidgets:

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

Zewnętrzne linki