TOC

This article has been localized into Hungarian by the community.

Bevezetés:

ASP.NET MVC vs. Web Forms

Az ASP.NET első verzióját 2002-ben adták ki, amikor még csak a Web Forms view engine volt az egyetlen választás. Később, azért, hogy az MVC-t és hasonló dolgokat támogasson, a Microsoft kiterjesztette az ASP.NET-et hogy többféle view enginet támogasson. Ennek ellenére évekig úgy volt, hogy ha ASP.NET-et használtál, akkor automatikusan Web Formsot is kellett használnod.

A Microsoftnak méltatni való célja volt a Web Forms megalkotásával: a HTTP protokoll apróbb részleteit és állapot nélküli természetét a lehető legjobban absztraktálni szerették volna. Ezzel a webfejlesztést olyanná tervezték tenni, ami jobban hasonlít Windows alkalmazás fejlesztéséhez, ami egyébként már akkor is kellemesebb tapasztalat volt.

Ezt a ViewState bevezetésével érték el, ami biztosította, hogy egy űrlap jelenlegi állapota megmaradt a szerverre való visszaküldés során is. A másik ilyen újdonság a server controls volt, ami a HTML és CSS megjelenítését magába zárta. Ezt aztán tulajdonságokon keresztül szabhattad testre ahelyett, hogy HTML-t és CSS-t közvetlen kellett volna összefűznöd.

Egy esemény-hajtotta modellt is bevezettek, ami az akkori Windows fejlesztőknek már ismerős volt. Ezzel a fejlesztő tényleges eseményekre tudott reagálni, például gombnyomásokra vagy jelölődobozok változásaira, ahelyett, hogy ezeket az oldal betöltésekor minden alkalommal ellenőrizni kellett volna neki.

Ahol a WebForms kudarcot vallott

A WebForms egy kellemes újdonság volt sok fejlesztő számára, és sok kezdő vagy csak Windows alkalmazásokkal jártas fejlesztőnek segített webalkalmazások fejlesztésében. Sajnos a Microsoftnak nem sikerült tökéletes, hibátlan absztrakciót kiviteleznie, mivel pár probléma már az elején felmerült. Ezek közül párat későbbi kiadásokban orvosoltak, de vannak olyanok, amelyek a WebForms működésében gyökereznek, ezért ezek nehezebben javíthatóak. A WebForms technológiát főleg az alábbi dolgok miatt kritizálták:

A ViewState nehezebbé teszi az oldalakat

Mivel a ViewState stringben van nyomon követve a WebForms oldalak összes server controlja, ezért az oldalak sokkal nagyobbá válnak. Ha csak egy közepesen összetett oldalról van szó, az ezzel járó ViewState string több száz kilobyte többletet jelent. Ez hosszabb letöltési időhöz vezet, különösen mobil kapcsolattal, ami különösen nagy probléma az okostelefonok rohamos terjedése miatt.

A server controllok csökkentik a HTML kimenet feletti irányítást

A server controllokkal gyorsan használható dolgot lehet építeni, de sosem lesz teljes irányításod a keletkező HTML felett. Ez gondot jelenthet ha szeretnél az eredmény finom részleteibe belemenni, például ha böngésző-kompatibilitási problémáid adódnak.

A WebForms rossz automatizált teszteléshez

A WebForms modell azelőtt lett bevezetve, hogy az automatizált/egységtesztelés népszerűvé vált volna, és amikor az lett, gyorsan kiderült, hogy a WebFormsot nehéz, ha nem lehetetlen, hatékonyan egységtesztelni.

Ahol az ASP.NET MVC javít a WebFormson

Az ASP.NET MVC eltünteti a WebForms által bevezetett absztrakciók jó részét. Általában a HTML nagy részét például magad írod, ahelyett, hogy server controllokra hagyatkoznál. Nem történik automatikus ViewState generálás sem, ami azt a problémát is megoldja (bár ezzel több server controlt, mint a GridViewt és a Repeatert, haszontalanná tesz).

Az MVC modell tökéletes automatizált/egységtesztelésre, mivel a rétegek között kevés szoros kötődés található.

Melyik technológiát válaszd?

Fontos megemlíteni, hogy bár a WebForms elavult technológiának tűnhet a fentiek után, ez egyáltalán nem igaz - a WebForms még mindig aktív fejlesztés alatt áll, és még mindig használható ASP.NET-es webfejlesztés során. A WebForms különösen hasznos, ha valamit gyorsan használható állapotba szeretnél hozni - a fejlettebb server controlloknak köszönhetően nagyon is hasznos dolgokat lehet vele építeni rövid időn belül. Ez persze a kézzel írt markuphoz képest a rugalmasság rovására megy.

Ha tudod is, hogyan kell WebFormsot használni, érdemes kipróbálnod az ASP.NET MVC-t, főleg ha a fent említettek neked is problémát okoznak. Ha új vagy a webfejlesztésben, és a két technológia között kell döntened, akkor is azt javasolnám, hogy próbáld ki az ASP.NET MVC-t. Sok embernek túlságosan kötöttnek érződhet az MVC struktúra, és eleinte természetesen nehezebb egy előírt sémát követni mint sem, de ha egyszer megszokod, akkor nagyon kellemes vele dolgozni. Ráadásul aligha fog egyhamar elavulni, tekintve a sok figyelmet, amit általánosságban az MVC struktúra kap.

Összefoglaló

Bár az ASP.NET Web Formsszal könnyebben megtehetőek a kezdeti lépések, alighanem érdemesebb az ASP.NET MVC-vel kezdeni, főleg, ha új vagy még a webfejlesztés területén. Ez a tanfolyam segít kiigazodni az alapokkal és végigvezet első ASP.NET MVC alkalmazásod megírásán.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!