2017-08-02 32 views
5

Rozumiem:Asp.net mvc kontra Angular JS do tworzenia aplikacji

Asp.net MVC służy do tworzenia aplikacji przetwarzających żądania na serwerze. Zapewnia również widok. Ale ostatecznie renderuje widok na serwerze i wysyła zwykły HTML do użytkownika.

Z drugiej strony, kątowy JS nie wykonuje żadnego przetwarzania na serwerze. Obsługuje tylko pliki HTML lub JavaScript do klienta, a następnie klient wykonuje te pliki. Aplikacja kątowa oczekuje tylko danych za pośrednictwem usług działających na serwerze.

Moje pytanie:

Jeśli w ogóle kątowa nie powoduje obciążenia przetwarzania po stronie serwera, to dlaczego go nie używać zawsze do rozwijania aplikacji Front End, a na serwerze, dlaczego nie używać żadnej usługi (takie jak Web API lub WCF) zamiast MVC? Krótko mówiąc, dlaczego w ogóle potrzebujemy ram przetwarzania przetwarzania po stronie serwera, zamiast tego możemy mieć usługę na serwerze i aplikację kątową na kliencie?

+0

Wszystkie technologie/ramy mają swój własny cel i zależą od tego, jak chcesz z niego korzystać. Twoje pytanie zasadniczo polega na pytaniu: "Potrafię przeciąć orzech kokosowy na pół za pomocą noża, siekiery lub piły łańcuchowej Dlaczego to ważne, czy używam tylko jednego z nich, czy kombinacji dostępnych narzędzi?" – Zephyr

+0

Nie jestem pewien, czy pytanie jest duplikatem, ale [tutaj] (https://stackoverflow.com/questions/23076670/asp-net-mvc-5-vs-angularjs-asp-net-webapi) możemy znaleźć znacznie pełniejsze wyjaśnienia na temat. – ZenVentzi

+0

Możliwy duplikat [ASP.NET MVC 5 kontra AngularJS/ASP.NET WebAPI] (https://stackoverflow.com/questions/23076670/asp-net-mvc-5-vs-angularjs-asp-net-webapi) – ZenVentzi

Odpowiedz

2

Zarówno ASP.NET MVC, jak i AngularJS mają swoje własne cele i zalety. Podobnie jak w przypadku konkretnego pytania, AngularJs jest lepszy dla SPA (Single Page Applications), gdzie jako ASP.NET MVC jest pełnoprawną aplikacją po stronie serwera, która może zawierać WebAPI, silnik routingu oraz widoki emisji HTML.

Powodem, dla którego zawsze zaleca się stosowanie aplikacji po stronie serwera, takich jak ASP.NET MVC, jest to, że zaspokaja ona wszystkie podstawowe potrzeby, a AngularJs w wielu przypadkach jest wiśniowe na torcie. Zapewnia płynne wrażenia użytkownika. Również AngularJs nie jest bardzo spójny, ponieważ zależy od przeglądarki użytkownika, która bardzo się różni i może prowadzić do niespójnych wyników. Tak więc aplikacja po stronie serwera zawsze jest najlepszym zabezpieczeniem, aby upewnić się, że podstawowy cel użytkownika został spełniony.

+0

Masz na myśli to, że w przypadku podstawowej aplikacji powinniśmy używać asp.net mvc i dla złożonej aplikacji UI powinniśmy preferować kanciastą + usługę? Czy powinniśmy opracować aplikację w połączeniu z mvc Angular i Asp.net? Jeśli tak, dlaczego będziemy renderować widok za pomocą MVC, ponieważ kątowe może to zrobić? –