Showing posts with label silverlight. Show all posts
Showing posts with label silverlight. Show all posts

Monday, September 11, 2017

Uvod u WPF – Windows Presentation Foundation

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