WxWidgets

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 8. marts 2021; checks kræver 14 redigeringer .

wxWidgets
Type bibliotek af grænsefladeelementer (widgets)
Udvikler Udviklere og bidragydere
Skrevet i C++ , Perl , Python
Operativ system UNIX-lignende , Windows
Interface sprog På 37 sprog, inklusive russisk
nyeste version 3.2.1 ( 9. september 2022 ) [1]
Stat Aktiv
Licens wxWidgets-licens ( GPL- kompatibel )
Internet side wxwidgets.org
 Mediefiler på Wikimedia Commons

wxWidgets (tidligere kendt som wxWindows ) er et open source - værktøjsbibliotek på tværs af platforme til udvikling af applikationer på tværs af platforme på kildeniveau. Hovedanvendelsen af ​​wxWidgets er at bygge en grafisk brugergrænseflade (GUI), men biblioteket indeholder en lang række andre funktioner og bruges til at skabe en bred vifte af software. wxWidgets udgives under en licens baseret på LGPL . Projektet blev startet i 1992 af Julian Smart, som stadig er medlem af kerneudviklingsteamet og fokuserer på det, især at udvikle en wxWidgets GUI-ramme - DialogBlocks [2] .

Tekniske funktioner og fordele

wxWidgets er et udviklerværktøj til at skrive desktop- eller mobilapplikationer med en grafisk brugergrænseflade (GUI), der sparer meget tid på at skrive applikationer på tværs af platforme og giver dem standardadfærd.

Applikationer viser typisk brugervinduerne med standardkontroller , billeder og grafer; reagere på hændelser fra musen , tastaturet og andre kilder - disse standardgrænsefladefunktioner implementeres nemt ved hjælp af wxWidgets og fortoner sig i baggrunden, så programmøren kan fokusere på applikationens funktionalitet. Desuden, da andre funktioner kan implementeres forskelligt på forskellige operativsystemer og enheder, inkluderer wxWidgets værktøjer på højt niveau (sæt af klasser) til at arbejde med grafiske billeder, dokumenter i XML- og HTML-formater , arkiver, filsystemer, processer , udskrivningsundersystemer, multimedier, netværk , klasser til multithreading , applikationskonfiguration, interproceskommunikation, databaseadgang , fejlfinding, afsendelse af dumps og mange andre værktøjer.

Disse avancerede værktøjer i wxWidgets-biblioteket giver dig mulighed for at skrive programmer baseret på en enkelt API og kompilere på en række forskellige computerplatforme med minimale eller ingen ændringer i kildekoden . Det understøtter Microsoft Windows , Apple Macintosh , UNIX -lignende systemer (til X11 , Motif og GTK ), OpenVMS og OS/2 . Embedded version er under udvikling.

Biblioteket er skrevet i C++ , men kan forbindes med mange andre almindelige sprog såsom Ruby ( wxRuby , Anvil ), Python ( wxPython ), Smalltalk ( wxSqueak ), Perl , Erlang , Haskell [3] , Lua [4] .

Understøttede C++ compilere inkluderer :

En vigtig egenskab ved wxWidgets: i modsætning til nogle andre biblioteker ( Swing , Qt , etc.) udnytter den mest muligt de "native" grafiske elementer i operativsystemets grænseflade, hvor det er muligt. Dette er en væsentlig fordel for mange brugere, da de vænner sig til at arbejde i et bestemt miljø, og ændringer i programgrænsefladen forårsager ofte vanskeligheder i deres arbejde.

Desuden har wxWidgets alle fordelene ved en gratis open source-platform:

Ydermere tillader wxWidgets' ekstremt "liberale" licens at linke til ikke-frie kodefragmenter, hvilket gør det muligt at bruge det i lukkede kommercielle projekter.

Alle de ovennævnte funktioner har bidraget til bibliotekets popularitet hos en bred vifte af udviklere - fra entusiastiske programmører til store virksomheder og statslige agenturer (herunder Xerox , AMD , NASA og mange andre).

En kort historie om wxWidgets

Et projekt kaldet wxWindows blev grundlagt i 1992, da Julian Smart arbejdede på University of Edinburgh på et kortlægningsværktøj kaldet "Hardy". I stedet for at vælge mellem at udvikle det til Sun - arbejdsstationen eller pc-platformen, valgte Julian at bruge et cross-platform framework. Da magten af ​​eksisterende cross-platform frameworks var begrænset, og afdelingen ikke havde det nødvendige budget til at skrive et, besluttede han at skrive det selv. Universitetet gav Julian adgang til at downloade wxWindows 1.0 til afdelingens FTP-server i september 1992, og andre udviklere begyndte at bruge hans kode.

Et lille, men entusiastisk fællesskab af wxWindows-programmører dukkede hurtigt op og udviklede sin egen mailingliste . Tilføjelser og rettelser blev omdelt i postlisten. Gradvist blev bibliotekets brugerbase udvidet over hele verden: individuelle programmører, akademiske grupper, offentlige myndigheder og dem, der fandt, at wxWindows var et mere brugervenligt produkt med bedre support end de kommercielle produkter, de tidligere havde set eller brugt.

wxWindows var oprindeligt rettet mod Xview og MFC 1.0. Borland C++- brugere , der klagede over MFC-binding, begyndte således at omskrive programmer til ren Win32 . Da XView åbnede vejen til Motif , blev porten til Motif lanceret meget hurtigt.

I 1997 blev en ny version af wxWindows 2 API designet med hjælp fra Markus Holzem (som skabte wxWindows Xt-retningen tilbage i mailinglistens dage). Wolfram Gloger foreslog ideen om at overføre wxWindows til GTK , og Robert Roebling skabte den nødvendige brugergrafik tilpasset til GNOME . Han var banebrydende for udviklingen af ​​wxGTK og er stadig den vigtigste bidragyder til udviklingen af ​​Unix/Linux-porten til wxWidgets.

I 1998 blev Windows-porten og GTK-porten kombineret og frigivet under CVS -systemet . Vadim Zeitlin sluttede sig til projektet for at hjælpe med at udvikle en stor del af designet og koden. Stefan Chomor begyndte også i 1998 at oprette en port til MacOS.

1999 er præget af ankomsten af ​​en programmør ved navn Vaclav Slavik. Han skabte imponerende wxHTML-klasser og en HTML-baseret hjælpefilfremviser .

I 2000, SciTech Inc. finansieret starten af ​​udviklingen af ​​wxUniversal, wxWindows' eget sæt brugergrafik til brug på platforme, der endnu ikke har nogen brugergrafik.

I 2002 tilføjede Julian Smart og Robert Reubling en wxX11-port ved hjælp af wxUniversal.

I juli 2003 begyndte wxWindows at køre på Windows CE , og Robert Reubling demonstrerede en wxGTK-applikation, der kører på den indlejrede GPE Linux-platform.

Den 20. februar 2004 advarede udviklerne af wxWindows om, at projektet ville blive omdøbt til wxWidgets som et resultat af forhandlinger mellem Microsoft og Julian Smart i forbindelse med Microsofts reserverede Windows - varemærke (udviklerne af wxWidgets og andre relaterede projekter modtog monetær kompensation for navneændring) [5 ] . Også i 2004 gennemførte Stefan Chomor og hans team med succes porteringen af ​​wxWidgets (wxMac) til MAC OS X, hvilket i høj grad udvidede funktionaliteten af ​​applikationer til OS X. Porten ved hjælp af Cocoa blev væsentligt forbedret (ledet af David Elliot og William Osborne). William Osborne vandt konkurrencen om at skabe en version af wxWidgets til Palm OS 6 med målet om minimal platformunderstøttelse.

I april 2005 blev version 2.6 frigivet, som fusionerer alle større havne i rammeværket.

Almindelig software skrevet i wxWidgets

Se også Kategori:Applikationer, der bruger WxWidgets

Se også

Noter

  1. wxWidgets 3.2.1 udgivet .
  2. JulianSmart.com Arkiveret 26. november 2014.
  3. wxHaskell . Hentet 1. oktober 2009. Arkiveret fra originalen 23. april 2009.
  4. wxLua (downlink) . Hentet 22. februar 2008. Arkiveret fra originalen 17. august 2010. 
  5. wxWidgets  navneændring . - Skift navn til wxWidgets. Hentet 29. oktober 2008. Arkiveret fra originalen 27. august 2011.

Litteratur

Links

Hjælpedokumentation