Czy renderowanie interfejsu użytkownika po stronie klienta za pomocą Javascript jest dobrym pomysłem?

„Klasycznym” podejściem do tworzenia stron internetowych jest przez pewien czas cienki klient i gruby serwer: serwer generuje HTML i wypluwa go, aby przeglądarka mogła tylko renderować. Ale dzięki obecnym przeglądarkom (a także dzięki dostępności dobrych bibliotek i frameworków) JavaScript działa teraz. Deweloperzy sieci mogą teraz zakładać, że ich kod JavaScript będzie działał i przestanie przeszkadzać.

To z pewnością otworzyło nowe możliwości tworzenia stron internetowych. Aplikacje mogą teraz składać się głównie z treści HTML zwracanych z serwera i renderowanych przez przeglądarkę, przy czym niektóre manipulacje interfejsem użytkownika są wykonywane po stronie klienta. Klient może nawet wysłać zapytanie do serwera o nowe dane w celu zaktualizowania części interfejsu użytkownika. Ale czy możemy zejść inaczej? Aplikacja z pewnością może być zaprojektowana jako serwer, który pluje tylko najbardziej minimalistycznym JSONem sklejonym z grubym klientem Javascript odpowiedzialnym za budowanie i kontrolowanie całego interfejsu użytkownika. Tak, to podejście może poważnie przerwać adresy URL do tego stopnia, że ​​ludzie nie będą już mogli wysyłać wskaźników, ale z pewnością jest możliwe zaprojektowanie tego w ten sposób (a dla niektórych aplikacji, takich jak e-mail i czytniki kanałów, to nawet nie materia).

Co myślisz? Czy kiedykolwiek próbowałeś tego podejścia? Czy sprawy stają się zbyt wolne? Czy nowoczesne przeglądarki są w stanie poradzić sobie z taką ilością kodu JavaScript? Czy są jakieś znaczące różnice między implementacjami przeglądarek, które wciąż gryzą niezabudowanego programistę nawet z najnowszymi bibliotekami? Jakiego rodzaju aplikacje są według ciebie odpowiednie? Czy rzeczywiście nadaje się dobyle co?

questionAnswers(10)

yourAnswerToTheQuestion