KDE darbastalio aplinkos grafinė sąsaja (*GUI*)
X Window System grafinė naudotojo sąsaja (taip pat matomas joje atidarytas tekstinės sąsajos langas).
**Grafinė sąsaja** (angl. *graphic interface*; *graphical user interface* (GUI), **grafinė naudotojo sąsaja**) – grafikos priemonėmis pagrįsta sąsaja tarp žmogaus ir kompiuterio. Komandoms parinkti, programoms paleisti, failų ir katalogų vardams, parinktims, parametrams stebėti ir parinkti, taip pat kitiems veiksmams atlikti naudojami ekrane rodomi dialogo langai, meniu punktai ir mygtukai, kuriais manipuliuojama pele (arba klaviatūra). Naujas perspektyvus įvedimo įrenginys yra lietimui jautrus ekranas, kuriuo galima atlikti tuos pačius veiksmus, liečiant ekraną ranka ar specialiu rašikliu. Šis įrenginys palaiko multi-įvesties (angl. *multitouch*) funkciją – atpažįsta kelis prisilietimus skirtingose vietose vienu metu.

Pagrindiniai grafinės sąsajos komponentai: darbalaukis, langas, piktograma, meniu, pelės žymeklis.

Grafinė naudotojo sąsaja turi tokius privalumus:

* visų taikomųjų programų langai tampa „standartizuoti".
* visos taikomosios programos dirba pagal panašius principus, kuriuos nustato kompiuterio operacinė sistema.
* naudojant GUI palengvėja ir supaprastėja naujų programinių produktų kūrimas.

Atviro kodo grafinių sąsajų programavimo bibliotekos ir jų palaikomos programavimo kalbos:

* FLTK (C++)
* GTK (C, D, C++, Go, JavaScript, Perl, Python, Rust, Vala),
* wxWidgets (C++);

Programavimas
-------------

Daugumoje grafinių sąsajų (Windows, Java, KDE, Gnome) naudojamas įvykių valdomas programavimas (angl. *event driven*). Programuotojas turi pateikti ir tinkamai užregistruoti kodą, kuris sistemos automatiškai kviečiamas atsakant į veiksmus pele (pelė pajudėjo, paspaustas ar atleistas pelės klavišas) ar klaviatūra (paspaustas, atleistas klavišas). Gali būti ir kitokių įvykių, bet jų prireikia rečiau. Tai labai skiriasi nuo klasikinės programos, kuri turi tik vieną įėjimo tašką (pradžią), atlieka numatytus veiksmus ir pasibaigia. Tik kai kurios senesnės, dabar nelabai paplitę sąsajos (tokios kaip Newt) naudoja klasikinį modelį, kai aktyviai iškviečiama duomenų įvedimo paprogramė.

Daugumoje sąsajų, išskyrus seniausias, taip pat kitoks ir grafinio išvedimo programavimas. Klasikinė programa rašo arba braižo ekrane, kada mano esą reikalinga; tas išvedimas po to lieka, kol vėlesnėmis komandomis nenutrinamas. Grafinėje sąsajoje paprastai daug įvairių langų, kuriuos galima uždaryti, atidaryti, perkelti, todėl užregistruojamas kodas, kuris prireikus bet kada pasiruošęs pakartotinai perpiešti išvedimo langą ar jo dalį. Paprastai programuotojui, kuris žino programos vidinę logiką, tinkamas duomenų struktūras, langą perpiešti daug paprasčiau ir efektyviau nei tai galėtų padaryti pati sistema.

Šiuolaikinės grafinės sąsajos prireikus palaiko daugiau nei vieną monitorių. Galimos jų nuotolinės sesijos, kai programa vykdoma vienoje mašinoje, bet išvedimas atvaizduojamas ir su naudotoju sąveikaujama kitoje, siunčiant duomenis per tinklą (X-Windows, VNC).

Istorija
--------

1973 m. kompanijos „Xerox" Palo Alto tyrimų centre buvo suprojektuotas pirmasis kompiuteris, naudojęs grafinę naudotojo sąsają, tai buvo Xerox Alto. Tačiau kompiuteris taip ir liko prototipu. Vėliau šią idėją Stivas Džobsas pritaikė Apple Lisa ir Macintosh kūrime.

Taip pat skaitykite
-------------------

* Tekstinė sąsaja

Šaltiniai
---------

1. ↑  „Grafinė naudotojo sąsaja". Suarchyvuota iš originalo 2014-06-25. Nuoroda tikrinta 2014-06-25.