SPA czy "standardowe" strony

0

Zabieram się za pisanie nowej aplikacji internetowej. Myślę, że będzie to nie wielka strona.

Lista newsów, komentarzy oraz i trochę suchego tekstu. Przewiduje 3-5 "podstron". Dane nie będą wielkie więc do głowy wpadło mi spróbować SPA. Tak nigdy nie tworzyłem aplikacji SPA. To byłoby moje pierwsze podejście.

Poczytałem trochę o tym i jeżeli dobrze rozumiem to ideą jest jedna "strona" pobrana z serwera przy inicializacji połączenia(pierwsze żadanie) a później fragmenty strony("podstrony" czy też można to nazwać lepiej "widoki") są pobierane z serwera dynamicznie oraz asynchronicznie.

I tutaj jest pewien punkt na którym chciałbym się skupić.
Jeżeli dane(html, json, inne) mają być przesyłane dynamicznie z serwera a klient ma je potrafić zinterpretować i przetworzyć to znaczy, że u klienta mają być od początku i na stałe zakodowane funkcje/sposoby interpretacji tych danych i ich przetwarzania? Np. gotowe już funkcje operujące na DOM.

Jeśli tak to w przypadku SPA gdy użytkownik będzie chciał obejrzeć tylko powiedzmy 1 z 10 widoków to mając wszystkie możliwości przetworzenia każdego przypadku u siebie nie będzie to powiedzmy nie potrzebne tracenie zasobów(łącza)? Względem "zwykłego" podejścia pobierane jest tylko to co jest potrzebne + layout bo strona jest przeładowywana.

No i na koniec wzorzec MVC w ASP.NET. Czy można go stosować do SPA? Ponieważ "domem" aplikacji SPA jest usługa udostępniająca dane RESTowo to jak zaimplementować tutaj wzorzec? Czy może używa go się u klienta? Ale to chyba MVVM?

Ktoś obyty w temacie mógłby się wypowiedzieć?

0

ASP.NET MVC to framework do renderowania stron po stronie serwera i wysyłania ich w całości do klienta. Da się oczywiście go trochę pohackować i zrobić w oparciu o niego SPA, ale to raczej nie ma sensu. Po stronie serwera użyj lepiej WebAPI, a po stronie klienta jakiegoś frameworka MVVM np. konckout albo angular.

0

Dzięki za odpowiedź.

Po stronie serwera usługę webAPI. A "strona"?

0

No strona to HTML i JS... tylko jak już pisałem warto użyć frameworka, a nie pisać wszystko samemu.

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