Bei Webapps wird clientseitiges Rendering überbewertet, IMHO. Auch interaktive Webanwendungen kommen mitunter auch gut mit serverseitigem Rendering aus.
Exklusiv serverseitges Rendering hat einige Nachteile, die sich nicht so einfach unter den Teppich kehren lassen:
- Man erzielt damit keine guten Reaktionszeiten. Je nach Umfang des Projekts ist es schon eine Herausforderung die Antwortzeiten unter 100ms zu halten. Bei besonders interaktiven Anwendungen summiert sich das schnell auf.
- Netzwerk-Fehler werden in der Regel zu spät erkannt. Wenn ich ein Formular absende und keine bestehende Internetverbindung habe, erhalte ich nur eine unzufriedenstellende Browser-Fehlermeldung. Mit einer Manifest-Datei kann man dem zugegebenermaßen entgegen wirken.
- Für jede Zustandsänderung des GUI eine eigene Seite anzufordern ist Verschwendung von Energie und Datenvolumen. Insbesondere, weil man nur schwer Gebrauch von HTTP-Caching machen kann.
In so manchen Fällen würde ich das nicht „modern“ nennen, sondern Bequemlichkeit der Entwickler wird über Bedürfnisse der Nutzer gestellt. WTF :-(
Das gilt imho. auch für clientseitiges Rendering ;) Bei interaktiven Seiten kommt man weder ohne das Eine noch ohne das Andere aus. Server- und clientseitiges Rendering ist die (idealtypische) Devise.