Visual Studio 2008 és WPF
Egy remek kis cikk, a Visual Studio 2008 és a WPF használatáról.
Bátorfi Zsolt
Rögtön egy remek hírrel, ugyanis megjelent a Visual Studio 2008 (igen, kezdjük el szokni) Beta 2, ami innentől kezdve abban az állapotba van, amit funkcionálisan késznek tekinthetünk.
Ez azt jelenti, hogy aki veszi a fáradságot és letölti a telepítőkészletet, az már a mindent úgy láthat, ahogy az a végleges – a következő év elején megjelenő – termékben benne lesz.
Mivel ez a blog elsősorban a prezentációs technológiákról szól, ezért most eltekintek az összes új feature felsorolásától, inkább csak az első élményekre fókuszálok a WPF támogatással (aka. Cider) kapcsolatban.
Aki a WPF-be beleásta magát, annak nem kell mondanom, milyen fontos ez a pillanat, hiszen közismert, mindezidáig komoly fejlesztőeszköz támogatás nincs a WPF-hez, aki eddig neki akart indulni egy projektnek, az bizony kezdhette az alapoktól: msbuild fájlok (.csproj) kézzel történő létrehozása, "meztelen" XAML szerkesztés, ugyanis a VS 2005 alatt design time támogatást nem létezett stb.
Tovább bonyolította a helyzetet, hogy közben elkészült a Blend, ami egy profi designer felület, de ha a kódolásra kerül a sor, nos, nincs igazán a helyzet magaslatán, ugyanis képességei odáig terjednek, hogy képes egy .cs fájlt egy editorban megnyitni, s aztán filmszakadás…
Ezzel kapcsolatban elő is jön egy kérdés, nevezetesen, hogy miben kezdjünk el egy WPF alkalmazást fejleszteni: Blend-el vagy VS-el hozzuk létre a szoftver vázát?
Egyáltalán milyen helyzetben használjuk a designer, s mikor a fejlesztő eszközt?
Most hogy végre látszik, mi lesz pontosan a VS 2008-ban, szerintem kitisztult a kép, ugyanis innentől kezdve minden támogatást megkapunk az eszközben. Gyakorlatilag teljes szabadsággal fejleszthetünk Windows alkalmazásokat, úgy mint a WinForms-ban, természetesen azzal a rengeteg plusszal (pl. vezérlők testreszabása) amit a WPF ad, ráadásul a két technologiát szabadon kombinálhatjuk, mindkét irányban.
Nézzük hát mi fogad bennünket, amikor rányitunk egy már korábban elkezdett projektre (megj: az új multitargeting-nek köszönhetően egy kattintással átváthatunk 3.0-ról 3.5-rem így tettem én is egy demó alkalmazásommal):
tovább képernyőképek itt…
Néhány dolgot szeretnék kiemelni:
- a designer felület tényleg gyors, nagyítható és végre jól szinkronban van a XAML editorral, ami gyakorlatilag gépelés közben úgy ellenőrzi (interpretálja!) a kódot, hogy az ne pusztán csak az XML sémának, hanem a WPF visual tree előírásainak is megfeleljen, illetve fel van készítve minden extrára (markup extension-ök, resource-ok, stílusok, adatkötés):
- egy igazi felület számos layout vezérlő és azok gyermekobjektumainak beágyazásából áll, minek következtében másodpercek alatt el lehet veszni a markup ingoványban. Erre ad megoldást az új Document Outline panel (kedvencem), ami nem csak navigálni enged, hanem még előnézeti képet is az elemről ami felett az egerem áll:
- mivel a XAML editor menetközben validál ezért, remek hibajelzéseket kapunk, anélkül, hogy build-elnénk:
- remek jól működik a WPF tartalom hosztolása egy Winform-on (Elementhost) illetve a Winform vezérlők beágyazása WPF-be (WindowsFormsHost):
Összeségében elmondhatjuk, hogy végre kikerekedett a kép a WPF fejlesztők számára is, a megvalósítás minden fázisa tökéletesen lefedődik eszköz és design time támogatással és most már az is tiszta mikor mit használjunk: a projekt vázát készítsük el VS 2008-ban, hozzuk létre a felső szintű layout konténereket (pl. canvas, grid, dockpanel), tervezzük meg és implementáljuk az adatkötést támogató osztályokat felhasználva pl. a LinQ to SQL támogatást, majd pedig menjünk át a Blend-be és polírozzuk ki a UI-t (layout, control template, databinding).
Jó ismerkedést Mindenkinek!
WPF és Silverlight tutorial
Egy kis tutorial, amivel könnyen elsajátíthatjuk, mind a WPF mind a Silverlight -tal való munkát. (Silverlight telepítese szükséges)
Bátorfi Zsolt:
Silverlight és WPF designerek figyelem!
Azoknak akik szeretik a rövid, moduláris tanulást, egy remek honlap indult a napokban, ahol részletes trénanyagok segítségével lehet megtanulni az egyedi vezérlők, effektek, animációtervezés, vektorgrafika és sok más tipikusan "tervezendő" vizuális komponenseket:
Jó tanulást!
Web Based Client Development – 70-528 MCP vizsga
Web Based Client Development – 70-528 MCP vizsgatippek
Balássy György:
Múlt héten voltam Web-Based Client Development (70-528) vizsgán, gondoltam megosztom a tapasztalataimat, másnak még jól jöhet.
Helyszín
Vizsgaközpontként a TrainerC-t választottam, pontosabban nem volt választási lehetőségem. Az ügyintézés kedves, korrekt és gyors volt, igazán csak jót tudok mondani róla.
Felkészülés
A felkészüléshez két forrást tudok nagyon ajánlani:
- MCTS Self-Paced Training Kit (Exam 70-528): Microsoft® .NET Framework 2.0 Web-Based Client Development című vizsgafelkészítő könyv. Nem is a könyv az érdekes, hanem a CD mellékleten található vizsgáztató program, amiből fel lehet deríteni, hogy mire szeretnek rákérdezni. Azt hiszen nem árulok el titkot azzal, ha ideírom, hogy peer-to-peer hálózatokon megtalálható a CD melléklet anyaga.
A könyvhöz egyébként tetemes hibajegyzék van, amit kissé nehéz megtalálni, hiszen a KB930739 tudásbázis cikkben érhető el. Nekem is csak az MS Press support tudta elküldeni a linket, a kérdésem háromszori forwardolása után. A CD mellékletből nincs javított verzió, pedig van hiba a példa kérdésekben is.- Lehet vásárolni a neten minta vizsgasorokat, vagy Uram bocsá’ akár P2P hálózatokon is lehet ilyeneket találni. Nekem az ActualTests bejött.
A fenti két forrás együttesen lefedte a vizsgakérdések 100%-át, méghozzá szó szerint, amin nagyon meglepődtem.
Témakörök
A Microsoft természetesen publikálta, hogy mire kíváncsi a vizsgán, mégis íme néhány személyes tipp az egyes témakörökhöz, hogy mire érdemes kiemelten koncentrálni:
- Creating and Programming a Web Application
- Kontrollok dinamikus hozzáadása az oldalhoz
- Állapotkezelés, mikor viewstate, session vagy query string
- Oldalak életciklusa
- Erőforrásfájlok használata (lokalizáció), szintaktika.
- Validátorok: mikor melyik, kikapcsolás.
- Hierarchikus vezérlők (menu, treeview, sitemap)
- Átirányítás (Redirect vagy Transfer)
- Integrating Data in a Web Application by Using ADO.NET, XML, and Data-Bound Controls
- XPath kifejezések értelmezése és a megadott XML dokumentum egy node-jának kiolvasásához szükséges XPath kifejezés megalkotása
- Az összes XML-lel kapcsolatos osztály, mikor melyiket célszerű használni, melyik gyors, melyikben lehet ugrálni, melyik csak szekvenciális, melyik tud XPath-t stb.
- Táblák összekapcsolása, idegen kulcsok, kényszerek DataSetben.
- Táblákon belül nézetek használata és RowStateFilter.
- Adatkötés folyamata.
- Expression column szintaktika DataTable-ben.
- Creating Custom Web Controls
- Custom-, user- és composite kontrollok közötti különbségek, mikor melyiket célszerű használni.
- Mikor melyik ősosztályból érdemes származtatni.
- Tulajdonságok állapotkezelése (viewstate és control state).
- Template-es vezérlők készítése.
- Attribútumok használata (Designer, Category, Description).
- Tracing, Configuring, and Deploying Applications
- Mikor kell Copy Web, Publish Web és Web Setup eszközt használni, melyik mit másol fel, milyen protokollon keresztül.
- aspnetcompiler.exe
- Trace lehetőségek.
- Customizing and Personalizing a Web Application
- Master page-content page szintaktika, nested master készítése.
- Masteren elhelyezett kontroll elérése content page-ről.
- Webkijelzők: kijelzők összekapcsolása, mikor milyen part (editor, catalog stb.) kell az oldal szerkesztéséhez.
- Mikor lehet témát és master page-et kódból állítani (PreInit-ben).
- Implementing Authentication and Authorization
- Megszemélyesítés.
- Szerepkör alapú jogosultság osztás web.configban (allow, deny, ?, *).
- Hitelesítéshez kapcsolódó ASP.NET 2.0 vezérlők alapszolgáltatásai (pl. levélküldés, password reset vagy elküldés).
- Creating ASP.NET Mobile Web Applications
- Kliens specifikus renderelés.
- Böngésző képességek detektálása.
- Egyedi device filter készítése.
- Lapozás megvalósítása.
- Form vs. Page.
A fentiek közül szerintem az ADO.NET és az XML a legnagyobb kiszúrás, az XPath bűvölést és az XML osztályok használatát én simán áttettem volna egy adatkezeléssel kapcsolatos vizsgába. Sajnos nem elég az ASP.NET-et ismerni, akadnak kérdések, amik egyértelműen a VS 2005 IDE ismeretére mennek rá, például a Server Explorer használatára, ráadásul pont az adatkezelős részre (pl. SQL query írás), amit a Visual Web Developer Express nem tud 😦
A vizsga egyébként 45 kérdésből áll és 2,5 órás, ami szerintem bőségesen elegendő, én kb. 30 perc alatt végeztem. Nem állítom, hogy a vizsga tökéletesen leméri, hogy az illeti mennyire ismeri az ASP.NET-et, de az tény, hogy elég szerteágazóan, elég apró dolgokra kérdez rá, tehát nagyon nem árt, ha az embernek valóban van gyakorlati tapasztalata.
Sok sikert!