WPF Alapok – 1. rész

MEGOSZTÁS

Ha tetszett a cikk, akkor nyugodtan oszd meg ismerőseiddel, valószínű ők is örülni fognak neki.

A WPF a jövő a .NET alapú grafikus alkalmazások terén. Egy ideje már elérhető technológia, azonban sokan még nem váltottak Windows Forms technológiáról, vagy ha váltottak is, akkor nagyjából egy éve tették meg ezt. (mint én is) Ezen cikksorozat a WPF alapjaival fog foglalkozni, és leginkább Windows Forms alapismeretekkel rendelkező felhasználóknak szánom.


A cikksorozat elején tisztázni szeretném, hogy nem vagyok egy WPF guru, úgyhogy a tapasztaltabb fejlesztők találhatnak majd az írásokban hibákat, pontatlanságokat. Mivel senki sem tökéletes, ezért azt kérném, hogy az esetleg előforduló pontatlanságokat hozzászólásban jelezzék.

Mi fog kelleni a fejlesztéshez ?

Egy számítógép biztosan :) Ezen kívül szükség lesz még egy Visual Studio-ra, valamint Expression Blend-re. Az egyetemi/főiskolás hallgatók itt előnyben vannak, mert MSDNAA-ról letölthető mindkét termékből a legfrissebb változat. Ezen cikksorozatban a minta programok Visual Studio 2010-el és Expression Blend 4-el fognak készülni. Emiatt a cél keretrendszer a 4.0-ás .net lesz.

A számítógép, amin fejlesztünk, legalább legyen felszerelve egy Hardver szinten DirectX 9 képes videokártyával, valamint az sem árt, ha az operációs rendszer Vista vagy újabb. Processzorból is ajánlott egy kétmagosat beszerezni, mivel néha igen lassú tud lenni a Visual Studio 2010 egy egymagos rendszeren (tapasztalatból mondom)

Mi is az a WPF?

A WPF egy DirectX alapú grafikus rendszer, amit arra terveztek, hogy leváltsa a Windows 95-től folyamatosan használt GDI grafikus rendszert és utódait. Az utóbbi pár évben a GDI legnagyobb problémája a kora mellett az lett, hogy a videokártya gyártók elkezdték hanyagolni a GDI hardveres gyorsítását lehetővé tévő driverek fejlesztését, ezért a processzornak kellet minden rajzolást végeznie. Kisebb alkalmazásoknál ez nem jelent gondot, de nagyobb alkalmazásoknál igen zavaró tud lenni a darabos rajzolás és a többi hasonló grafikai hiba.

A kor azért jelent gondot a GDI esetén, mivel kompatibilitási okokból nem lehetett újra tervezni a mai kor elvárásainak, amik messze nem azok, mint amik 1995-ben voltak.

Emellett előnyt jelent a WPF esetén, hogy vektor grafikus a rendszer. Ez azért jó nekünk, mert a 16:9-es arányú monitorok megjelenésével beköszöntött a kismillió egy felbontás korszaka. Így igen nehéz olyan alkalmazásokat tervezni, amik jól néznek ki több felbontáson.

A mai alkalmazásoknál az is elvárás, hogy nézzenek is ki valahogy, mert nem elég, ha működik a program ezért pofásan is kell kinéznie. Ez kulcsszerepet kapott a WPF tervezése esetén, mivel nagyjából minden áttervezhető, módosítható, animálható, anélkül, hogy egy tonna saját kezűleg megírt programkóddal kellene megtámogatni az alkalmazásunkat.

Mindezen tulajdonságok megvalósításához szükség volt egy új jelölő nyelvre is. Ez a XAML nevet kapta. Ez egy XML alapú jelölő nyelv, ami .net objektumok leírására szolgál. Manuálisan is szerkeszthető, de ha komolyabb dolgokat szeretnénk csinálni, vagy csak időt szeretnénk spórolni, akkor érdemes megismerkedni az Expression Blend programmal, amit lényegében XAML szerkesztőnek terveztek.

Ezen koncepció hátterében az állt, hogy a tervezőknek ne kelljen Visual Studio-ban dolgozniuk, amit nem éppen grafikus feladatok megvalósítására terveztek. Ez szép és jó, ha többen dolgozunk egy projekten, ám az esetek nagy többségében saját fejlesztéseknél csak egy pattanás lesz a fenekünkön, mert 2 programot kell egymás mellet futtatnunk. Egyikben a kinézetet tervezzük, másikban meg a kódot írjuk. Elsőre nem hangzik vészesen, de több óra tervezés után kezd idegesítő lenni az ALT+TAB nyomogatása, vagy az egérrel való váltogatás. Ezért aki komolyan gondolja, annak azt tudom javasolni, hogy vegyen 2 monitort.

Tanuló anyagok

Mivel a WPF igen nagy (nagyobb, mint hinnénk elsőre), ezért sok mindennel nem fogunk foglalkozni. Ezért ajánlom a Google-t, ami megfelelő kulcsszavak hatására igen sokat tud segíteni. Könyvet is ajánlanék, de mivel eddig nem találtam megfelelőt, ezért nem teszem. Leginkább az Expression Blend-ről érdemes könyveket keresni. A magyarul is megjelent „Tanuljuk meg a WPF használatát 24 óra alatt” könyv talán jó alapot adhat azoknak, akiknek bejöttek a korábbi 24 óra alatt könyvek. Személy szerint nekem nem jött be, nem sokat segített. A Kiskapu kiadótól itt lehet megrendelni: http://www.kiskapu.hu/index.php?BODY=BookInfo&OP=details&ID=92794

Internetes tanuló anyagnak tudom ajánlani az angolul tudóknak a http://windowsclient.com WPF tanuló videóit, amelyek letölthetőek wmv formátumban a hozzájuk tartozó mintakódokkal együtt. Az Expression Blend használatáról videók leginkább Silverlight-os témában találhatóak a http://channel9.msdn.com -on. Valamint a DevPortal-nak is van egy igen jó Silverlight alapok videó sorozata, ami innen érhető el: http://devportal.hu/groups/silverlight/pages/silverlight-os-vide-243-sorozat-kezd-knek.aspx

Itt megjegyezném azért, hogy a Silverlight és WPF igen hasonló, de a Silverlight nem azonos a WPF-el, tehát bizonyos dolgok másképpen vannak megvalósítva a WPF-ben, vagy egyelőre nincsenek. Elvileg majd az 5-ös Silverlight és az 5-ös WPF orvosolni fog sok ilyen gondot.

A következő részben elkezdünk kódolni. Egyvalamit azonban megígérhetek: Nem lesz egyszerű egy út, sokszor frusztráló lesz a Windows Forms felhasználóknak, de ez majd egy idő után elmúlik és meglátja az ember a logikát a WPF mögött, még ha elsőre nem is tűnik logikusnak  :)

MEGOSZTÁS

Ha tetszett a cikk, akkor nyugodtan oszd meg ismerőseiddel, valószínű ők is örülni fognak neki.

HOZZÁSZÓLÁS

Ha nem hagy nyugodni az, amit a cikkben olvastál, akkor nyugodtan írd meg kérdésed vagy észrevételed kommentbe. Így szerzőnk könnyen tud neked válaszolni.

Vélemény, hozzászólás?