WxWidgets

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 8 mars 2021; kontroller kräver 14 redigeringar .

wxWidgets
Sorts bibliotek med gränssnittselement (widgets)
Utvecklaren Utvecklare och bidragsgivare
Skrivet i C++ , Perl , Python
Operativ system UNIX-liknande , Windows
Gränssnittsspråk På 37 språk, inklusive ryska
senaste versionen 3.2.1 ( 9 september 2022 ) [1]
stat Aktiva
Licens wxWidgets-licens ( GPL -kompatibel )
Hemsida wxwidgets.org
 Mediafiler på Wikimedia Commons

wxWidgets (tidigare känt som wxWindows ) är ett plattformsoberoende verktygsbibliotek med öppen källkod för att utveckla applikationer på källnivå över plattformar . Den huvudsakliga användningen av wxWidgets är att bygga ett grafiskt användargränssnitt (GUI), men biblioteket innehåller ett stort antal andra funktioner och används för att skapa en mängd olika programvaror. wxWidgets släpps under en licens baserad på LGPL . Projektet startades 1992 av Julian Smart, som fortfarande är medlem i kärnutvecklingsteamet och fokuserar på det, i synnerhet att utveckla ett ramverk för wxWidgets GUI - DialogBlocks [2] .

Tekniska funktioner och fördelar

wxWidgets är ett utvecklarverktyg för att skriva stationära eller mobila applikationer med ett grafiskt användargränssnitt (GUI) som sparar mycket tid på att skriva plattformsoberoende applikationer och förser dem med standardbeteende.

Applikationer visar vanligtvis användarfönstren med standardkontroller , bilder och grafer; svara på händelser från musen , tangentbordet och andra källor - dessa standardgränssnittsfunktioner implementeras enkelt med hjälp av wxWidgets och tonar in i bakgrunden, vilket gör att programmeraren kan fokusera på applikationens funktionalitet. Dessutom, eftersom andra funktioner kan implementeras på olika sätt på olika operativsystem och enheter, inkluderar wxWidgets verktyg på hög nivå (uppsättningar av klasser) för att arbeta med grafiska bilder, dokument i XML- och HTML-format , arkiv, filsystem, processer , utskriftsundersystem, multimedia, nätverk , klasser för multithreading , applikationskonfiguration, interprocesskommunikation, databasåtkomst , felsökning, sändning av dumpar och många andra verktyg.

Dessa avancerade verktyg i wxWidgets-biblioteket låter dig skriva program baserade på ett enda API och kompilera på en mängd olika datorplattformar med minimala eller inga ändringar av källkoden . Den stöder Microsoft Windows , Apple Macintosh , UNIX -liknande system (för X11 , Motif och GTK ), OpenVMS och OS/2 . Den inbäddade versionen är under utveckling.

Biblioteket är skrivet i C++ , men kan kopplas till många andra vanliga språk som Ruby ( wxRuby , Anvil ), Python ( wxPython ), Smalltalk ( wxSqueak ), Perl , Erlang , Haskell [3] , Lua [4] .

C++-kompilatorer som stöds inkluderar :

En viktig egenskap hos wxWidgets: till skillnad från vissa andra bibliotek ( Swing , Qt , etc.) utnyttjar den det mesta av de "inbyggda" grafiska elementen i operativsystemets gränssnitt där det är möjligt. Detta är en betydande fördel för många användare, eftersom de vänjer sig vid att arbeta i en viss miljö, och förändringar i programgränssnittet orsakar ofta svårigheter i deras arbete.

Dessutom har wxWidgets alla fördelar med en gratis plattform med öppen källkod:

Dessutom tillåter wxWidgets extremt "liberala" licens länkning till icke-fria kodfragment, vilket gör att den också kan användas i slutna kommersiella projekt.

Alla ovanstående funktioner har bidragit till bibliotekets popularitet med en mängd olika utvecklare - från entusiastiska programmerare till stora företag och statliga myndigheter (inklusive Xerox , AMD , NASA och många andra).

En kort historia av wxWidgets

Ett projekt kallat wxWindows grundades 1992 när Julian Smart arbetade vid University of Edinburgh med ett kartverktyg som heter "Hardy". Istället för att välja mellan att utveckla den för Sun - arbetsstationen eller PC-plattformen, valde Julian att använda ett ramverk för flera plattformar. Eftersom kraften hos befintliga plattformsoberoende ramar var begränsad och avdelningen inte hade den nödvändiga budgeten för att skriva ett, bestämde han sig för att skriva det själv. Universitetet gav Julian tillgång att ladda ner wxWindows 1.0 till institutionens FTP-server i september 1992, och andra utvecklare började använda hans kod.

En liten men entusiastisk grupp av wxWindows-programmerare dök snabbt upp och utvecklade sin egen e-postlista . Tillägg och rättelser delades ut i e-postlistan. Gradvis expanderade bibliotekets användarbas över hela världen: enskilda programmerare, akademiska grupper, statliga myndigheter och de som tyckte att wxWindows var en mer användarvänlig produkt med bättre stöd än de kommersiella produkter de tidigare sett eller använt.

wxWindows var ursprungligen inriktat på Xview och MFC 1.0. Borland C++- användare som klagade på MFC-bindning började alltså skriva om program till ren Win32 . Eftersom XView öppnade vägen till Motif , lanserades porten till Motif mycket snabbt.

1997 designades en ny version av wxWindows 2 API med hjälp av Markus Holzem (som skapade wxWindows Xt-riktningen redan på e-postlistans dagar). Wolfram Gloger föreslog idén att porta wxWindows till GTK , och Robert Roebling skapade den nödvändiga användargrafiken anpassad för GNOME . Han var pionjär i utvecklingen av wxGTK och är fortfarande den främsta bidragsgivaren till utvecklingen av Unix/Linux-porten för wxWidgets.

1998 kombinerades Windows-porten och GTK-porten och släpptes under CVS- systemet . Vadim Zeitlin gick med i projektet för att hjälpa till att utveckla en stor del av designen och koden. Stefan Chomor började också 1998 skapa en port för MacOS.

1999 präglas av ankomsten av en programmerare vid namn Vaclav Slavik. Han skapade imponerande wxHTML-klasser och en HTML-baserad hjälpfilvisare .

År 2000, SciTech Inc. finansierat starten av utvecklingen av wxUniversal, wxWindows egen uppsättning användargrafik för användning på plattformar som ännu inte har någon användargrafik.

2002 lade Julian Smart och Robert Reubling till en wxX11-port med wxUniversal.

I juli 2003 började wxWindows köras på Windows CE och Robert Reubling demonstrerade en wxGTK-applikation som kördes på den inbäddade GPE Linux-plattformen.

Den 20 februari 2004 varnade utvecklarna av wxWindows för att projektet skulle döpas om till wxWidgets som ett resultat av förhandlingar mellan Microsoft och Julian Smart i samband med Microsofts reserverade Windows - varumärke (utvecklarna av wxWidgets och andra relaterade projekt fick monetär kompensation för namnändring) [5 ] . Också 2004 slutförde Stefan Chomor och hans team framgångsrikt porteringen av wxWidgets (wxMac) till MAC OS X, vilket kraftigt utökade funktionaliteten för applikationer för OS X. Porten med Cocoa förbättrades avsevärt (ledd av David Elliot och William Osborne). William Osborne vann tävlingen för att skapa en version av wxWidgets för Palm OS 6 , med målet om minimalt plattformsstöd.

I april 2005 släpptes version 2.6, som slår samman alla större hamnar i ramverket.

Vanlig programvara skriven i wxWidgets

Se även Kategori:Program som använder WxWidgets

Se även

Anteckningar

  1. wxWidgets 3.2.1 släppt .
  2. JulianSmart.com Arkiverad 26 november 2014.
  3. wxHaskell . Hämtad 1 oktober 2009. Arkiverad från originalet 23 april 2009.
  4. wxLua (nedlänk) . Hämtad 22 februari 2008. Arkiverad från originalet 17 augusti 2010. 
  5. wxWidgets  namnändring . - Ändra namn till wxWidgets. Hämtad 29 oktober 2008. Arkiverad från originalet 27 augusti 2011.

Litteratur

Länkar

Hjälpdokumentation