В последнее время я читал очень интересные статьи о рендеринге всего клиента и сервера.
http://www.onebigfluke.com/2015/01/experimentally-verified-why-client-side.html
http://www.quirksmode.org/blog/archives/2015/01/angular_and_tem.html
http://tomdale.net/2015/02/youre-missing-the-point-of-server-side-rendered-javascript-apps/
Теперь я был немного поклонником мальчика, когда дело доходило до клиента, но после того, как я прочитал эти статьи, некоторые моменты начали проявляться в пользу рендеринга на стороне сервера, к моему удивлению... Основные моменты были
-
1) Вы можете обновить свой сервер, но не ваше пользовательское устройство. Это значит, что да... вы контролируете сервер, поэтому, если он будет выполнять вас может выбрать обновление/масштабирование. Вы не можете заставить пользователей обновлять свои устройства.
-
2) Первая краска против последней краски. Теперь по ссылке
experimentally verified...
выше показано, когда пользователи сначала видят страницу (первая краска) и когда пользователи могут использовать страницу 100% (последняя краска), Теперь из того, что я могу придумать, когда пользователь видит эту страницу, требуется некоторое время, чтобы обработать сигналы от зрительной коры до лобной коры, а затем до предгорной коры, где пользователь на самом деле начинает нажимать на свой палец, что конечно, если html визуализируется первым, поэтому мозг должен что-то обрабатывать, пока загрузка происходит в фоновом режиме (файлы js, привязка и т.д.).
То, что действительно получило меня, было то, что в twitter сообщалось, что люди имеют до 10 секунд времени загрузки для рендеринга на стороне клиента, никто не должен когда-либо испытывать это! Это вроде как сказать: "Хорошо, если у вас недостаточно устройства, извините, вам просто нужно подождать".
Я думал, нет ли хорошего способа использовать как клиентские, так и серверные механизмы шаблонов, и как клиент, так и сервер используют один и тот же механизм и код шаблона. В этом случае нужно выяснить, может ли он помочь клиенту с предоставленной страницей или позволить клиенту самостоятельно отобразить его.
В любом случае, поделитесь своими мыслями о моих высказываниях и статьях, если хотите. Я все уши!