Wyślij zapytanie Dołącz do Sii

Czym jest ASP.NET? Myślę, że nikomu nie trzeba tłumaczyć. Po niespełna 15 latach od ukazania się pierwszej wersji ASP.NET 1.0 w wersji preview, wielkimi krokami zaczyna zbliżać się nowe wydanie – ASP.NET 5. Najnowsza wersja popularnego framework’a do tworzenia aplikacji internetowych ma być przede wszystkim szczuplejsza, mniej złożona, międzyplatformowa oraz zoptymalizowana pod kątem chmury.

ASP.NET 5 jest nowoczesnym, open source’owym frameworkiem, pozwalającym na budowanie, a także uruchamianie nowoczesnych aplikacji internetowych na platformach Windows, Linux oraz Mac. W jego skład wchodzi MVC 6, które skupia w sobie cechy zarówno samego MVC jak i Web API.

Tak jak wspomniałem na początku artykułu, w ASP.NET 5 zostało wprowadzonych szereg zmian mających na celu uszczuplenie samego framework’a. Oznacza to, że do działania nie jest już wymagane używanie System.Web.dll. Kolejną dużą zmianą jest większa modułowość, ma to na celu przede wszystkim pozwolenie programiście na większe zoptymalizowanie tworzonej aplikacji tak, aby wykorzystywała tylko te moduły, których rzeczywiście potrzebuje (ma w tym pomóc to, że prawie wszystkie funkcje zostały zaimplementowane jako pakiety NuGet).

Głównymi usprawnieniami, które wprowadzi ze sobą ASP.NET 5 są:

  • Budowanie oraz uruchamianie międzyplatformowych aplikacji internetowych wykorzystujących ASP.NET w środowiskach Windows, Mac oraz Linux
  • Tworzenie w oparciu o .NET Core
  • Nowe narzędzia, które ułatwiają tworzenie nowoczesnych aplikacji internetowych
  • Połączenie MVC, Web API oraz Web Pages w jeden model programowania
  • Optymalizacja pod kątem korzystania z chmury
  • Zintegrowane wsparcie dla tworzenia i używania pakietów NuGet
  • Wbudowane wsparcie dla Dependency Injection
  • Dodana możliwość hostowania aplikacji w jej własnym procesie lub tak jak dotychczas za pomocą IIS

Wieloplatformowe środowisko uruchomieniowe

 ASP.NET 5 może pracować w dwóch środowiskach uruchomieniowych, są nimi:

  • .NET Core – nowe, modularne, wieloplatformowe środowisko uruchomieniowe o niewielkich rozmiarach, pozwalające na uruchamianie naszej aplikacji na wielu platformach (Windows, Linux, Mac OS X). Dodatkowym atutem .NET Core jest to, że tworzona przez nas aplikacja będzie zależna tylko i wyłącznie od funkcji, które wykorzystuje. Oznacza to, ze nigdy nie będziemy proszeni o zaktualizowanie, bądź obsługę funkcji środowiska uruchomieniowego, której nasza aplikacja nie wykorzystuje. Pozwoli to na zaoszczędzenie czasu potrzebnego na testowanie, czy też wdrażanie aktualizacji. Możemy również wdrożyć środowisko .NET Core razem z naszą aplikacją, a co za tym idzie, nasza aplikacja będzie działała na wdrożonym przez nas środowisku, a nie na tym, które jest zainstalowane na maszynie (hoście). W takim wypadku wersja naszego środowiska uruchomieniowego będzie działała równoległe z wersjami dla innych aplikacji. Niesie to za sobą pewne korzyści. Jedną z nich jest to, iż w razie potrzeby zaktualizowania naszego środowiska, jesteśmy w stanie przeprowadzić ją bez wpływania na inne hostowane na tej maszynie aplikacje. Działa to również w drugą stronę, jeśli zdarzy się aktualizacja środowiska uruchomieniowego zainstalowanego na maszynie, wtedy nie wpłynie ona na naszą aplikację.
  • .NET Framework – obecne API .NET Core jest bardziej ograniczone niż pełna wersja .NET Framework’a. Jeśli chcielibyśmy przeportować naszą istniejącą aplikację by korzystała z .NET Core, prawdopodobnie wiązałoby się to z przymusem wykonania w niej kilku modyfikacji. Takie rozwiązanie może oczywiście nie wszystkim odpowiadać, w takim wypadku można oczywiście uruchamiać aplikacje wykorzystujące ASP.NET 5 na pełnej wersji .NET Frameworka (wersje od 4.5.2 wzwyż) wtedy nasza istniejąca już aplikacja nie będzie wymagała żadnych zmian.

 

MVC 6 – jeden model programowania

MVC, Web API oraz Web Pages w poprzednich wydaniach ASP.NET były zaimplementowane oddzielnie, problemem tego typu rozwiązania było to, że posiadały sporo duplikatów i niespójności. W MVC 6, framework’i te zostały połączone w jeden model programowania.

Dodatkowo w MVC 6 została dodana nowość, która kryje się pod nazwą: Tag Helpers. Tag Helpers pozwalają na użycie HTML helper’ów w widokach poprzez proste rozszerzenie semantyki znaczników w znacznikach. Przykładowo, zamiast pisać:

<div class="form-group">
   @Html.LabelFor(x => x.CarModel, new { @class = "col-md-2 control-label" })
   <div class="col-md-10">
      @Html.TextBoxFor(x => x.CarModel, new { @class = "form-control" })
      @Html.ValidationMessageFor(x => x.CarModel, "", new { @class = "text-danger" })
   </div>

</div>

Można napisać:

<div asp-validation-summary="ModelOnly" class="text-danger"></div>

<div class="form-group">
   <label asp-for="CarModel" class="col-md-2 control-label"></label>
   <div class="col-md-10">
      <input asp-for="CarModel" class="form-control" />;
      <span asp-validation-for="CarModel" class="text-danger"></span>
   </div>

</div>

Tag Helper’y dodatkowo jak można zauważyć powyżej, wpływają przede wszystkich na ujednolicenie i czytelność kodu.

 

Nowoczesne tworzenie aplikacji internetowych

Jedną z nowości, jakie znajdziemy w Visual Studio 2015, jest dynamiczna kompilacja, ma ona wpłynąć głównie na sprawną pracę programistów. Polega ona na tym, że nie będzie potrzeby ponownej kompilacji po każdej zmianie w aplikacji. Działać to będzie w ten sposób, że wystarczy abyśmy zrobili zmianę w kodzie, zapisali zmiany, a następnie odświeżyli stronę w przeglądarce, w celu zobaczenia zmian.

Kolejnym udogodnieniem, które zostało dodane, to wbudowane wsparcie dla Bower’a, Gunt’a i Gulp’a – popularnych open source’owych narzędzi do wytwarzania aplikacji internetowych w Visual Studio 2015.

W ASP.NET 5 mamy możliwość zarządzania zależnościami poprzez dodawanie pakietów NuGet. Można do tego celu użyć NuGet Package Manager’a lub po prostu edytować plik JSON (project.json), w którym przechowywana będzie lista pakietów NuGet oraz ich wersje.

ASP.NET 5 eliminuje potrzebę przechowywania danych konfiguracyjnych w pliku Web.config. Rozwiązanie to ma na celu uproszczenie wdrażania aplikacji w chmurze. Nowy system konfiguracyjny pozwala odczytywać konfigurację z różnych źródeł, mogą być to pliki JSON, XML albo zmienne środowiskowe. To, z jakiego źródła będziemy odczytywali konfigurację dla naszej aplikacji definiować możemy w pliku Startup.cs.

Na koniec, chciałbym wspomnieć również o tym, że najnowsza wersja ASP.NET posiada wbudowany kontener dla Dependency Injection. Oczywiście, nic nie stoi na przeszkodzie, aby wybrać i korzystać ze swojego ulubionego kontenera (Autofac, Ninject, itd.).

W tym artykule skupiłem się przede wszystkim na nowościach, które według mnie są najważniejsze i przełomowe dla platformy ASP.NET. Zachęcam również wszystkich do zgłębiania tematu ASP.NET 5.

Ocena:
Autor
Avatar
Norbert Pietroń

Zawodowo .NET Developer odpowiedzialny za tworzenie, rozwój oraz wsparcie aplikacji. Prywatnie fan koszykówki, ligi zawodowej NBA oraz Arsenalu Londyn.

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany.

Może Cię również zainteresować

Pokaż więcej postów

Bądź na bieżąco

Zapisz się do naszego newslettera i otrzymuj najświeższe informacje ze świata Sii.

Otrzymaj ofertę

Jeśli chcesz dowiedzieć się więcej na temat oferty Sii, skontaktuj się z nami.

Wyślij zapytanie Wyślij zapytanie

Get an offer

Natalia Competency Center Director

Dołącz do Sii

Znajdź idealną pracę – zapoznaj się z naszą ofertą rekrutacyjną i aplikuj.

APLIKUJ APLIKUJ

Join Sii

Paweł Process Owner

ZATWIERDŹ

This content is available only in one language version.
You will be redirected to home page.

Are you sure you want to leave this page?