Opis technologii w .Net

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.

Ktos
Moderator
  • Rejestracja:prawie 23 lata
  • Ostatnio:6 minut
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.

Zobacz pozostałe 13 komentarzy
JP
Chyba ręka programisty JS :)
SH
A jak się zapatrujecie na electrona ? To chyba zapowiada się na wybawienie multiplaformowych aplikacji desktopowych ? Czytałem tylko jakiś opis ogólny, nie zagłębiałem się w temat.
WeiXiao
zapowiada? przecież już w cholerę softu jest w tym napisana np. VS Code, MS Teams itd.
SH
A no to tak, ale to że coś tam powstało kiedyś niekoniecznie pokrywa się z obecnymi trendami, nawet jak jest rozwijane. No i czasem jak coś jest trendy nie znaczy, że jest dobre. ;) Nie widziałem jakoś dużo ogłoszeń, ale też nie przeglądam ich, więc nie wiem jak z użyciem takiej technologii. Chociaż to pewnie tylko do świeżutkich projektów jakich jak wiadaomo jest zdecydowanie mniej.
WeiXiao
Zamiast "świeżutkich projektów" raczej bym wstawił "coś co musi być crossplatformowe". Zazwyczaj średnie i mniejsze firmy nie muszą wspierać na Desktopie windowsa, maca, linuxa i czegoś jeszcze.
RoboCat
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 3 lata
  • Postów:32
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ą?

Tenonymous
  • Rejestracja:ponad 7 lat
  • Ostatnio:6 dni
  • Postów:425
0

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

BC
api, jak jest potrzebny front to i tak robi się go w popularnym frameworku javy w wersji script
ZK
  • Rejestracja:prawie 7 lat
  • Ostatnio:6 miesięcy
  • Postów:273
0

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

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 7 godzin
  • Lokalizacja:Wrocław
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.

edytowany 2x, ostatnio: somekind
Zobacz pozostałe 3 komentarze
Tenonymous
yy ale rozumiem, że przez Core to masz na myśli między innymi ASP.NET Core WebAPI? Ilość nazewnictwa, które wprowadził MS to jakiś obłęd.
WeiXiao
ASP.NET (WebAPI|MVC) / ASP.NET Core (WebAPI|MVC) - narzędzia (podejścia) aż tyle? :P
Tenonymous
nie, ale: .net core, asp.net webapi, asp.net mvc, asp net core webapi, asp.net core mvc, .net standard, etc, etc. Sporo tego po prostu. ;) Niemniej i tak jest lepiej bo przynajmniej ekosystem jest spójny. W tym Corze to więcej MVC czy WebApi?
somekind
@WeiXiao: ja jestem backendowcem od 4 lat, więc na nowe projekty w MVC nie miałem jak trafiać. Ale mam trochę znajomych, którzy na takie trafiali. Całkiem duże projekty w całkiem dużych firmach na tym wciąż powstają.
somekind
@Tenonymous: Twoje pytanie właściwie powinno być postem niż komentarzem. Chodzi o ASP.NET Core WebAPI.
witeks44
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 13 godzin
  • Postów:188
0

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

Damian Korczowski
  • Rejestracja:około 5 lat
  • Ostatnio:około 12 godzin
  • Postów:110
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.

edytowany 2x, ostatnio: Damian Korczowski
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 8 godzin
  • Postów:5135
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.

edytowany 2x, ostatnio: WeiXiao
AK
Nowa moda jest bardziej skomplikowana, klienci płacą podwojoną kwotę za ładne animacje, projekty są wadliwe (polska rządówka) itd ...
BC
większość projektów frontendowych napiszesz szybciej w angularze + api niż w mvc i do tego w każdej chwili możesz zmienić technologię api czy nawet samą architekturę bez zmian na froncie; a co by nie mówić to zarządzanie MVC nie jest wcale takie łatwe jak masz spagetti w jquery, do tego SPA są po prostu przyjemniejsze w użytkowaniu
Damian Korczowski
  • Rejestracja:około 5 lat
  • Ostatnio:około 12 godzin
  • Postów:110
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.