Udgivelsen af Dear PyGui 1.0.0 (DPG), et tværplatformt værktøj til udvikling af grafiske brugergrænseflader på Python, er nu offentliggjort. Den vigtigste funktion i projektet er brugen af multithreading og delegationen af opgaver til GPU'en for at fremskynde rendering. Hovedmålet med version 1.0.0 er at stabilisere API'et. Inkompatible ændringer vil nu blive tilbudt i en separat 'experimental' modul.
For at sikre høj ydeevne er hovedparten af koden i DearPyGui skrevet i C++ med brug af Dear ImGui-biblioteket, som er udviklet af de samme forfattere, men som er designet til at skabe grafiske applikationer i C++ og tilbyder en helt anderledes arbejdsmodel. Kildekoderne til Dear PyGui distribueres under MIT-licensen. Der er erklæret støtte til platformene Linux, Windows 10 og macOS.
Værktøjet er velegnet til både hurtig oprettelse af enkle grænseflader og til udvikling af komplekse specialiserede GUI'er til spil, videnskabelige og ingeniapplikationer, hvor der kræves høj responsivitet og interaktivitet. Apptil udviklerne tilbydes et enkelt API og et sæt af færdige traditionelle elementer som knapper, skyder, kontakter, menuer, tekstformer, billedvisning og forskellige metoder til layout af vindueselementer. Blandt de udvidede funktioner bemærkes støtte til oprettelse af diagrammer, grafer og tabeller.

Der findes desuden et sæt ressourcevisere, en editor til nodestrukturer, et system til inspektion af temaer og elementer til frirendering, der er velegnede til at skabe 2D-spil. For at lette udviklingen medfølger flere værktøjer, herunder en debugger, kodeeditor, dokumentationsvisning og logvisning.
Dear PyGui implementerer en typisk abstrakt API-driftsmode (Retained mode), men den er bygget oven på Dear ImGui-biblioteket, som fungerer i en IMGUI (Immediate mode GUI). Retained mode kræver, at bibliotektet varetager opgaverne for sceneskabelse, mens i Immediate mode håndteres visualiseringsmodellen på klientsiden, og grafikbiblioteket bruges kun til den endelige output, hvilket betyder, at applikationen hver gang udsteder rendering kommandoer for alle interface-elementer for at skabe det næste færdige billede.
I DearPyGui bruger ikke systemets leverede native widgets, men tegner egne widgets via OpenGL, OpenGL ES, Metal og DirectX 11 API, afhængigt af det nuværende operativsystem. Der tilbydes i alt over 70 færdige widgets.



Kilde: opennet.ru
