.NET webfejlesztés MVC-vel
Webalkalmazás készítése a kezdetektől
Kezdés:
Ez a tanfolyam már véget ért,
figyeld az új időpontokat!
Hossz:
40 tanóra
Az egyes alkalmak
Ár:
69 000 Ft+áfa
ingyenes!
Részvételi mód:
Visszanézhető videók
Különleges kalandra hívjuk az érdeklődőket: ezen a tanfolyamon a nagyhírű, ámde elavult NetAcademia Tudástár új verzióját készítjük el a hallgatókkal közösen. Szerzőtársak leszünk. Nulláról indulunk, hogy a teljes alkalmazásfejlesztés részét képezhesse a tanfolyamnak. Lesz itt pontozási rendszer, levélküldés és minden, ami egy ilyen komoly fórumban elengedhetetlen. Természetesen megismerkedünk a Model, View, Controller szentháromsággal is. Szerveroldalon minden problémára van .NET-es megoldás, kiterjedten használni fogjuk a .NET-keretrendszer képességeit. Böngészőoldalon pedig kénytelenek vagyunk kihasználni a hőn utált JavaScript képességeit, de ezúttal a JQuery könytár bámulatos képességeit kihasználva!
Előfeltételek
A programozás alapjainak ismerete nem igazán hátrány. Ciklus, elágazás, változók stb. fogalmi szintű ismerete. Ennél több nem kell, a többit megtanuljuk a tanfolyamon.
Nézd online!
Ezt a tanfolyamot kényelmesen, otthonról is követheted, a képzésrol készült felvételeket bármikor visszanézheted. Kérdés esetén beépített chat segítségével léphetsz kapcsolatba az oktatóval vagy más hallgatókkal. Ha ez a tanfolyam már véget ért, az elkészült videóanyagot Elofizetéssel megvásárolhatod!
Témakörök
1. Első MVC-webalkalmazásom: bugyuta Picasa
Elindulunk a File->New Projecttől és eljutunk egy fantasztikus webalkalmazásig, mely képes a feltöltött fényképeinket elegánsan megtekerve megjeleníteni a Tocsi által készített XAML to MVC modul segítségével, amelyik úgy rajzol, mint a kisangyal. Világító grafikus gomb felirattal és füstölgő effekttel? Nem probléma! 37,5 fokban bedöntött fotó? Nem probléma! Megismerkedünk a Razor-szintaxissal, a kiszolgálóoldali programozás szépségeivel, a Model objektummal és a SEO-barát beszédes URL-ekkel. Kialakítjuk mesteroldalunkat, stíluslapot kovácsolunk. Elhelyezünk az oldalon egy Facebook Like gombot, mert anélkül nem élet az élet. Végezetül publikáljuk a produkciót.
2. 2. Második MVC-webalkalmazásom: mi az a Doodle?
A Doodle nem a Google, hanem egy időpontegyeztető weboldal, érdemes megnézni. Egy hasonló alkalmazást készítünk csoportos bulik időpontegyeztetésére, mert ez a feladat lehetővé teszi hogy megismerkedjünk az adatbáziskezelés, űrlapok, LINQ szépségeivel és/vagy kínszenvedéseivel. A mi weblapunk egyébként jobb lesz, mint az eredeti: fel fogja kínálni, hogy iCalendar formátumban letöltsük, és Outlook-naptárba mentsük a buli kezdőidőpontját.
3. A Tudástár projekt indítása
Első közelítésben egy ronda, de alapjaiban jól megtervezett Tudástárat pakolunk össze, benne a Tudástár objektummodelljével (OOP!), megjelenítéssel, bejelentkezéssel, szerkeszthetőséggel. Már ezen az alkalmon „meg fog szólalni” az alkalmazás, hiszen a szükséges elemeket (Controller, Action, View) már megismertük a korábbi két feladat során. A kérdésekhez válaszokat is lehet adni, így azt mondhatjuk, hogy az első alkalommal már kész is van minden. De akkor mit fogunk csinálni a hátralévő hét alkalommal?
4. In Place Editing
A fejlesztés következő lépése, amikor az eddig készített űrlapalapú adatbeviteli megoldást felülvizsgáljuk, és ahol értelme van, áttérünk a jelenlegi böngészők által össze-vissza támogatott In Place, azaz helyben történő szerkesztésre. Megnézzük az In Place szerkesztés alapjait, majd kiválasztunk egy kész komponenst, és felhasználjuk jól.
5. Válaszvarázsló
A korábbi Tudástár óriási problémája volt, hogy idővel minden kérdést megkérdeztek kétszer-háromszor, mivel a kérdés megfogalmazásakor nem jött fel, hogy korábban ez a téma már szerepelt. A Válaszvarázsló a háttérben AJAX-hívásokkal kérdezgeti a rendszert, és dinamikusan felkínálja a hasonló kérdéseket, hátha a kérdező meggondolja magát. Mire ezt a működést összerakjuk, mindenki AJAX-gurunak érezheti magát.
6. Kulcsszókezelés
Minden alkalmazásban kulcsszerepet tölt be a kulcsszórendszer. Nálunk ez nemcsak a kulcsszavak egyszerű rögzítését jelenti, hanem kulcsszókövetést (a felhasználók feliratkozhatnak kulcsszavakra), valamint a kulcsszavak intelligens felvitelét is, hogy minden új kérdező láthassa, milyen kulcsszavak vannak már bent a rendszerben, mennyire népszerű egy kulcsszó stb. A kulcsszavakra feliratkozott tagoknak SMTP-levelet küldünk,ha új hozzászólás használja a kedvenc kulcsszavát.
7. Forráskódszínezés, SMTP-levelezés, hibakezelés
A felhasználók által felvitt adatok manipulálása, érvényességének ellenőrzése fontos témakör. A validáláson túlmenően most egy olyan megoldást mutatunk be, mely aktívan beavatkozik a felhasználói adatokba, és a kérdésben megjelenő programkódot kiszínezi, mintha a Visual Studio tette volna. Emellett megvalósítjuk a Tudástár SMTP-levélküldését (értesítés küldése a feliratkozottaknak), és ha már itt tartunk, a régóta halogatott hibakezelést is áttekintjük, beállítjuk, megvalósítjuk. A nap végén egy órában végignézzük az MVC routing rendszerét.
8. Értékelési rendszer

A Tudástár tartalmának értékét nagyban növeli, ha a válaszokat mind felfelé, mind lefelé pontozni lehet. (Természetesen aszinkron AJAX-hívással.) Ami ezen túlmutat, hogy az értékelések kialakítanak egyfajta megbízhatósági pontszámot a tagok között, amihez különböző jogosultságokat lehet rendelni. Ez nem az MVC megszokott, forráskódba bevarrt jogosultságellenőrzése lesz, hanem egy dinamikus, menet közben automatikusan változó jogrendszer, minden lusta webadmin álma.

Ezen felül a mai alkalommal megnézzük az MVC beléptett adatellenőrzési (validálási) lehetőségeit.

9. Adatbáziscsatlakozás
Csodálatos Tudástárunk jelenleg Code First módon menti az adatokat, de sokakat izgat a Database First megközelítés. Valójában szándékosan hagytuk ezt a lépést a végére, hogy egy olyan alkalmazásfelesztési modellt mutassunk be, mely élesen elválik az adatbázis az objektumoktól, ezért független az alatta elterülő adatbázistól. Az objektumaink és az adatbázistáblák közötti kapcsolatot Entity Frameworkkel fogjuk megvalósítani.
10. Finomhangolás, publikálás

Az utolsó fejezetben megvalósítjuk a Facebook autentikációt, emellett egy sorozat további MVC-specifikus technológiákat ismertetünk.

A T4 templétek világa megmutatja nekünk, hogy amikor nem írunk kódot, hanem "varázslat" történik, akkor is uralni tudjuk a helyzetet: saját kódgenerátor sablonokat tudunk létrehozni. Saját kód snippet létrehozásával ugyancsak gyorsíthatjuk a programozást. Írunk saját ModelBindert is, bár erre csak nagyon agyament esetekben van szükség.

Megnézzük azt is, hogyan tudjuk figyelembe venni a különböző böngészők képességeit a BrowserCapabilities vizsgálatával. Végül egy mozdulattal készítünk táblázatot és diagramot a weboldalra.

A képkezelés új módját a WebImage obektum tárja elénk: feltöltés, átméretezés, vágás, elforgatás, vízjelezés röptében!

Egyszerű gyorsítótárkezelés végezhető a WebCache objektummal. A "kesselést" egy későbbi alkalommal nézzük át részletesen.

A tanfolyam meghirdetésekor úgy gondoltuk, mára mindennel végzünk, ami majdnem igaz is, de a finomhangolásra további alkalmakat fogunk hirdetni.

11. Bónusznap I.
A mai alkalommal a tömeges adatmegjelenítésre alkalmas lapozgatást, valamint a Dependency Injectiont fogjuk megnézni.
12. Bónusznap II.

A mai alkalommal olyan témaköröket veszünk górcső alá, amelyek egy fejlesztés során szembejöhetnek.

  • Itt van például az a fura eset, hogy egy szerkesztőmezőben megjelenítünk egy decimal számot, amit módosítás nélkül sem lehet elmenteni a böngészőben, mert "valami" félrecsúszott a kódolásnál. Vajon mi? Hát a böngésző nyelve!
  • Hogyan jelenítsünk meg dátum"pickert" egy dátum típusú mezőnél? Persze, a válasz JQuery, no de ott is az a fránya lokalizáció - mindent elront. Vagy mégsem?
  • Érdekes kérdés, és eddig nem foglalkoztunk vele: hogyan lehet rávenni a webszervert, hogy gyorstárazza ("kesselje") a lapokat, amiket MVC-vel előállítottunk, hogy ne fusson le ugyanaz a kód másodpercenként hatszor?
  • Érdekes állatfaj a ListBox és a DropDownList. Ismerkedjünk meg velük!
  • Hogyan kezdenél hozzá egy olyan feladathoz, hogy egy weboldalon egyszerre sok adatrekordot módosíthasson a felhasználó? Ilyen lehet mondjuk egy kérdőív, ami több sorból áll az adatbázisban, de mi egy oldalon akarjuk az összes adatot bekérni
  • Mi a csuda az a DataType attribútum? Hol használjuk és mire való?

"Dióhéjban" ennyit szeretnék ezalkalommal hozzátenni az MVC-témához. Tart, ameddig tart. A 16:00 csak egy elméleti befejezési időpont!
 

13. Bónusznap III.

A múltkori bónusznap maradékát egy újabb bónusznapon fogjuk bepótolni. Témaköreink:

  • Saját Enum template
  • Gyári templatek módosítása
  • Cache
  • Resource kezelés
Technikai információk
Részletes technikai információkat csak a képzés hallgatói nézhetik meg bejelentkezés után!
Tanfolyami értékelőlap
Kérlek segíts nekünk abban, hogy kitöltöd a kérdőívünket a tanfolyammal kapcsolatban!
.NET webfejlesztés MVC-vel tanfolyami videók
MVC_20110525_1630.wmv
2011. május 25.
MVC_20110525_1751.wmv
2011. május 25.
MVC_20110525_1804.wmv
2011. május 25.
MVC_20110525_1938.wmv
2011. május 25.
MVC_20110527_1630.wmv
2011. május 27.
MVC_20110527_1806.wmv
2011. május 27.
MVC_20110527_1915.wmv
2011. május 27.
MVC_20110527_2031.wmv
2011. május 27.
MVC_20110601_1633.wmv
2011. június 01.
MVC_20110601_1733.wmv
2011. június 01.
MVC_20110601_1744.wmv
2011. június 01.
MVC_20110601_1925.wmv
2011. június 01.
MVC_20110603_1640.wmv
2011. június 03.
MVC_20110603_1820.wmv
2011. június 03.
MVC_20110603_1953.wmv
2011. június 03.
MVC_20110608_1633.wmv
2011. június 08.
MVC_20110608_1755.wmv
2011. június 08.
MVC_20110608_1919.wmv
2011. június 08.
MVC_20110610_1630.wmv
2011. június 10.
MVC_20110610_1745.wmv
2011. június 10.
MVC_20110610_1859.wmv
2011. június 10.
MVC_20110617_1630.wmv
2011. június 17.
MVC_20110617_1752.wmv
2011. június 17.
MVC_20110617_1859.wmv
2011. június 17.
MVC_20110622_1633.wmv
2011. június 22.
MVC_20110622_1805.wmv
2011. június 22.
MVC_20110622_1910.wmv
2011. június 22.
MVC_20110624_1641.wmv
2011. június 24.
MVC_20110624_1831.wmv
2011. június 24.
MVC_20110624_1956.wmv
2011. június 24.
MVC_20110624_2029.wmv
2011. június 24.
MVC_20110629_1630.wmv
2011. június 29.
MVC_20110629_1741.wmv
2011. június 29.
MVC_20110629_1906.wmv
2011. június 29.
MVC_20110706_1630.wmv
2011. július 06.
MVC_20110706_1820.wmv
2011. július 06.
MVC_20110908_1429_screen.wmv
68 perc
2011. szeptember 08.
MVC_20110908_1548_screen.wmv
64 perc
2011. szeptember 08.