Size: a a a

React — русскоговорящее сообщество

2020 November 20

🅅🄺

🅅aleriy 🄺obzar in React — русскоговорящее сообщество
в моей практике (нормальной) когда несколько реакт приложений пишутся независимо друг от друга и по какой то причине должны оказаться вдруг на одной странице делается DI (dependency injection) маневр, пишется интерфейс, придумывается протокол, создается отдельный пакет, который об этом знает и подключается к обеим сторонам
источник

🅅🄺

🅅aleriy 🄺obzar in React — русскоговорящее сообщество
стороны начинают через этот интерфейс спокойно общаться друг с другом
источник

🅅🄺

🅅aleriy 🄺obzar in React — русскоговорящее сообщество
стейт менеджеры у этих двух апп при этом могут быть совершенно разными
источник

NB

Not Dan, But... in React — русскоговорящее сообщество
🅅aleriy 🄺obzar
в моей практике (нормальной) когда несколько реакт приложений пишутся независимо друг от друга и по какой то причине должны оказаться вдруг на одной странице делается DI (dependency injection) маневр, пишется интерфейс, придумывается протокол, создается отдельный пакет, который об этом знает и подключается к обеим сторонам
звучит очень интересно! а может быть есть гист с примером?
источник

🅅🄺

🅅aleriy 🄺obzar in React — русскоговорящее сообщество
приложухи друг о друге ничего не знают... но они знают интерфейс и протокол, по которому можно чего то там делать
источник

NB

Not Dan, But... in React — русскоговорящее сообщество
Это похоже на гексагональную архитектуру (или мне кажется?)
источник

🅅🄺

🅅aleriy 🄺obzar in React — русскоговорящее сообщество
Not Dan, But...
звучит очень интересно! а может быть есть гист с примером?
это был коммерческий проект, а для себя лично я таких извращенных архитектур не создавал
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Not Dan, But...
Это похоже на гексагональную архитектуру (или мне кажется?)
Чем похоже?
источник

🅅🄺

🅅aleriy 🄺obzar in React — русскоговорящее сообщество
кстати тоже самое касается не только когда две аппы в одной странице, но и даже когда они просто в разных айфреймах
источник

NB

Not Dan, But... in React — русскоговорящее сообщество
Vladimir Klimov
Чем похоже?
Идеей о том, что приложения ничего не знают друг о друге, но могут подключаться через адаптеры в общее «ядро» системы и общаться там меж собой
Насколько вообще корректно рассуждать об архитектуре во фронтенде? Обычно все говорят о бэке, т.к. там гораздо интереснее
источник

🅅🄺

🅅aleriy 🄺obzar in React — русскоговорящее сообщество
Not Dan, But...
Идеей о том, что приложения ничего не знают друг о друге, но могут подключаться через адаптеры в общее «ядро» системы и общаться там меж собой
Насколько вообще корректно рассуждать об архитектуре во фронтенде? Обычно все говорят о бэке, т.к. там гораздо интереснее
насколько корректно вообще относиться к клиентской части как к какому то отребью отделенному от общих парадигм программирования?
источник

NB

Not Dan, But... in React — русскоговорящее сообщество
🅅aleriy 🄺obzar
это был коммерческий проект, а для себя лично я таких извращенных архитектур не создавал
а какое требование вынудило так построить фронтенд? (несколько приложений на одной странице) и какие есть правильные альтернативы?
источник

🅅🄺

🅅aleriy 🄺obzar in React — русскоговорящее сообщество
Not Dan, But...
а какое требование вынудило так построить фронтенд? (несколько приложений на одной странице) и какие есть правильные альтернативы?
требование было простое
основная команда делала одну из ТОП криптобирж мировых и не давала доступа к своим исходным кодам, но я должен был сделать для них новый раздел, который они встроили в свое меню и наши приложения были написаны на разных версиях реакта, я юзал эффектор, они редакс, приложения ничего не знали друг о друге, но должны были активно взаимодействовать в том числе и в части авторизации юзера
источник

🅅🄺

🅅aleriy 🄺obzar in React — русскоговорящее сообщество
в итоге мое приложение стало отдельным npm пакетом и встраивалось в общее приложение
источник

NB

Not Dan, But... in React — русскоговорящее сообщество
🅅aleriy 🄺obzar
насколько корректно вообще относиться к клиентской части как к какому то отребью отделенному от общих парадигм программирования?
У меня сложилось представление, что на фронте просто меньше запроса на построение архитектуры
Как будто бы клиентская часть по своей сложности и полноте реже доходит до этапа небоходимости построения архитектуры, чем бэк
Т.е. чаще нужно обычное SPA, захерачить всё можно с дикой связностью, а вот на бэке сызмальства проекта будьте добры 12-factor app или чего ещё
источник

🅅🄺

🅅aleriy 🄺obzar in React — русскоговорящее сообщество
Not Dan, But...
У меня сложилось представление, что на фронте просто меньше запроса на построение архитектуры
Как будто бы клиентская часть по своей сложности и полноте реже доходит до этапа небоходимости построения архитектуры, чем бэк
Т.е. чаще нужно обычное SPA, захерачить всё можно с дикой связностью, а вот на бэке сызмальства проекта будьте добры 12-factor app или чего ещё
я сейчас делаю огромный проект на базе theia-ide
так что не нуна мне сомнений про архитектуру на фронте :))))))
источник

🅅🄺

🅅aleriy 🄺obzar in React — русскоговорящее сообщество
я фулстечил довольно долго.... то с чем я сейчас сталкиваюсь во фронтенде ничуть не проще архитектурно, а порой и сложнее из-за разных долбанных ограничений
источник

NB

Not Dan, But... in React — русскоговорящее сообщество
🅅aleriy 🄺obzar
требование было простое
основная команда делала одну из ТОП криптобирж мировых и не давала доступа к своим исходным кодам, но я должен был сделать для них новый раздел, который они встроили в свое меню и наши приложения были написаны на разных версиях реакта, я юзал эффектор, они редакс, приложения ничего не знали друг о друге, но должны были активно взаимодействовать в том числе и в части авторизации юзера
спасибо, стало понятнее
но всё ещё непонятно как чисто технически организовать общение этих двух инстансов реакта на одной странице, как между ними то данные передавать? отсылать CustomEvent на рут одной аппки и ожидать его внутри и так же с другой?
источник

🅅🄺

🅅aleriy 🄺obzar in React — русскоговорящее сообщество
если что тея это во тэта  https://theia-ide.org/
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
🅅aleriy 🄺obzar
приложухи друг о друге ничего не знают... но они знают интерфейс и протокол, по которому можно чего то там делать
Окей, но что если надо хранить общее для обеих апок состояние, как вы его хранили и с ним работали? Типа, через тот же протокол событий?
источник