Attila's profileTuróczy Attila (MCP, MCT...PhotosBlogLists Tools Help

Blog


    August 22

    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):

    Cider01

    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):
      Cider03
    • 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:
      Cider05 Cider02
    • mivel a XAML editor menetközben validál ezért, remek hibajelzéseket kapunk, anélkül, hogy build-elnénk:
      Cider04
    • 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):
      Cider07 Cider06

    Ö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!

    August 20

    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:

    image

    Jó tanulást!

    August 17

    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:

    1. 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)
    2. 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.
    3. 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).
    4. 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.
    5. 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).
    6. 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).
    7. 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!