Była to raczej dyskusja na temat tego, jakie są dziś myśli ludzi na temat podziału aplikacji internetowej.
Jestem przyzwyczajony do tworzenia aplikacji MVC ze wszystkimi jej widokami i kontrolerami. Zwykle tworzyłbym pełny widok i przekazywałbym go z powrotem do przeglądarki na żądanie pełnej strony, chyba że były określone obszary, których nie chciałem od razu wypełniać, a następnie używałbym zdarzeń ładowania strony DOM, aby wywołać serwer w celu załadowania innych obszarów za pomocą AJAX.
Ponadto, jeśli chodzi o częściowe odświeżenie strony, wywołałbym metodę akcji MVC, która zwróciłaby fragment HTML, którego mógłbym użyć do zapełnienia części strony. Dotyczy to obszarów, w których nie chciałem spowalniać ładowania strony lub obszarów, które lepiej pasują do wywołań AJAX. Jednym z przykładów może być stronicowanie tabeli. Jeśli chcesz przejść do następnej strony, wolałbym, aby wywołanie AJAX otrzymało te informacje, zamiast pełnego odświeżania strony. Ale wywołanie AJAX nadal zwróci fragment HTML.
Moje pytanie brzmi. Czy moje przemyślenia na ten temat są archaiczne, ponieważ pochodzę z .NET, a nie z czystego tła?
Inteligentny programista front-endowy, z którym pracuję, woli robić mniej lub więcej nic w widokach MVC i wolałby robić wszystko na froncie. Aż do wywołań interfejsu API sieci zapełniających stronę. Aby zamiast wywoływać metodę akcji MVC, która zwraca HTML, wolałby zwrócić standardowy obiekt i użyć javascript do utworzenia wszystkich elementów strony.
Sposób programisty front-end oznacza, że wszelkie korzyści, które normalnie uzyskuję dzięki walidacji modelu MVC, w tym walidacja po stronie klienta, znikną. Oznacza to również, że zniknęłyby wszelkie korzyści, które uzyskam dzięki tworzeniu widoków, przy silnie typowanych szablonach HTML itp.
Sądzę, że oznaczałoby to, że musiałbym napisać tę samą weryfikację dla weryfikacji front-end i back-end. JavaScript powinien także mieć wiele metod tworzenia wszystkich różnych części DOM. Na przykład, dodając nowy wiersz do tabeli, normalnie użyłbym częściowego widoku MVC do utworzenia wiersza, a następnie zwróciłem go jako część wywołania AJAX, który następnie zostaje wstrzyknięty do tabeli. Używając czystego interfejsu użytkownika, javascript wziąłby obiekt (na przykład produkt) dla wiersza z wywołania interfejsu API, a następnie utworzyłby wiersz z tego obiektu. Tworzenie poszczególnych części wiersza tabeli.
Witryna, o której mowa, będzie miała wiele różnych obszarów, od administracji, formularzy, wyszukiwania produktów itp. Witryna, która nie wydaje mi się, że wymaga architektury w postaci aplikacji na jednej stronie.
Co wszyscy o tym myślą?
Jestem zainteresowany, aby usłyszeć od twórców front-end i dev-back.