@jsunderhood расскажи подробнее про изоморфность на практике
Изоморфность это отдельная тема. Есть много очевидных плюсов, но так же есть и ограничения.
twitter.com/raxpost/status…
Архитектурные вопросы за нас решает Fluxible, это что касается работы со сторами на сервере и передачи данных на клиент в рамках контекста.
Итак, начнем с практических ограничений изоморфных (универсальных) приложения с которыми лично сталкивался.
Не хватает просто рефреша в браузере для просмотра изменений, нужно рестартить Node.js сервер. Для этого есть github.com/remy/nodemon.
Все, что транспайлите и собирается с Babel/Webpack/etc, нужно будет делать и на сервере. С Babel просто, есть babeljs.io/docs/usage/req….
Сложность начинаеться с более сложными лоадерами, которые все так любят в Webpack. Ибо их нужно будет отдельно настраивать на сервере.
В некоторых случаях, как например с CSS Modules, можно найти готовые решения для процессинга на сервере npmjs.com/package/css-mo….
С остальным придеться разбираться дополнительно, используя похожий подход с Babel хуком, или базируясь на node-hook github.com/bahmutov/node-….
Это значит, что помимо сложностей с лоадерами Webpack, вам придеться бороться со сложностями транспиляции на сервере.
Последнее с чем сталкивался, это адаптация загрузки inline SVG файлов через webpack и на сервере. Не rocket science, но готовых решених нет.