При использовании BEM вам никто не помешает в разных компонентах, случайно заюзать одно имя класса более одного раза…
С SC этой проблемы вообще не возникает
И чем это отличается от opacity: 0? Opacity просто делает элемент прозрачным (или полупрозрачным), а visibility: hidden ещё не даёт с ним взаимодействовать: навести, кликнуть, сфокусировать.
Так же что стоит заметить, что opacity создает новый контекст для расчета z-index. Плюс opactity можно анимировать
Не силен в микросервесах, да и в бекенде тоже… Но разве микросервисы не подразумевают, что любой микросервис в системе может быть написан на любой технологии и языке? И пока нет реализции cote на других языках и платформах, использовать его для создания большой системы будет проблематично?
Никто и не говорил про разные домены. На каком домене это все крутиться вообще не при чем. Мы говорим о разбиении на два логический проекта(на уровне репозиториев)
Бессмысленное для пользователя генерирование на сервере html с данными при старте каждой сессии
Не бесмыленное — визуально перформанс растет. C сервера приходит уже готовый html
плюс такие страницы индексируются поисковиками
Лишний блокирующий загрузку всего остального запрос за html, которого могло бы и не быть.
нода не блокирует загрузку за счет асинхроности js
Невозможность выложить на статический сервер типа github.io.
и? сколько страниц в интернете генерится, к примеру, php их тоже нельзя выложить
Невозможность без плясок с бубном завернуть в cordova или chrome app.
лично заворачивал в cordova приложение где фронт был написан с прослойкой на node (c reactjs) — проблем никаких. Потому что фронт умеет рендериться там где есть js
Костыли для обеспечения кроссбраузерности.
при чем тут нода?
Невозможность раздачи через CDN
аналогично с "невозможность выложить на статический сервер типа github.io."
Плюс выноса фронта в отдельный проект в том, что сам фронт и решает каким ему быть после сборки — статикой или легким nodejs сервером. Он никак не завазян на язык/фреймворк бекенда. Мы можем переписывать любую часть, другой это коснется
Он полностью абстагирован от бека, как бы это было например с iOS или Android приложением.
Я уж молчу на сколько это удобно когда бекендерам вообще не приходиться думать, о html/css/js файлах — в их репе их просто нет.
А фронтедрам не нужно поддерживать локальную версию бека, заботиться о миграциях, установки зависимотей бекнда и так далее. Они спокойно забирают данные с удаленного сервера и все. + Всегда могут локально просить данные с продакшен сервера(ведь часто баги появляются именно на рабочем контенте)
"чёткое разграничение зон ответственности" — как раз таки будет разбиения проекта на два отдельных =)
"Сами по себе они отрендериться на сервере не смогут" — для этого есть nodejs
"куча проблем с кешированием" — при полноценном серверном рендере страницы не статичны, а в случае если вы отдаете браузеру просто пустой html-заглушку то это не большая проблема, так как все "большие" части(js/css) все равно закешируются
решени с решеткой это не изящное решение, решетка для браузера это якорь к которому нужно проскролить страницу после ее загрузки, а никак не часть роута.
History Api придумали не просто от нечего делать.
Плюс ссылки с решеткой плохо индексируются поиковиками. Обращаю ваше внимание, что Angular2 (и ReactJS к примеру) могут отлично сами рендериться на сервере
Ваше решени это просто костыль и использование инструментов(решетки в урле) не по назначению
Даже если оставлять все один проектом, то есть решени куда лучше:
определить какие урлы должен обрабатывать бекенд(статика, api) все остальное уже "редеректить" на html файл где урл подхватит клиент.
Идея копипастить урлы из одного файла в другой это просто ужас.
С SC этой проблемы вообще не возникает
Во вторых, это не проблема, берете babel и вперед.
Так же что стоит заметить, что opacity создает новый контекст для расчета z-index. Плюс opactity можно анимировать
Вот только завтра приходит дизайнер и переносит вашу левую панель на право, а ваши иконки по прежнему содержат в себе leftPanel
на промисы или async/await как будете переводить?
А в целом за статью спасибо. Интересно
Правда для 1-го aпреля.
Написали свое react-bem-classes — может кому понравится
Не бесмыленное — визуально перформанс растет. C сервера приходит уже готовый html
плюс такие страницы индексируются поисковиками
нода не блокирует загрузку за счет асинхроности js
и? сколько страниц в интернете генерится, к примеру, php их тоже нельзя выложить
лично заворачивал в cordova приложение где фронт был написан с прослойкой на node (c reactjs) — проблем никаких. Потому что фронт умеет рендериться там где есть js
при чем тут нода?
аналогично с "невозможность выложить на статический сервер типа github.io."
Плюс выноса фронта в отдельный проект в том, что сам фронт и решает каким ему быть после сборки — статикой или легким nodejs сервером. Он никак не завазян на язык/фреймворк бекенда. Мы можем переписывать любую часть, другой это коснется
Он полностью абстагирован от бека, как бы это было например с iOS или Android приложением.
Я уж молчу на сколько это удобно когда бекендерам вообще не приходиться думать, о html/css/js файлах — в их репе их просто нет.
А фронтедрам не нужно поддерживать локальную версию бека, заботиться о миграциях, установки зависимотей бекнда и так далее. Они спокойно забирают данные с удаленного сервера и все. + Всегда могут локально просить данные с продакшен сервера(ведь часто баги появляются именно на рабочем контенте)
На эту тему советую почитать вот эту статью https://www.nczonline.net/blog/2013/10/07/node-js-and-the-new-web-front-end/
"Сами по себе они отрендериться на сервере не смогут" — для этого есть nodejs
"куча проблем с кешированием" — при полноценном серверном рендере страницы не статичны, а в случае если вы отдаете браузеру просто пустой html-заглушку то это не большая проблема, так как все "большие" части(js/css) все равно закешируются
History Api придумали не просто от нечего делать.
Плюс ссылки с решеткой плохо индексируются поиковиками. Обращаю ваше внимание, что Angular2 (и ReactJS к примеру) могут отлично сами рендериться на сервере
Ваше решени это просто костыль и использование инструментов(решетки в урле) не по назначению
чем не решение?
определить какие урлы должен обрабатывать бекенд(статика, api) все остальное уже "редеректить" на html файл где урл подхватит клиент.
Идея копипастить урлы из одного файла в другой это просто ужас.