ASP.net – Web Forms, Web Pages czy MVC

Loading Likes...

Pierwszy dwa pytania jakie przychodzą nam do głowy po przeczytaniu tytułu to, z którego korzystać i czym się różnią.

Zacznijmy od tego, że ASP.net jest rodziną wielu technologii,a trzy wymienione wcześniej są najbardziej znane. Po pierwsze te wszystkie technologie mają wiele elementów wspólnych. Dzięki wspólnej infrastrukturze, w której skład wchodzą m.in. stan, konfiguracja, caching czy bezpieczeństwo możemy śmiało je łączyć, tzn. możemy stworzyć aplikację zrobioną w Web Forms i dodać do niej kawałek MVC i na odwrót. Przejdźmy zatem do  ogólnego omówienia.

ASP.net Web Forms

jest to najstarsza z rodziny technologia, przeznaczona jest do szybkiego tworzenia aplikacji biznesowych bazując na RAD (przerzucamy na aplikację kontrolki). Pliki mają końcówkę .aspx oraz .aspx.cs.

Zalety:

  • Dedykowane mechanizmy zarządzania stanem,
  • Prostota i szybkość tworzenia aplikacji,
  • Robi wiele rzeczy za programistę,

Wady:

  • Problem z testowaniem kodu,
  • Generowany jest automatycznie kod HTML (nie mamy nad nim pełnej kontroli),
  • Pozwala na stosowanie mało eleganckich praktyk,
  • Tworzy warstwę abstrakcji,

Przykładowym zastosowaniem może być front-end dla bazy danych dla jakiejś sieci komputerowej.

ASP.net Web Pages

przypomina swoim podejściem do pisania w PHP bez dodatkowych frameworków, ponieważ miesza się kod logiki z kodem HTML. Idealnie nadaje się do aplikacji, która nie planuje się rozrastać. Pliki mają końcówkę .cshtml.

Zalety:

  • Prosta aktualizacja stron (bez rekompilacji),
  • Kontrola nad HTML’em i URL’ami,
  • Przyjazna dla osób początkujących,

Wady:

  • Brak zaawansowanych mechanizmów developerskich,
  • Pomieszane warstwy aplikacji,

Przykładowym zastosowaniem może być prosta strona domowa.

ASP.net MVC

najpopularniejsze dla dużej aplikacji internetowej, którą w łatwo potem można rozwijać.

Zalety:

  • separacja warstw wg. wzorca Model-Widok-Kontroler(MVC),
  • pełna kontrola nad kodem HTML, URL’ami
  • MVC cechuje duży porządek w kodzie,
  • łatwość rozbudowy aplikacji, architektura kodu,
  • prosta testowalność,
  • REST, dobre dla SEO,
  • łatwo łączyć technologie,

Wady:

  • cięższe pełne zrozumienie technologii z powodu jej dużego rozbudowania,
  • dłuższy czas kompilowania aplikacji,

Przykładowym zastosowaniem powinna być większa aplikacja, która w przyszłości planuje rozbudowę, np. sklep internetowy.

You May Also Like

About the Author: Jerzy Kołakowski

Pasjonat informatyki, bloger. Full-stack Developer Technologie:
  • ASP.NET MVC
  • ASP.NET CORE
  • Angular 2+

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Facebook