Opis technologii w .Net

0

Cześć, jako początkujący programista (kilka tutoriali za mną) mam problem z rozszyfrowywaniem technologii w .Net. Chodzi mi o składniki tej platformy programistycznej takie jak ASP.NET MVC, ASP.NET Web API, ASP.NET Web Pages, .NET Core i tak dalej.

Dzięki za pomoc.

15

.NET Standard - definiuje co będzie znajdować się w bibliotece standardowej (jest takim interfejsem)

.NET Core - framework na którym się uruchamia aplikacje, jedna z implementacji .NET Standard, jest open source i działa na wielu platformach. Drugą implementacją jest .NET Framework, który działa tylko dla Windows. Ale! Core pozwala na tworzenie tylko aplikacji webowych i konsolowych, a Framework daje jeszcze aplikacje desktopowe.

ASP.NET MVC - framework do budowy aplikacji internetowych, aktualna wersja ma numer ASP.NET Core MVC 2.1 (ASP.NET Core MVC 1.0 nastąpiło po ASP.NET MVC 5.0)

ASP.NET WebAPI - framework do budowy aplikacji internetowych w postaci API REST. W zasadzie MVC oraz WebAPI współdzielą sporo - opierają się na tej samej koncepcji, mają identyczny routing, mają podstawową bazę, no i można je wymieszać (zbudować aplikacje w której są kontrolery dziedziczące zarówno Controller, jak i ApiController).

Razor - silnik do generowania widoków w ASP.NET MVC

Razor Pages - podejście, w którym bierzemy wszystko ASP.NET, ale stwierdzamy, że wzorzec projektowy MVC jest słaby i lepiej, jakby go nie było, bo kiedyś nie było i było lepiej!

Entity Framework - ORM.

Ogólnie - sporo zamieszania się wzięło stąd, że w pewnym momencie stwierdzili, że ASP.NET MVC 5.0 i jego koledzy są fajni, ale działają tylko na Windows i na .NET Framework, który jest tylko dla Windows. Stąd ktoś stwierdził, że zrobią nowego .NET-a, lepszego, wiedząc to, co wiedzą, i będzie wieloplatformowy i modułowy. I nazwali go .NET Core i jest niekompatybilny wstecznie. Ale, że nieco on się różnił od tego Frameworka, to zrobili nowego ASP.NET MVC i w nim też zrobili trochę zmian niekompatybilnych wstecznie. Ale, że nie zrobili wystarczająco idealnego "nowego" .NET-a, to musieli dopiero w .NET Core 2.0 to próbować nadrabiać. A taki Entity Framework Core 2.0 nadal nie wszystko miał tak dobrze, jak Entity Framework 6.0 i dopiero w 2.1 dodali niektóre elementy.

0

Mam takie małe pytanko:
Umiem już w miarę dużo asp.net core i zastanawiam się czy warto liznąć trochę albo i nawet więcej asp.net "klasyczny" z mvc5 (w ogóle czy warto zajmować się 4?) razorem/wpf itp itd??? czy dać sobie spokój? Jak to jest powiązane z rynkiem pracy bo core2 to "nowość" i pewnie nie wszędzie tego używają?

0

Trochę odkopię. Jak pracujecie z .NET to bardziej WebAPI czy MVC?

0

Na razie jesteś na etapie rozszyfrowywania skrótowców . Nie wiem czy się śmiać czy płakać.
Wybacz

1

No MVC jest w lekkim odwrocie, nie licząc firm, które planują migrację z webformsów w tym roku. Ale przez kryzys to się może nie udać.

Tak jeszcze rozwijając, to:
MVC - głównie utrzymaniówka;
WebAPI - trochę utrzymaniówki, trochę nowych projektów;
Core - coraz więcej nowych projektów.

Rozróżnienie właściwie zbędne, bo różnice między tym wszystkim może policzyć drwal-amator na palcach jednej ręki, no ale niektórzy hipsterzy, którzy dom mogą opuszczać tylko pod opieką psa, lubią podkreślać jakie to nowe frejmłorki są ważne, łał i megatrudne, cośtam, cośtam.

0

ja się podepnę, bo jestem ciekaw, w jakim kierunku powinno się w obecnych czasach rozwijać w .Net

2

W jakim kierunku? Można podglądać na roadmapę i wtedy trochę się odpowiedzi nasunie. Sam MS mówi tak:

  • Nowe projekty -> .NET Core 3.1 LTS (long term support)
  • Stare/utrzymanie -> .NET lub portowanie na .NET Core 3.1

Link: https://github.com/dotnet/core/blob/master/roadmap.md

A i jak widać na roadmapie to zaraz będzie .NET 5.0 który tak na prawdę jest .NET corem czyli technologią w teroii otwartą, wieloplatformową itp.

Co do obecnych trendów to modne jest teraz REST API, które piszesz sobie w backend, a do tego wybieras co tam chcesz do Frontu, Angular, React, Vue itp. itp.

Ogólnie to rozdziela się teraz Backend od Frontu dla łatwiejszego zarządzania DevOpsy, CD/CI, OpenShift, Azure, AWS.

Tutaj jeszcze mega fajny roadmap dla developera znalazłem:

https://github.com/MoienTajik/AspNetCore-Developer-Roadmap

Pozdrawiam.

1

@Damian Korczowski:

Ogólnie to rozdziela się teraz Backend od Frontu dla łatwiejszego zarządzania DevOpsy, CD/CI, OpenShift, Azure, AWS.

Dlaczego tak sądzisz?

Śmiem sugerować, że aplikacją MVC jest łatwiej zarządzać (wdrażać itd.) niż WebAPI + druga aplikacja jako front ponieważ 1 < 2.

0
WeiXiao napisał(a):

@Damian Korczowski:

Ogólnie to rozdziela się teraz Backend od Frontu dla łatwiejszego zarządzania DevOpsy, CD/CI, OpenShift, Azure, AWS.

Dlaczego tak sądzisz?

Śmiem sugerować, że aplikacją MVC jest łatwiej zarządzać (wdrażać itd.) niż WebAPI + druga aplikacja jako front ponieważ 1 < 2.

Nie stawiam tezy że w każdym przypadku tak jest ale miałem styczność z projektami różnej wielkości. Sam preferuję robić aplikację MVC jeżeli jestem tylko jednym developerem jako Fullstack, w przypadku większych projektów jak np. budujesz REST API w .Net Core + front w Angularze (8) to używasz innego narzędzia .Net Core (VSStudio), Angular (VSCode) i w takim wypadku fajnie oddzielić od siebie te dwie warsty tym bardziej że możesz front budować dla Web, dla Desktoptu. mobilki itp. Przy rodzieleniu osobiście mi łatwiej kontrolować nowe wersje na produkcji itp.

1 użytkowników online, w tym zalogowanych: 0, gości: 1