Yleistä Windowsin graafisista käyttöliittymistä

Graafinen käyttöliittymä (engl. graphical user interface, GUI), tarkoittaa tekstiin, kuviin ja käyttöliittymäelementteihin perustuvaa tapaa käyttää tietokonetta, älylaitetta, tietokoneohjattua laitetta tai vastaavia. Graafinen käyttöliittymä koostuu käyttöliittymäelementeistä, kuten ikkunoista, valikoista, valinta­napeista, valinta­laatikoista ja kuvakkeista. Sitä käytetään osoitinlaitteella ja näppäimistöllä. Osoitinlaitteena voi olla hiiri, kosketuslevy, kosketusnäyttö tai nykyisin myös puheen- tai eleohjaus-laitteet. Tietyn GUI:n elementit saadaan useimmiten käyttöön käyttöliittymäkirjastosta. .NET Framework sisältää sekä WPF että WinForms -käyttöliittymät Windows-sovellusten tekoon. Universal Windows Platform UWP on Windows 10:ssä esitelty alustayhtenäinen sovellusarkkitehtuuri.

Windows Presentation Foundation (WPF)

Windows Presentation Foundation eli WPF on .NET Framework 3.0:ssa esitelty kirjasto, joka muodostaa Windows Vistan ja myöhempien Windows-versioiden graafisen rajapinnan. WPF toimii käyttöliittymän pohjana ja grafiikan, tekstin, animaatioiden ja videon piirron rajapintana. Se muodostuu XML:ään, .NET:iin ja vektorigrafiikkaan liittyvistä teknologioista. WPF käyttää grafiikan piirtoon DirectX:ää ja näytönohjaimen 3D-ominaisuuksia. Se korvaa aikaisemmin Windows-käyttöjärjestelmissä käytetyt GDI ja GDI+-järjestelmät. WPF:n tarkoituksena on tarjota johdonmukaisen ohjelmointimallin graafisten käyttöliittymien toteuttamiseen ja mahdollisuus erottaa käyttöliittymä businesslogiikasta.

Universal Windows Platform (UWP)

Hieman historiaa

Windows 8

Windows 8 esitteli uuden Windows Runtime (WinRT), jota voidaan pitää merkittävänä kehitysaskeleena Windows-sovellusten toteuttamisessa. WinRT:n tarkoitus on muodostaa yhteinen arkkitehtuurimalli kaikille Windows-pohjaisille sovelluksille. Suomessakin suhteellisen kovan suosion saavuttaneet Windows Phone 8.x -laitteet ja tuolloin myös käytössä oleva Windows 8 mahdollistivat sovelluskehittäjien tehdä "universal Windows 8" -sovelluksia, jotka toimivat sekä Windows että Windows Phone -laitteissa samalla koodipohjalla toteutettuna. WPF:ssä esiteltiin XAML, xml-pohjainen UI:n määrittelykieli.

Windows 10

Windows 10 toi mukanaan Universal Windows Platformin, joka on edelleen kehitetty aikaisemmasta WinRT:stä siten, että sovelluksien käytössä on yksi yhtenäinen Windows 10:n ydin. Sovelluskehittäjän kannalta tämä tarkoittaa sitä, että UWP mahdollistaa sovelluksien tekemisen kaikkialle mistä löytyy Windows 10 "pohja". UWP-sovellukset voivat käyttää WinRT:n mukana tuomaa ohjelmointirajapintaa (API) sekä mahdollisen Windows 10 -"laitteen" mukanaan toimia ohjelmointimahdollisuuksia.

Miksi UWP--> Windows10?

UWP

Yksi yhteinen alusta

Eri laitteet tarjoavat pääsyn ominaisuuksiinsa omien ohjelmointirajapintojen (API) kautta. Ohjelmoija voi omassa koodissa ottaa huomioon laitteen, jossa ohjelmaa suoritetaan ja käyttää siten laitteiden omia ominaisuuksia ja mahdollisuuksia (esim. hiiri, sormieleet kosketusnäytöllä, jne..). Käyttöliittymät voidaan toteuttaa siten, että sisältö skaalautuu automaattisesti eri näyttökokoon (Adaptive UI). Sovellus voidaan toteuttaa yhtenä asennuspakettina ja julkaista esimerkiksi Windows Storen kautta kaikille laitetyypeille, joissa kehitetty sovellus voi toimia.

UWP
lähde: msdn

UWP-sovellus voi olla kohdennettu toimimaan tietyssä "laiteperheessä" tai korkeammalta tasolta katsottuna "kaikissa" laitteissa. Universal device family ei ole laitespesifinen millekkään käytetylle laiteympäristölle, vaan tarjoaa yhteisen API:n kaikille ja mahdollistaa täten koko UWP:n periaatteen.

UWP2
lähde: msdn

Tällä opintojaksolla keskitytään opettelemaan GUI-ohjelmointia "klassisia" Windows-työpöytä sovelluksia WPF:n avulla sekä UWP-sovelluksia pääosin "Universal device" ja "desktop device" -laitteille sopivana. Toivottavasti jatko-opinnoissa on tarjolla myös sovellusten kohdentamista muihin tuoteperheisiin (tai oma kiinnostuneisuus). Opintojaksolla ei myöskään oteta kantaa maksimaaliseen sovelluksen käyttäjäkunnan saamiseen Windows Storen kautta (yms. detaileihin). Tärkeintä on oppia GUI- ja olio-ohjelmointia.

 

Lisätietoa:
Windows Presentation Foundation
WPF Tutorial
Guide to Universal Windows Platform (UWP) apps
What's a Universal Windows Platform (UWP) app?
Develop apps for the Universal Windows Platform (UWP)
Introduction to Universal Windows Platform (UWP) apps for designers
Universal Windows Platform Development