Написал приложение на React и Vue! Что такое микрофронтенды

  Рет қаралды 74,282

Владилен Минин

3 жыл бұрын

Исходники тут: t.me/js_by_vladilen/384
Получить профессию Frontend разработчика -
bit.ly/3OMCmni
Подробнее узнать об обучении в Result School -
bit.ly/3Rc3IFN
Бесплатный курс HTML & CSS - bit.ly/3R20156
Сделать 5 проектов на JavaScript - bit.ly/3bHM9wZ
Я в соц сетях:
Telegram: t.me/js_by_vladilen
VK: vladilen.minin
Instagram: vladilen.minin
Мои паблики по JavaScript:
Telegram: t.me/result_school_it
VK: result.school
Instagram: result.scho...
JavaScript cообщества:
Discord: discord.gg/jscommunity
Telegram: t.me/js_by_vladilen_chat
Roadmap по каналу:
vladilen.notion.site/Roadmap-KZbin-0b917095c1ec424e9574c2ede36efab9
Что такое микрофронтенды?
В видео расскажу про микросервисную архитектуру но для frontend!
Первая часть видео теоретическая. Во второй части покажу приложение, которое я написал сразу на Vue и React и как я их связал общим стором.
Таймкоды:
00:00 - Введение
00:39 - Что такое микрофронтенды
04:57 - Мое приложение на React & Vue

Пікірлер: 215
@ВадимТарановский-ч5с
@ВадимТарановский-ч5с 3 жыл бұрын
Контент несомненно полезный, но сам microFrontend подход напомнил мем где слон + пингвин = пингвин с головой слона)
@xempl2842
@xempl2842 11 ай бұрын
Ну тут ты не прав
@artsurkov
@artsurkov 3 жыл бұрын
Это не совсем микро-фронтэнд. Это монолит с использованием разных фреймворков. Можно назвать его - ГИБРИД. Микрофронтэнд - это когда каждый модуль вообще никак не связан с другими модулями, когда они собираются в разных проектах, а подключаются в хост-модуль например с помощью webpack moduleFederation плагина и лучше по какому-нибудь конфигу на лету. Или вообще подключаются непосредственно в html Ну и еще про стор замечание. Это по функционалу - шина событий. Стор все-таки должен хранить данные. А в общем спасибо за рассказ.
@user-pe5qr2wp4u
@user-pe5qr2wp4u 3 жыл бұрын
они изобрели?
@artsurkov
@artsurkov 3 жыл бұрын
@@user-pe5qr2wp4u - это способ включения стороннего модуля на страницу и ВСЕ! На этом функционал и возможности заканчиваются. Встречный вопрос, кто они?
@alung414
@alung414 3 жыл бұрын
Стоит дополнить, что реализация стора в глобальной переменной очень плохая идея. И да это не стор, а простой event emitter паттерн в который докинули коун, что тоже не хорошо.
@artsurkov
@artsurkov 3 жыл бұрын
@@alung414 Да, привязка к глобальному объекту window - это с точки зрения безопасности плохо. Надо искать другие варианты решения создания EventBus с глобальной областью видимости. А вот в качестве стора удобно использовать Mobx и пробрасывать его в модули через пропсы.
@MIHANIZM56
@MIHANIZM56 3 жыл бұрын
@@artsurkov или редакс )
@VladilenMinin
@VladilenMinin 3 жыл бұрын
Пока готовлю большой проект и много контент на KZbin решил разбавить новым форматом. Как вам? Лично мне очень нравится учить новое, и если вы оцените, то буду таким делиться чаще) Так же напишите, какую тему в подобном стиле еще разобрать?
@darkside2436
@darkside2436 3 жыл бұрын
А что за большой проект?
@ser9ga592
@ser9ga592 3 жыл бұрын
Очень хотелось бы информацию по docker и kubernetes
@АртёмЛукичёв-п2ы
@АртёмЛукичёв-п2ы 3 жыл бұрын
@Зорица Караджич насчёт разработчиков, которые в нативном js разбираются хуже, чем в реакт, это очень плохо. Такими быть нельзя. Обходиться без фреймворков конечно можно, но зачем? Фреймворки проще для разработчика, а потому все крупные проекты на них написаны. Давно я вакансий по чистому js не видел, очень давно. Надо конечно и по чистому js снимать, тут я согласен
@artsurkov
@artsurkov 3 жыл бұрын
Если есть желание посмотреть пример реального проекта с использованием архитектуры микро-фронтэнда, предлагаю пообщаться, покажу реальный проект. Отправил запрос в друзья в vk. Сделаете ролик про "честный" микро-фронтэнд.
@hdm9807
@hdm9807 3 жыл бұрын
Владилен, добрый день! Канал великолепный. Очень помог подтянуть знания по js. И помогает пополнять. За это большое спасибо! На канале совсем не затрагивается тема 3d и и в целом, в интернете, очень не просто найти хоть какие-то материалы по Three.js. Есть план помещения нарисованная в Blender ни как не могу найти как его импортировать на сайт и оживить при помощи js. Думаю многим так же был бы интересен такой курс. Спасибо!
@chewed2024
@chewed2024 3 жыл бұрын
Классно рассказано, спасибо тебе! Правда в части общей шины данных не совсем корректно применено к микрофронтендам. Я сейчас разбираюсь с микрофронтендами углубленно, и суть их в том, что каждый микрофронт должен работать изолировано, только со своим набором данных. Ни один микрофронт не должен реагировать на изменения в другом. Посыл микрофронтендов заключается в том, что каждую часть приложения разрабатывают разные команды, и по итогу их части приложения - модулями можно грубо назвать, должны легко слиться в одно большое приложение. Но фишка даже больше не в этом, а в том, чтобы данные для других микрофронтов подгружались лишь тогда и только тогда, когда они нужны, и подгружаться должны только те данные, которые не были подгружены ранее для ранее потребовавшихся микрофронтов. Т.е. общие пакеты или данные не должны подгружаться дважды, например react для каждого микрофронта. Все это поддерживается в webpack5. А так, мне понравилась теория о микрофронтендах! :))))
@djorji7114
@djorji7114 5 ай бұрын
Привет, а если у нас есть какое-то состояние например токен пользователя, и нам надо его иметь для запросов на разных фронтах Не должны ли они делить данное состояние между друг другом
@chewed2024
@chewed2024 5 ай бұрын
@@djorji7114 Привет! Нет, каждый фронт несёт свой набор данных, необходимый ему для работы со своим сервисом. Токен пользователя лучше хранить в куке, по которой каждый микросервис сам определит что это за пользователь. Идея микро фронтов заключается в том, что в какой-то любой момент один микрофронт удаляется например, другой загружается и работает, что-то вроде когда-то активно применяющийся в реализации фронтовой разработке. Хорошо что от них ушли 😁
@djorji7114
@djorji7114 5 ай бұрын
@@chewed2024 хорошо, спасибо я только начинаю изучать этот подход архитектурный можешь что-то посоветовать посмотреть, почитать в связке с реакт
@chewed2024
@chewed2024 5 ай бұрын
@@djorji7114 я сейчас на проекте, где, к сожалению, нет микрофронтенда (( Погугли, на просторах интернет тонны информации. Реакт не панацея для микрофронта, любой фреймворк можешь использовать и даже чистый is. Главная суть, что твой сгенерированный js bundle имеет свой уникальный путь загрузки и должен скачиваться по этому пути, а в настройках главного контент сайта должна быть логика по его подключению в определённый контейнер
@Денис-в9г3ц
@Денис-в9г3ц 3 жыл бұрын
что за извращения?) оказывается Владилен знает толк в извращениях))
@DarkzarichV2
@DarkzarichV2 3 жыл бұрын
Кстати, не извращения) в продакшне такое используют нередко сейчас. Правда это почти никогда про разные фреймворки, просто разные команды занимаются разными частями одного большого сервиса, даже не обязательно, чтобы всё это на одной странице было и есть связующее звено между этим всем
@ЭдуардДубов-к7т
@ЭдуардДубов-к7т 3 жыл бұрын
@@DarkzarichV2 тут и есть главный посыл, никогда разные фрэймворки. А конкретно, что приведено в данном видео - это полный треш..
@artemalesenko9855
@artemalesenko9855 3 жыл бұрын
@@DarkzarichV2 да не, просто кругом извращенцы)
@alexbro9091
@alexbro9091 3 жыл бұрын
класс, сначала загрузим реакт, потом загрузим вью и через кошачью жопу будим их синхронить..... огонь идея, производительность должна расти на глазах :)))
@artemalesenko9855
@artemalesenko9855 3 жыл бұрын
А может за этим будущее))
@Realing29
@Realing29 3 жыл бұрын
Ну хз, обычно компонентам не требуется такой синхронизации, я думаю Владилен показал пример, как можно научить компоненты взаимодействовать при необходимости.
@___________S_t_a_s___________
@___________S_t_a_s___________ 3 жыл бұрын
конечно производительность разработчика должна расти, иначе он просто не успеет за обновлениями всех технологий))
@jemand-i5m
@jemand-i5m 3 жыл бұрын
приложение по управлению приложениями с приложениями приложения приложений
@kardashevr
@kardashevr 3 жыл бұрын
Мне кажется, не совсем корректно описано. Микрофронтенды живут на своих собственных хостах и могут быть загружены в другие приложения лениво. Для этого используют ModuleFederation из Webpack 5. В конфиг заранее прописывают какие модули (микрофронтенды) могут быть запущены. А еще, есть ощущение, что бессмысленно создавать микрофронты на разных фреймворках, тк придется скачивать бандлы всех этих фреймворков. Лучше писать на одном, а в конфиге указать какие зависимости у приложений одинаковые, чтобы юзер скачивал их не больше одного раза.
@artsurkov
@artsurkov 3 жыл бұрын
Ну да, здесь перепутаны понятия микро-фронтэнда и гибрида. Микро-фронтэнд - это модульная архитектура, как вы описали.
@user-ir5zd2jy9e
@user-ir5zd2jy9e 3 жыл бұрын
Осталось SSR еще впихуить туда для счастья
@student747
@student747 3 жыл бұрын
Круто!! Спасибо! Очень доступно со стором получилось.
@vladvladov4095
@vladvladov4095 3 жыл бұрын
Привет) ну наконец новье))
@VladilenMinin
@VladilenMinin 3 жыл бұрын
Скоро будет больше)
@ГеннадийМалюгин-м2р
@ГеннадийМалюгин-м2р 3 жыл бұрын
Интересно! Всё больше и больше новых идей появляется в разработке)
@dsogs9961
@dsogs9961 3 жыл бұрын
разве фокус с window, не костыль?
@ProoksiusSvaagali
@ProoksiusSvaagali 3 жыл бұрын
Канал замечательный. Проштудировал все видео про создание CRM на vue, просто шикарно. Для начинающих самое то. Спасибо большое, ждем новых видео, особенно интересно по vue
@Zheka1273
@Zheka1273 3 жыл бұрын
Владилен, в какой-то момент видоса я вдруг осознал, что полностью понял программирование. Все твои объяснения и весь код стал кристально ясным и понятным. По сути, программирование - это действительно своего рода общение;) Спасибо Вам, дорогой друг
@TheOrteme
@TheOrteme 3 жыл бұрын
Полезно, спасибо большое) Смотрю твои видео)
@JaneDoe-od4ep
@JaneDoe-od4ep 3 жыл бұрын
- Мама, у меня микрофронтенд
@ITDIVA
@ITDIVA 3 жыл бұрын
Ах, какой красивый и умный мужчина) Недавно начала работать с Vue.js. Наткнулась на это видео случайно, но была рада, что я не одна люблю извращаться :D Было очень интересно, с меня подписочка)
@saskirakosyan5268
@saskirakosyan5268 3 жыл бұрын
А в реальном проекте что вместе window??
@scarlatum
@scarlatum 3 жыл бұрын
Кромешный ад. Не дай господь мне столкнуться с таким чудом по работе. Мало того что мы в "рантайм" тянем каждый фреймворк на котором пишут приложение, так ещё и прослойки-адаптеры для них, чтобы это чудо запустилось. В итоге, получаем полуживое приложение, которое со скрипом общается меж своими внутренностями. Единственный плюс лишь в том, что можно команду разработчиков за копейки собрать. Так что, если стоит задача собрать приложение в бюджет булки хлеба, и без планов на поддержку с вашей стороны - Вариант ещё может чего-то стоить.
@anotherakuma
@anotherakuma 3 жыл бұрын
Nx куда лучше работает с этим делом. Но тема и правда не очень приятная
@vovnet
@vovnet 3 жыл бұрын
что за бред я сейчас прочитал
@scarlatum
@scarlatum 3 жыл бұрын
​@@anotherakuma Ещё как неприятно, но зато экономно. Только до сих пор в голове уложить не могу одно: Даже если у разношёрстная команда, где каждый пишет код на том, на чём может - Как это, в дальнейшем, проблему нехватки кадров решит. Да и со взаимозаменяемостью внутри команды проблемы большие приходят. Короче, я правда этого не понимаю...
@АлександрЛихолетов-ы9ч
@АлександрЛихолетов-ы9ч 3 жыл бұрын
Классное видео! Я вообще работаю на vue, но всегда было интересно посмотреть в сторону react.
@max_mgtow
@max_mgtow 3 жыл бұрын
Поздравляю, уже 155к 🤝👏
@alexandrmoskalev8642
@alexandrmoskalev8642 3 жыл бұрын
Воу воу!!!!!! нифига себе, Владилен я еще реакт не выучил до конца, а скоро в мэйнстриме будет реакт-свелт-вью-сингл-спа?:))))))))))
@VladilenMinin
@VladilenMinin 3 жыл бұрын
Маловероятно. Архитектура специфическая для больших проектов
@ДанилаКальнов-щ1ъ
@ДанилаКальнов-щ1ъ 3 жыл бұрын
@@VladilenMinin да, потому что данный архитектурный подход имеет место в очень крупных проектах, когда одной команде приходится ждать, пока задеплоит другая, пока соберётся (в плане сборки проекта) огромный монолит и т.д. Для проектов средней величины, наверное, мало смысла в подобном подходе.
@kulikoffAS
@kulikoffAS 3 жыл бұрын
прикольно, не дай бог такое на реальном проекте встретить
@-shakirov
@-shakirov 2 жыл бұрын
Нихрена себе уже связанные вью и Реакт появились. Вроде все логично но за этими объяснениями лежит мощный опыт и практика 😁
@konstantinkuksov914
@konstantinkuksov914 3 жыл бұрын
Отличная тема! Мне бы очень хотелось посмотреть, как оптимально организовать совмещение различных css-библиотек, например, весь проект на Materialize, а вот какой-нибудь слайдер прикрутить с Bootstrap. Еще интересно было бы посмотреть про сессии в Ноде, по работе с куками в бэке и на фронте. Интересна интеграция в проект сторонней аутентификации, через гугл, к примеру. Интересна двухфакторная авторизация, с подтверждением по почте/телефону. Короче, жду))) Удачи тебе во всем!
@hutoryanin
@hutoryanin 3 жыл бұрын
Здравствуй Владилен. Отличная идея, интересный контент. Делай ещё подобный контент. *Л. а. й. к.*
@palach_666
@palach_666 2 жыл бұрын
видео суперское
@Zhaks-j2n
@Zhaks-j2n 3 жыл бұрын
Красавчик Владилен! Как раз собираюсь разделить react проект на микросервисы. Очень полезным был видео. Спасибо👍
@AlekseyMyasnikov-uq6ob
@AlekseyMyasnikov-uq6ob 2 жыл бұрын
У меня лет 5 назад был SPA-проект на bootstrap+jQuery, в котором реализована идея плагинизации: сервер отдает список подключенных (оплаченных пользователем) фич-микросервисов, фронт читает этот список и загружает соответствующие js-файлы через "добавить в head тег "), которые "находят" себе место на SPA. Когда визуально компоненты можно разнести - это (как выше отмечалось) можно сделать и на 'ах. А вот когда в едином SPA что-то дорисовывается или меняет логику - это квест. К сожалению, с переходом на React пришлось "потерять" эту крутейшую штуку и прийти к фронту-монолиту. В итоге, даже если пользователь не оплатил какую-то фичу, по факту при загрузке страницы эта фича ему грузится (но не работает) - такое себе решение. Но уход от вермишели кода на jquery к компонентам на React в целом многократно прибавил надежности
@rrotatew
@rrotatew 3 жыл бұрын
Это можно сделать по-другому. Под каждое приложение определенный репозиторий. Выбираем главный и подключаем в него придаточные через npm link (подключаются как dependencies), и подключаем в основной тегом в нужное место. Связь через общий стор, или стор каждого отдельного репозитория, если это написано на 1 фреймворке, либо кастомное решение стора в случае разных фреймворков
@Сергей-у3к8й
@Сергей-у3к8й Жыл бұрын
ну да и будет у тебя по итогу 50 репозиториев... а блин год прошёл)) что нового есть на эту тему?
@helenasdiaries515
@helenasdiaries515 3 жыл бұрын
Спасибо большое!!!
@sanjarbarakayev638
@sanjarbarakayev638 3 жыл бұрын
Было интересно и полезно. Спосибо)))
@kowkavn2356
@kowkavn2356 Жыл бұрын
При разработке на реакт ты сразу начинаешь страдать изза размера бандла, но придумали же микрофронтенды!! ТЕПЕРЬ можно и реакт библиотеку тянуть и вью, вот бы еще ангуляр подключать тогда приложение точно будет удобно и быстро работать
@vwn6735
@vwn6735 3 жыл бұрын
Владилен, приятно видеть, когда вы, как человек, который обладает значительными знаниями и практикой в разных технологиях, честно и открыто говорите: "а вот это я не знал, но узнал, разобрался и вам, друзья, расскажу и покажу что это и как выглядит". Спасибо большое! Если будет желание/возможность/время, то не могли бы вы показать, как вместе работают: Nest - GraphQL-ArangoDB. Хотя бы на уровне: вот так подключать, вот так включать. Вообще ничего нет в рунете по теме. Спасибо :-)
@VladilenMinin
@VladilenMinin 3 жыл бұрын
Благодарю) Может быть летом запишу что то на эту тему
@vwn6735
@vwn6735 3 жыл бұрын
@@VladilenMinin Спасибо, буду ждать :-)
@125245889
@125245889 3 жыл бұрын
вау ахуеть, теперь юзеру придется качать вью с реактом одновременно
@nixaristix1819
@nixaristix1819 3 жыл бұрын
И зачем эти усложнения? Избыточная сложность, в 99% случаев это антипаттерн.
@user-mw1uf8tf7w
@user-mw1uf8tf7w 3 жыл бұрын
Хороший способ усложнить систему на ровном месте
@deanArtDev
@deanArtDev 2 жыл бұрын
То чувство когда в коментах получил, ответ качественнее чем от автора.
@arseniydemidchik6190
@arseniydemidchik6190 3 жыл бұрын
Привет! Большое спасибо за крутой контент. Ты растешь, мы тоже не стоим на месте и хотелось бы видеть больше видео направленных на архитектуру веб приложений, выбор технологий и тд. (син-архитекторские штуки) Спасибо:)
@vvnab
@vvnab 3 жыл бұрын
Забавно. Слышал, но ещё не видел. Спасибо.
@FrostByteFox
@FrostByteFox 3 жыл бұрын
Эйнштейн со своим "Делай просто, насколько возможно, но не проще этого (c)" вышел из чата 🙂
@mr-pony
@mr-pony 3 жыл бұрын
Пока не разбирался, но очень похоже на неоправданное утолщение бандл сайза
@CELTRIX88
@CELTRIX88 3 жыл бұрын
Было бы интересней без single spa. Например используя webpack module federation.
@VladilenMinin
@VladilenMinin 3 жыл бұрын
Видел с ним реализацию Если знаешь про плагин, то ты легко напишешь сам это)
@aleksandr1277
@aleksandr1277 3 жыл бұрын
Я конечно, прилайкосил. Но было бы интересней сделать инкремент из вью части, а декремент из реакта, чтобы была двусторонняя связь.
@VladilenMinin
@VladilenMinin 3 жыл бұрын
Элементарно, добавляешь экшн в стор и кнопку в реакт. Будет работать)
@devorer77
@devorer77 3 жыл бұрын
Спасибо. Очень интересная тема! Может быть будет большой проект на микрофронтендах? )
@elmirweb6583
@elmirweb6583 2 жыл бұрын
Это пиздец извращение
@Kulibins1
@Kulibins1 3 жыл бұрын
Привет уже давно твой подписчик. Очень нравится твои видео, и как ты подаёшь материал. Сам начал записывать видео. Например про микрофронтенды, на angular. А так цель немного другая, стараюсь записывать всякие тонкости в технологиях, которые использую.
@Serhii_TON
@Serhii_TON 3 жыл бұрын
франкенштейн - это .Надеюсь бог есть и он меня спасёт от микро - говна этого:)
@geekdev0
@geekdev0 3 жыл бұрын
имеет ли смысл писать разные части приложения на разных фреймворках? в чем преимущество?
@VladilenMinin
@VladilenMinin 3 жыл бұрын
Я думаю преимущество в то, что такие проекты потенциально можно переиспользовать и из них составлять целое приложение
@flacs
@flacs 3 жыл бұрын
Я считаю это извращением, но может понадобится когда нужно срочно написать за час модуль для vue, но в гугле ты нашел его только на реакте, тогда вполне годные костыли получатся)
@VladilenMinin
@VladilenMinin 3 жыл бұрын
Ты мыслишь масштабами мелких проектов. Это все актуально для энтерпрайз
@sergioglock2216
@sergioglock2216 3 жыл бұрын
В теории микросервисов упоминались динамически создаваемые сущности с заданным временем жизни. Которые создаются, отрабатывают или падают, умирая передают состояние на новый круг. Но это наверное уже совсем другая история
@SergeyHramenko
@SergeyHramenko Жыл бұрын
оно интересно, но в этом случае тащится бандл react и vue, зачем? чтобы скрестить одно с другим? даже если будет два приложения vue, то каждое в итоге либы потащит, общий размер кода получаемого юзером будет расти
@0tbeptka
@0tbeptka 3 жыл бұрын
Круто!
@olgazobnina2844
@olgazobnina2844 3 жыл бұрын
Ох уж эти модные словечки: микрофронтенд 😀
@datoabjandadze4118
@datoabjandadze4118 2 жыл бұрын
microfrontend только для js-фреймворка? или я могу использовать его с проектом mvc
@nodkz
@nodkz 3 жыл бұрын
Владилен, рассмотри еще Module Federation для микрофронтендов kzbin.info/www/bejne/ppS8aWCmeax_oas По сравнению с single-spa он позволяет шарить общие модули; каждое приложение это независимая webpack-сборка, и приложение "собирается" в браузере; позволяет строить интересные гибриды, когда вставляется компонента с другого приложения и в коде это выглядит как-будто используется компонента из соседнего файла.
@Rb-ur5em
@Rb-ur5em 3 жыл бұрын
Добрый день. Владлен Подскажите можно ли найти что-то подобное в принципе? Как лучше поступить ? Писать игру с нуля не получится точно! Простая карточная игра (качество и сложность не важно. лучше что-то по проще..) HTML, CSS, JS, MySQL Описание: Регистрация игрока, Минимум два участника Спасибо
@anotherakuma
@anotherakuma 3 жыл бұрын
Было бы круто об monorepo NX Angular & React + nest
@catexis1
@catexis1 3 жыл бұрын
Если раньше даже при использовании одно фронтенд фреймворка собиралось "полмира". Теперь собираться будет вообще "весь мир". А потом удивляются почему на "сяоми тыщ за 10" приложение чуть сложнее hello_world безбожно тормозит (либо вообще не работает).
@sasniykun3829
@sasniykun3829 3 жыл бұрын
Было интересно узнать конкретные примеры, когда надо применять такую архитектуру.
@yuriyshepard4694
@yuriyshepard4694 3 жыл бұрын
никогда
@ЕгорЛетов-т8м
@ЕгорЛетов-т8м 2 жыл бұрын
если у тебя мега большой крупный проект, над которым работает много людей
@sasniykun3829
@sasniykun3829 2 жыл бұрын
@@ЕгорЛетов-т8м а по-моему дрочь какая-то
@tvn87
@tvn87 3 жыл бұрын
Не планируются ли видео по React Query?
@ivenAgario
@ivenAgario 3 ай бұрын
Видео про single-spa
@Nikita-hr6ss
@Nikita-hr6ss 3 жыл бұрын
Окей а если надо обрабатывать на вью нажатие в реакте или любые другие взаимодействия, как это реализовать? Через стор уже не получится
@VladilenMinin
@VladilenMinin 3 жыл бұрын
Почему? Так же создаёшь событие в сторе и подписываешься. Можешь попробовать через исходники поиграть
@Сергей-й9т7ъ
@Сергей-й9т7ъ 3 жыл бұрын
В целом прикольно, но мне кажется тяжело в использовании и особенно в рефакторинге, потому что при наличии нескольких либ, например река и вью, человек, который будет рефакторить должен будет знать и то и то. Плюс у приложух разная скорость загрузки, порядок загрузки компонентов и запросов нельзя будет поменять. Владилен, подскажи пожалуйста, у тебя макбук 16 или 13 дюймов и во время разработки, подключаешь ли ты дом мониторы?
@r45her
@r45her 3 жыл бұрын
Что такое дом мониторы? Это мониторы для работы с DOM?
@max_mgtow
@max_mgtow 3 жыл бұрын
@@r45her домашние наверное 😆
@horusak4232
@horusak4232 3 жыл бұрын
Для ознакомления с темой микросервисов - ок. В реальности их спользование под большим вопросом. Не, не так... под ОГРОМНЫМ вопросом (даже целой серией вопросов) - а надо ли оно вам действительно?
@max_mgtow
@max_mgtow 3 жыл бұрын
Да, в работе с таким не столкнешься
@horusak4232
@horusak4232 3 жыл бұрын
@@max_mgtow не только поэтому. Вот, на примере, который был рассмотрен. Разделил ты на блоки, у каждого свой микросервис. И ты такой: "О господи! Как же я охренителен!". А потом так - ЧИК! - и тебе надо сынтегрировать взаимодействие 2 микросервисов, потому как у каждого своя отдельная база и надо как-то синхронизировать состояния и обеспечивать транзакционность и т.д. и т.п. А ещё это не приносящий тонну бабок проект, а очень даже пилотный, а тебе надо уйма времени для поддержки твоего хитрого набора микросервисов. И ты такой уже тонешь в болоте этих проблем: "Оу... вечно я во что-то вступлю... то в дерьмо, то в пионеры...". Така фигня, малята.
@ЕвгенийСниховский-ь8ь
@ЕвгенийСниховский-ь8ь 3 жыл бұрын
С точки зрения программирования - это просто интересно, но нежиснеспособно. А вот с точки зрения бизнеса, к сожалению, очень даже реальный кейс. Например, есть две команды разрабов, одна знает vue, другая - react. Бизнес давно ждёт фич и по отдельности ресурсов каждой команды не хватает. Дальше начинается веселье. У меня как-то был опыт по встраиванию angular приложения во vue приложение, которое, в свою очередь, работало на рельсах. В принципе, все работало и задачи бизнеса решало, а на производительность все клали.
@VladilenMinin
@VladilenMinin 3 жыл бұрын
У меня был опыт когда мы ангуляр 5 вставляли в ангуляр жс 😁
@artemalesenko9855
@artemalesenko9855 3 жыл бұрын
@@horusak4232 я вот думаю, а что если в качестве стейта использовать например эфектор, там же проблем не будет таких
@ivankiselev8672
@ivankiselev8672 3 жыл бұрын
У меня была недавно немного иная ситуация. Даже не знаю, можно ли это назвать микрофронтендом. Есть несколько SPA страниц на Vue и React. Необходимо было создать отдельный виджет, который можно подключить к любой из SPA, причем без публикации в npm. Хотелось сам виджет сделать на Vue. Пришлось помучиться с реализацией, но уверен, если бы была видео-инструкция от Владилена, это было бы проще)
@iloginu
@iloginu Жыл бұрын
Странно, что стор делает что-то с данными, а не просто хранит их. Если нажатие кнопки обрабатывается во VUE, то пусть там будут методы для этого. Иначе у нас еще 3 слой появляется.
@suprematistic_madhouse
@suprematistic_madhouse 2 жыл бұрын
Гайд по превращению винегрета в винегрет из винегретов:
@MrMixEdition
@MrMixEdition 3 жыл бұрын
Вариант с GraphQL , вместо windows?
@borisoffdenis
@borisoffdenis 3 жыл бұрын
Использование нескольких библиотек на одной странице, это преимущество или недостаток?
@oleksiishkulipa1626
@oleksiishkulipa1626 3 жыл бұрын
плз. если можно... сделать урок, как создать свою библиотеку для React, хотя бы ui[с аккордеоном, модульными окнами, своим слайдером, ...args] => return с выгрузкой в npm, и с примером потом как её использовать. Понятное дело найдутся умники которые напишут : "это уже всё создано, зачем?". Но интересен сам процесс как создать свою ui библиотеку хотя бы и понять как их делать, шаг за шагом. Инструменты использовать могут все, а создавать их единицы. (с) Неизвестный прогер :) А то я что-то ничего толкового не нашел, какие -то лекции с достаточным количеством литража воды в уши (( Спасибо огромное за Ваш труд.
@den-vm
@den-vm 3 жыл бұрын
А интересно, главные компоненты с ID React и Vue (index.html), может быть один или можно несколько и если несколько, то как это указать в react.app.js и vue.app.js? Это бы позволило обойти вот это вот представление глубокого дерева после написания всего приложения.
@johnstrayk5208
@johnstrayk5208 3 жыл бұрын
А мне этот подход прям понравился, гибкость нереальная. А какой связавшись стор интересно можно использовать вместо window, чтобы это было не костыльно.
@nestromae
@nestromae 3 жыл бұрын
А какой практический смысл такого подхода? Юзать две либы по одному маршруту, загружая обе библиотеки не очень рационально получается. Наверное, есть смысл разные либы всегда по разным маршрутам.
@VladilenMinin
@VladilenMinin 3 жыл бұрын
Уже отвечал в комментах. Перспектива создать либу таких мини приложений и из них конструрировать новые в разы быстрее
@ДенисЛюбченко-л4о
@ДенисЛюбченко-л4о 3 жыл бұрын
Контент интересен, спасибо. Один только вопрос зачем, а самое главное нахрена?)) давайте один проект будет лепить команда по вью, команда по ангуляр и команда реакщиков) раньше мы плавали в фекалиях индусского кода, почему бы теперь не добавить ещё сюда и микро-фронтенд на разных фреймворках и соединять их йух пойми чем)
@VladilenMinin
@VladilenMinin 3 жыл бұрын
Ну как вариант сделать библиотеку приложений и из них составлять намного быстрее новые
@ДенисЛюбченко-л4о
@ДенисЛюбченко-л4о 3 жыл бұрын
​@@VladilenMinin Спасибо за ответ. Конечно можно, но все же я думаю лучше взять один фреймворк и разбить его как Module Federation или в Angular вообще есть возможность разбивать по проектам приложение. За контент отдельное спасибо, меня спрашивали вопросы по микрофронтендам на собеседовании
@AmericanDragon134
@AmericanDragon134 3 жыл бұрын
Здравствуйте Владилен . Можете сделать видео про "как создать категории в react redux" будет очень полезно и интересно
@dilavarzavkiev5419
@dilavarzavkiev5419 3 жыл бұрын
Это все конечно интересно, но приложение, получается, будет весить больше, чем если бы оно писалось на одном фреймворке. Ведь так?
@realtimeuser
@realtimeuser 3 жыл бұрын
Владилен прошу написать видео по tensorflowjs. Плюсуйте кто поддерживает идею...
@ReAgent003
@ReAgent003 3 жыл бұрын
Надо ли было при анмаунте отписываться от прослушивания событий?
@ЕВГЕНИЙЕЛИСЕЕВ-о2п
@ЕВГЕНИЙЕЛИСЕЕВ-о2п 3 жыл бұрын
А общий store только в window можно хранить или есть еще способы?
@VladilenMinin
@VladilenMinin 3 жыл бұрын
Я думаю через сингл спа можно прикидывать глобальную переменную для приложений не вынося в виндоу
@AlexStep
@AlexStep 3 жыл бұрын
вижу тут многим не нравится использования window . Можете пожалуйста объяснить что с ним не так? может и document и localStorage нельзя юзать ?
@vladmix77
@vladmix77 3 жыл бұрын
у меня есть проект на github. на который я включил по ошибке dependabot[bot]. и он у меня появился в авторах проекта!! это очень бесит... и как я не пытался его убрать. так и не получилось. подскажите как как убрать этот бот безопасности dependabot[bot]!!! плиз...
@ilyaponomarev9279
@ilyaponomarev9279 3 жыл бұрын
Можно микросервисы на бэкенде? На русском мало инфы
@АлександрСажин-ь1р
@АлександрСажин-ь1р 3 жыл бұрын
Серьезно?)) Может просто не искал. Мы 300лет делаем уже эти микросервисы
@ЕгорЩукин-ь1ъ
@ЕгорЩукин-ь1ъ 3 жыл бұрын
было интересно не столько про микрофронтенды послушать, сколько про то, как создаются хранилища для vuex или redux
@TilekDzhenishev
@TilekDzhenishev 3 жыл бұрын
Молодец, продолжай в таком же духе 👍🏾
@___________S_t_a_s___________
@___________S_t_a_s___________ 3 жыл бұрын
Можно к JS подключить С++, С#, go, php и сверху как вишенку на торт движок Unity он сегодня модный.)
@servera-center
@servera-center 9 ай бұрын
если ты с головой не дружишь то можно
@aleksd286
@aleksd286 3 жыл бұрын
Таак, а разве micro frontend архитектура не то когда условно есть роут с логином и роут с настройками пользователя и вы с помощью nginx ссылаетесь на разные SPA
@kryshtop
@kryshtop 3 жыл бұрын
жесть.
@bobervatake
@bobervatake 3 жыл бұрын
В команду разработки кнопки "подробнее" требуется бэкэнд разработчик
@НазарСикиринський
@НазарСикиринський 3 жыл бұрын
Круто
@voinmerk
@voinmerk 10 ай бұрын
краткость сестра таланта
@vlad3580
@vlad3580 3 жыл бұрын
Какие могут быть use кейсы этого паттерна?
@matveiseliverstov3009
@matveiseliverstov3009 3 жыл бұрын
3 просмотра - 11 лайков?! Как всегда классное видео.
@VladilenMinin
@VladilenMinin 3 жыл бұрын
Ютуб не сразу обновляет просмотры)
@mantikorich_n
@mantikorich_n 3 жыл бұрын
Но ведь такой подход сильно бьет по производительности и скорости загрузки?
@СерёгаСокольский
@СерёгаСокольский 3 жыл бұрын
Расскажи про параллельный режим React. Это реально прорыв.
@alijonabdullayev6872
@alijonabdullayev6872 3 жыл бұрын
здрасте бро про flex flexLayout про библиотеке можеш как то подсветит пожалуйста
@yakut54
@yakut54 3 жыл бұрын
хз... весьма двоякое впечатление.
@mushnikov35
@mushnikov35 3 жыл бұрын
Приходиться обращаться к window получается, что не очень хорошо, есть какой то другой вариант ?
@VladilenMinin
@VladilenMinin 3 жыл бұрын
Думаю можно придумать глобальную переменную только для разных приложений
@AlexStep
@AlexStep 3 жыл бұрын
Никогда не понимал, в чем проблема обращаться к window?
@mushnikov35
@mushnikov35 3 жыл бұрын
@@AlexStep глобальный объект, малоли там что то еще навешано будет и тд, конфликты и прочее
@andTutin
@andTutin 3 жыл бұрын
Ревью ? Или вьюакт ?
@vladimirlevin6799
@vladimirlevin6799 3 жыл бұрын
спасибо
@iddev6680
@iddev6680 3 жыл бұрын
Ну как если оно будет грузить сайт жёстко Я про память и сайт же медленно будет загружаться если слабы интернет
@АнтонКондратьев-л5н
@АнтонКондратьев-л5н 3 жыл бұрын
Сравни WebStorm и VSCode. В интернете толком никто ничего не говорит по существу.
@aspirine17
@aspirine17 3 жыл бұрын
посмотрел бы кста такое.
@dem1ess
@dem1ess 3 жыл бұрын
зачем?
@r45her
@r45her 3 жыл бұрын
А зачем их сравнивать? Понятно, что WebStorm лучше.
@АнтонКондратьев-л5н
@АнтонКондратьев-л5н 3 жыл бұрын
@@r45her на данный момент сам пользуюсь VSCode, но хотелось бы понять, в чем же лучше WebStorm. В инете нет толком сравнений нормальных. Хотелось бы услышать от человека, который работал и на том и на этом. Просто VSCode с плагинами тоже крут, но в чем же на самом деле Storm лучше...
@АнтонКондратьев-л5н
@АнтонКондратьев-л5н 3 жыл бұрын
@@r45her в инете как не посмотришь многие на VSCode садятся вроде
How Strong is Tin Foil? 💪
00:25
Brianna
Рет қаралды 49 МЛН
😜 #aminkavitaminka #aminokka #аминкавитаминка
00:14
Аминка Витаминка
Рет қаралды 2,4 МЛН
Yay, My Dad Is a Vending Machine! 🛍️😆 #funny #prank #comedy
00:17
How Strong is Tin Foil? 💪
00:25
Brianna
Рет қаралды 49 МЛН