Dzień dobry,
czy istnieją sytuacje w których lepiej skorzystać z ASP.NET Core MVC lub ASP.NET Core Blazor, czy jednak pisać wszystko już tylko ASP.NET Core Blazor? Chodzi o nowe projekty.
Pozdrawiam,
Łukasz
A jakie ma mieć zastosowanie aplikacja? Bo bez wiedzy co robisz ciężko powiedzieć.
Moja personalna opinia jest taka ze lepiej użyć angulara.
Przy MVC i tak trzeba JavaScript, a użycie jakiejkolwiek formy, zwłaszcza z dynamicznie uzupełnianymi comboboxami to tortury. Jeśli miałbym wybierać tylko pomiędzy MVC, a Blazor to wybrałbym Blazora. Jeśli miałbym wybierać z szerszego zakresu to Angular, a zwłaszcza najnowsza wersję 17 gdzie control flow przypomina składnie Razor.
bagietMajster napisał(a):
A jakie ma mieć zastosowanie aplikacja? Bo bez wiedzy co robisz ciężko powiedzieć.
Moja personalna opinia jest taka ze lepiej użyć angulara.
Pytam tak ogólnie bo ostatnio robiłem projekt w Blazor, ale chciałem zapytać czy jeżeli robię fronted w Blazor to czy warto dodatkowo zainteresować się w MVC. A może jednak zostać tylko przy Blazor.
AdamWox napisał(a):
Przy MVC i tak trzeba JavaScript, a użycie jakiejkolwiek formy, zwłaszcza z dynamicznie uzupełnianymi comboboxami to tortury. Jeśli miałbym wybierać tylko pomiędzy MVC, a Blazor to wybrałbym Blazora. Jeśli miałbym wybierać z szerszego zakresu to Angular, a zwłaszcza najnowsza wersję 17 gdzie control flow przypomina składnie Razor.
Kiedyś pisałem mały projekt w React. Rozumiem że jeżeli będę chciał użyć ASP.NET Core MVC z React to i tak będę musiał dodatkowo użyć środowiska Node.js dla frontendu a dla backendu ASP.NET Core?
virusek391 napisał(a):
Kiedyś pisałem mały projekt w React. Rozumiem że jeżeli będę chciał użyć ASP.NET Core MVC z React to i tak będę musiał dodatkowo użyć środowiska Node.js dla frontendu a dla backendu ASP.NET Core?
Możesz też wyrenderować statyczne strony jeśli nie korzystasz z nexta i SSR i osadzić je jako statyczne resource'y w ASP.NET, a node używać tylko do deweloperki.
Na moje - jeśli to aplikacja wewnętrzna firmy to blazor, jeśli to aplikacja publiczna to react, angular albo vue w zależności od preferencji i skali projektu. Ja chyba wszystkich nie lubię tak samo. ASP.NET MVC sobie odpuść bo to imo przeżytek
Visual Studio ma gotowy template dla angulara i reacta. Co do mvc to i tak i nie. W przypadku tego typu projektów pisze się webapi, nie ma widoku, twoim widokiem jest js i HTML za nim, a ty z api zwracasz jsona z danymi, które chcesz wyświetlić na froncie. Frameworki js'owe to głównie nodejs. Można sobie robić wyzwania w życiu i pisać wszystko samemu, ale w npm jest wszystko już napisane, wystarczy tylko podpiąć potrzebne biblioteki do projektu i działa.
Deploy takiego projektu też jest prosty, bo robisz publish z odpowiednimi parametrami i ci się wszystko idealnie buduję, cały backend i cały front
Wybór między Trabantem i Maluchem. Wziąłbym Blazora pewno nad MVC, ale wolałbym iść w JSa mimo wszystko.
@rjakubowski a jakieś argumenty za JS vs Blazor?
za: większa społeczność, łatwiej kogoś znaleźć do zespołu, mniejszy rozmiar strony (choć nie zawsze), więcej dostępnych narzędzi i łatwiejszy hosting
przeciw: javascript
obscurity napisał(a):
za: większa społeczność, łatwiej kogoś znaleźć do zespołu, mniejszy rozmiar strony (choć nie zawsze), więcej dostępnych narzędzi i łatwiejszy hosting
przeciw: javascript
A jak zamieni się JSa na TSa?
@Kofcio: Wielkość ekosystemu, lekkość developmentu ze względu na tooling, ilość dostępnych tooli, brak rozjazdu single-threaded vs multithreaded, dojrzałość narzędzi (porównaj Angulara do Blazora) i fakt, że chcąc skorzystać z dodatkowych rozwiązań JSowych musisz się bawić w jakiś interop przy Blazorze.
Jest tego multum.
Oczywiście, jeśli projekt ma być CRUD to i Blazorem ogarniesz, ale jakbyś chciał jakiś dashboard wybudować z kaflami co się będzie dało je przeciągać to GLHF.
Ja miałem podobny dylemat, spędziłem trochę czasu z Blazorem i w pewnym momencie się wycofałem. Nie podoba mi się koncept. Wróciłem do Razor Pages i stworzyłem coś, co daje mi namiastkę Blazora - Hydro. Polecam spróbować! https://usehydro.dev/