Još
od pojave Windows 1.0 koji je na tržište izašao 1985 godine; primarna
tehnologija iza mnogih Windows baziranih korisnički interfejsa je bila
isključivo bazirana na GDI – Graphic Device Interface. To znači da je celi Windows operativni sistem generisao grafički prikaz, čak i za štampače i druge
uređaje; kroz samo tri osnovna objekta za crtanje. Pen – olovka, Brush – četka
i Font. Pojavom Windows 95 i pored toga što taj Windows nije imao direktan
pristup memoriji, već se sve programiralo na MS-DOS-u; razvojem računarskih
igrica i sve složenijeg hardvera je nastao Microsoft DirectX koji je
uspostavljao direktnu komunikaciju između interfejsa i hardvera. Pojavom
Windows XP-a; 24 avgusta 2001 godine nastaje poboljšana verzija GDI-a; GDI+;
koja je donela značajna poboljšanja kao npr. rastersku grafiku. Ali
bez obzira na sva poboljšanja, vi kao programer ste mogli samo da promenite
inicijalni prikaz bilo koje standardne kontrole preko predefinisanja Windows događaja koji je prikazivao korisnički interfejs kontrola.
( Microsoft revolucija Framework verzije 3.0 )
Tačno
21 novembra 2006 godine Microsoft korporacija objavljuje .Net Framework verziju 3.0 kodnog
imena WinFX kao ugrađenu komponentu Windows Vista-e koji je poput najveće
revolucije promenio GDI paradigmu i uveo novitete koje su ostavile programere
bez teksta. Iako ta revolucija nije donela ogroman uspeh Windows Vista-i na
tržištu; celi svet svakog .Net programera se okrenuo naglavačke dok se
uspostavljao novi način razmišljanja. Sa .Net Framework-om verzije 3.0 su došle
sledeće tehnologije:
- WPF – Windows Presentation Foundation – grafički podsistem namenjen izgradnji aplikacija sa vizualno korisničkim interfejsom baziranom na XAML-u.
- WFC - Windows Communication Foundation – servisno orjentisan sistem razmene poruka koji omogućava programerima komunikaciju sličnu veb serverima.
- WF – Windows Workflow Foundation – tehnologija za definisanje, izvršavanje i upravljanje tokovima omogućavajući programerima razdvajanje logike od pozadinskog izvršavanja komponenti i boljem upravljanju aplikacijom.
- Windows CardSpace – softverska komponenta koja bezbedno skladišti digitalni identitet osobe i obezbeđuje jedinstven interfejs za konkretnu transakciju poput logovanja na veb sajt.
Umesto
da kreirate korisnički interfejs korišćenjem instrukcija napisanim u
programskom jeziku, WPF koristi XAML – Extensible Application Markup Language
koristeći izuzetne mogućnosti hardverske akceleracije GPU – grafičkih procesnih
jedinica ugrađenih u računare. WPF koristi Direct3D za iscrtavanje što znači da
koristi GPU – procesor grafičke kartice. Tako vektorska grafika kod većih
rezolucija postaje jasnija i bolja dok korisnički interfejs kod malih uređaja
poput mobilnih telefona izgleda isto. Hardversko ubrzanje kod WPF ne zahteva
postojanje vrhunskog podsistema jer poseduje softverski rendering. Sa
programerske tačke gledišta XAML je derivat XML – Extensible Markup Language
stime da donosi modifikovan XML. Na taj način XAML elemente korisničkog
interfejsa prikazuje kao XML tagove i omogućava paralelni rad grafičkih
dizajnera i programera pri kreiranju korisničkog interfejsa. XAML code se čak
portuje na sve platforme bez promene. Tako WPF aplikacije mogu biti isporučene
kao samostalne aplikacije ili veb aplikacije. Imajte u vidu da se WPF veb
aplikacijama se pristupa kroz pregledač. Jedna od najznačajnijih promena koje
je doneo WPF je set tehnologija za obradu i štampu dokumenata jer koristi OpenPackaging Convention koji nudi prilagodljive meta podatke, kompresiju
dokumenata, digitalne potpise i upravljanje pravima pristupa.
Arhitektura
WPF-a

