Windows Presentation Fundation vs. Windows Forms

Iz Wikipedije, proste enciklopedije

Spomnimo se, še v času ko se je Vista imenovala Longhorn je Microsoft obljubljal revolucijo na ravni aplikacij s pomočjo predstavitvenega sloja (ti. Avalon). Avalon se je sčasoma preimenoval v Windows Presentation Fundation in predstavlja pravzaprav dopolnilo dobro poznani tehnologiji Windows Forms. Poglejmo si, kaj nam ti dve tehnologiji omogočata in zakaj lahko živita v sožitju ena z drugo.

Windows Forms[uredi | uredi kodo]

Ta tehnologija izhaja pravzaprav še iz čistih začetkov Windows okolja, vendar lahko rečemo, da so bile osnove postavljene z Visual Basic 3, ki je omogočal razvoj aplikacij za Windows 3.1 okolje. Ta se je skozi leta razvija do različice 6.0, ko ga je leta 2002 zamenjal .NET Framework. Windows Forms je pravzaprav "forms over data" oz. po slovensko uporabniku prilagojen prikaz podatkov. Ta nam omogoča razvoj pravih Windows aplikacij s pomočjo komponent, ki so ali že vgrajene ali jih razvijemo sami ali pridobimo s kakega drugega vira. Ravoj temelji na GDI+ oz. nejnih predhodnicah. S pomočjo takih komponent se ustvari unikatno razvojno okolje, ki nam omogoča hiter razvoj prikaza podatkov, dela s sistemskimi dialogi, dela s slikami, dela z datumi in uro, ipd. Orodje Visual Studio ima najbogatejši RAD (Rapid Application developement) vmesnik ravno za Windows Forms. Microsoft je kljub najvi WPFja napovedal, da bo Windows Forms še vedno podpiral in razvijal tudi v prihodnje. Tako da ni potrebe po prenašanju starih projektov na WPF. Za tako odločitev obstaja več razlogov, od tega da WPF na starejših računalnikh ne deluje do ti. "legacy-support" problema. Vendar kljub temu, če se danes lotite novega projekta in gradite tradicionalno aplikacijo, bazirano na obrazcih (forms) in trenutne komponente ter orodja zadovoljuejo potrebe projekta, potem je prava izbira ravno Windows Forms.

Windows Presentation Fundation[uredi | uredi kodo]

WPF uporabimo za izdelavo ti. bogatega uporabniškega vmesnika, kar pomeni, da potrebujemo skupek več različnih tehnologij, ki do vpeljave WPF niso bile najbolj kompatibilne. Poglejmo si v tabeli primerjavo različnih tehnologij z uporabo Windows Forms proti WPF:

WinForms PDF WinForms + GDI Windows Media Player Direct3D WPF
Forms, Controls X X X
Slike X X
Zahtevno besedilo X X
Video in zvok X X
2D Grafika X X
3D Grafika X X

WPF je platforma, ki je uporabna v zahtevnih aplikacijah z uporabo 3D, interaktivnosti, multimedije in prilagojenimi uporabniškimi vmesniki. Dva primera takih aplikacij sta prikazana na slikah spodaj. Za sam WPF obstaja manj kontrol kot za Windows Forms, ker je tehnologija še nova, vendar se bo to hitro popravilo na bolje. Novost tehnologije je tudi razlog, da je v Visual Studio 2008 orodje za "risanje" WPF aplikacij še nepopolno in ne pokriva večine zmogljivosti, ki nam jih ponuja XAML. Ima pa zato dobro podpro za "ročno" pisanje XAML kode, saj ima polno podporo za IntelliSense. Trenutno je zato najboljša kombinacija Visual Studio 2008 in Microsoft Blend 2 za hiter razvoj WPF aplikacij, saj nam Blend 2 omogoča marsikaj več kot osnovni editor v Visual Studiu.

Tu se tudi pokaže težnja Microsofta, da naredi jasno črto med obliko programa, ki jo naredi designer v Blend 2 ter kodo oz. poslovno logiko programa, ki jo spiše programer v Visual Studiu. Prednost WPFja je tudi sam opisni jezik XAML, ki je narejen po standardih XML jezika. S tem lažje ločimo oblikovni del aplikacije od programerskega, seveda pa tudi lažjo kasnejše uporabo že napisane XAML kode (ti. templates). Ker so tudi fizično ločene datoteke, lahko designer in programer delata istočasno na istih datotekah. Tu je dobro omeniti povezljivost z Siverlight aplikacijami, saj si WPF in Silverlight delita iste osnove, npr. XAML. WPF in Windows Forms sta tudi popolnoma kompatibilna, saj lahko v Windows Forms vstavlajmo elemente WPF in seveda tudi obratno.

Zaključek[uredi | uredi kodo]

Ugotovili smo, da uporaba WPF ni vedno smiselna, zato si poglejmo nekaj iztočnic kdaj uporabiti kaktero tehnologijo:

  • Če imate obstoječ projekt v Windows Forms in iščete bolj zrelo tehnologijo ter potrebujete tudi kompatibilnost za nazaj, je pametna izbira Windows Forms.
  • Če imate obstoječ projekt, pa bi ga radi izboljšali z WPF ni nobene težave, saj lahko brez težav vključite WPF v Windows Forms.
  • Če želite ustvariti bogati, interaktiven ali prilagodljiv uporabniški vmesnik na novem projektu, je WPF prava izbira.
  • Če poleg Windows aplikacije ciljate tudi na web, potem je WPF prava izbira, saj si deli isti razvojni model s Silverlightom.

Glej tudi[uredi | uredi kodo]

Zunanje povezave[uredi | uredi kodo]