ASP.NET MVC 6 – z czym to się je?

Od jakiegoś czasu odczuwam coraz większą potrzebę spróbować czegoś, co już dobrze znam, jednak tym razem z zamiarem poznania tego od innej strony. Chodzi mianowicie o web development. Cała moja historia z pasją do programowania zaczęła się właśnie od pierwszych lekcji HTML gdzieś na przełomie gimnazujm/liceum. Wcześniej co prawda uczyłem się Pascala, czy C++, jednak dopiero kiedy poznałem HTML + PHP odkryłem w sobie potrzebę programowania. Zresztą – moje pierwsze zarobione pieniądze zawdzięczam właśnie tej technologii!

Kilka lat temu poznałem C#, a wraz z nim technologię WPF, której jestem przeogromnym fanem. Cały czas brakowało mi jednak tego czegoś (nieskończonych walk z CSS i różnymi wersjami przeglądarek…). Jakiś czas temu świat obiegła wieść: „ASP.NET 5 is a new open-source and cross-platform framework for building modern cloud-based Web applications using .NET„. Mówię sobie „o jacie, teraz to będzie się działo”. Cały czas jednak brakowało mi czasu (kłamstwo!) oraz motywacji do tego, by się w końcu za to zabrać. Z pomocą przyszedł Maciej Aniserowicz wraz ze swoim konkursem „Daj się poznać„. Więc o to jest moja motywacja!

Wracając do tematu głównego – MVC. Czym to właściwie jest? Kiedyś ktoś bardzo mądry wymyślił sobie taki o to podział:
  • M-odel – coś w stylu „core”, zarządza logiką danych
  • V-iew – element odpowiedzialny za wyświetlanie danych
  • C-ontroller – część aplikacji odpowiedzialna za interakcję – przechwytywanie danych wejściowych od użytkownika


Całość jest oczywiście nieco bardziej skomplikowana. Diagram poniżej bardziej obrazowo przedstawia sam schemat działania:

mvc_role_diagram

OK. Tyle teorii MVC. W sumie nic więcej nie jest potrzebne do samego zrozumienia faktu, że jest to cud miód malina. Porządny styl pisania kodu jest na ciebie narzucony. Jeśli wchodzisz w świat web developmentu i przez przypadek masz przyjemność z ASP.NET MVC, to odgórnie musisz oddzielić logikę aplikacji od prezentacji danych. osom!

Dlaczego jednak MVC 6? Czemu nie MVC 5? Czym różni się od MVC 4, czy niższych? Dlaczego nie WebForms? (To żart, na to nie będę odpowiadał – ASP.NET webforms suck giant elephant balls) Otóż MVC 6 z dwóch prostych powodów. O jednym z nich wspomniałem już wcześniej – jest cross-platformowy. Jeśli kiedykolwiek miałbym ochotę postawić moją stronę na Linuxie – proszę bardzo! Nie jestem uzależniony od Microsoftu, ISS i innych cudów! Druga zaleta – xUnit.net. W poprzednich wersjach ASP.NET MVC domyślnym frameworkiem testowym był „mstest”. Od wersji MVC 6, czyli ASP.NET Core 1.0 domyślnie mamy do czynienia z xUnitem. Pewien człowiek, którego szanuję powiedział kiedyś, że jest wiele frameworków testowych, ale on nas nauczy tego jednego i nigdy nie zapragniemy niczego więcej. Do tej pory się nie zawiodłem!

Jest jeszcze parę innych drobiazgów, jak chociażby to, że template’y korzystają z Boostrapa (choć to wprowadza MVC 5), co oznacza piękne i miodne strony od ręki, bez większego wysiłku. Są też tag helpery, albo view componenty. Nic jednak nie przebije tego, że istnieje sama możliwość uniezależnienia się od Windowsa. Uwierzcie mi – po setkach/tysiącach(?) godzin pracy z Linuxem i Windowsem jestem w stanie powiedzieć, że połączenie możliwości Linuxa z pięknem języka, jakim jest C# jest strasznie pociągające. Jeśli do tego w parze idzie xUnit – biorę to!

Jak więc zacząć przygodę z MVC 6? Najprościej jest gdy masz VS 2015. Właściwie nie ma zbytnio innego wyjścia. Po prostu zainstaluj VS 2015 i ciesz się tym, czym teraz cieszę się ja! Instrukcja „co i jak” znajduje się tu: http://docs.asp.net/en/latest/tutorials/your-first-aspnet-application.html Przeczytasz tam co trzeba mieć, z jakich komponentów składa się solucja, na co należy zwrócić uwagę itd. Wbrew pozorom opisane jest to w miarę przystępny sposób.

Tak więc do dzieła!

Post jest elementem serii wpisów dotyczących projektu CookBook realizowanego w ramach konkursu „Daj się poznać”.
DSP2016 logo RGB color-1

One thought on “ASP.NET MVC 6 – z czym to się je?

  1. Hey, fajny post.
    Nie mogę się doczekać aż sam to sprawdzę. Może przy okazji MVC6 będzie co podobnego dla WPF ? 🙂 Nie wiem czy jest to w ogóle realne ? ale napisanie aplikacji pod windows’ a która działa na mac ? to było by coś wspaniałego.
    Czy to realne ?

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *