Архитектура с микрофронтендами — это компонентно-ориентированный подход к построению интерфейса на основе микросервисов. В этом случае все компоненты и функции — автономные модули, которые могут создаваться разными группами разработчиков.
Создавать и обновлять компоненты можно по отдельности, не затрагивая остальные сервисы и функции интерфейса. Приложение становится более масштабируемым, модульным и настраиваемым. Эта архитектура отлично подходит для разбиения больших монолитных приложений на гибкие независимые модули.
Однако для перехода на микрофронтенды обычно требуется немало времени и усилий.
Нужно учесть такие важные аспекты, как идентификация и изоляция отдельных компонентов пользовательского интерфейса (UI), создание эффективных механизмов коммуникации. Потребуется обеспечить бесперебойную передачу данных, тщательный рефакторинг кода и разработку эффективных стратегий развертывания.
Но потенциальная эффективность архитектуры оправдывает все усилия по обновлению приложений.
Важно превратить микрофронтенды в строительные блоки, и в этом помогает Bit. Этот инструмент позволяет независимо разрабатывать компоненты и делиться ими.
Разделение монолитного приложения React на микрофронтенды
📌 Читать
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤6🔥2🌭1💯1
🔥 Дайджест полезных материалов из мира React за неделю
Почитать:
— Разбор задачи B (Больше, чем музыка) фронтенд — Yandex Cup 2023 квалификация
— Путешествие JavaScript-кода через движок V8
— Использование Content-Security-Policy вместе с React & Emotion
— Какие неочевидные темы вспомнить перед собеседованием на Frontend разработчика
— Что такое деление по модулю в JavaScript?
— Почему я не буду использовать Next.js
— Redux-toolkit и переиспользование кода
— Разработка браузерных игр с использованием Phaser3, React, Typescript
— Два frontend фреймворка. Два подхода
— Как не программист, вероятно, написал самую быструю библиотеку в мире
— [Discussion] What's the new big thing in web dev in the past 2 years?
— Significant Small Changes to improve UI / UX
— What kind of properties can be passed across the React Native bridge?
— Flatiron - Phase 5
— Conversations with Computers: Coding as an Art Form
— WebCrumbs: We are stitching together the future of the modern web
— The evolution of Web Development: from dial-up to instant React
— React useMemo
— Exploring React State Management: From Simple to Sophisticated Solutions
— Amazing radio buttons
Посмотреть:
🌐 Why Signals Are Better Than React Hooks (⏱ 16:30)
🌐 Node Just Released This Amazing Feature! (⏱ 00:44)
🌐 This Is One Of My Favorite TypeScript Features (⏱ 05:22)
🌐 NEW TypeScript Simplified Course Announcement! (⏱ 00:49)
Хорошего дня!
Почитать:
— Разбор задачи B (Больше, чем музыка) фронтенд — Yandex Cup 2023 квалификация
— Путешествие JavaScript-кода через движок V8
— Использование Content-Security-Policy вместе с React & Emotion
— Какие неочевидные темы вспомнить перед собеседованием на Frontend разработчика
— Что такое деление по модулю в JavaScript?
— Почему я не буду использовать Next.js
— Redux-toolkit и переиспользование кода
— Разработка браузерных игр с использованием Phaser3, React, Typescript
— Два frontend фреймворка. Два подхода
— Как не программист, вероятно, написал самую быструю библиотеку в мире
— [Discussion] What's the new big thing in web dev in the past 2 years?
— Significant Small Changes to improve UI / UX
— What kind of properties can be passed across the React Native bridge?
— Flatiron - Phase 5
— Conversations with Computers: Coding as an Art Form
— WebCrumbs: We are stitching together the future of the modern web
— The evolution of Web Development: from dial-up to instant React
— React useMemo
— Exploring React State Management: From Simple to Sophisticated Solutions
— Amazing radio buttons
Посмотреть:
🌐 Why Signals Are Better Than React Hooks (⏱ 16:30)
🌐 Node Just Released This Amazing Feature! (⏱ 00:44)
🌐 This Is One Of My Favorite TypeScript Features (⏱ 05:22)
🌐 NEW TypeScript Simplified Course Announcement! (⏱ 00:49)
Хорошего дня!
❤9👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Всё про фронтенд на YaTalks 2023: рассказы от топовых экспертов
Ждём вас на конференции YaTalks 2023 — крупнейшем мероприятии Яндекса для IT-сообщества. Более 100 экспертов в индустрии соберутся, чтобы поделиться кейсами и идеями, которыми можно вдохновиться. Выступления будут 5 и 6 декабря: офлайн — в Москве и Белграде, онлайн — в любой точке мира.
Вот о чём сможете узнать в первый день ↓
«Тернистый путь в open source» — с какими проблемами и вызовами пришлось столкнуться, когда раскрывали код DataLens в open source и переносили разработку в публичный GitHub-репозиторий.
Андрей Мелихов, ведущий разработчик, Yandex Cloud
«Слоистый CSS со взбитыми сливками» — развеем миф о том, что в CSS редко что-то меняется кардинально, а проблему изоляции стилей никак не решить.
Никита Дубко, доброжелюбный бородач, «Веб-стандарты»
«Тестировать нельзя мучиться: собственная ферма мобильных устройств для тестирования в Сбере» — зачем нужна ферма мобильных устройств, откуда она в Сбере и почему специалистам без неё уже никуда.
Владимир Коржев, руководитель направления в Digital Platform, Сбер
В меню не только доклады, но и нетворкинг, лайвкодинг, кофе с коллегами, карьерные консультации и живые встречи с топовыми экспертами. Регистрируйтесь по ссылке на один из дней и приходите ↓
Зарегистрироваться
Реклама. ООО "Яндекс". erid: 2VtzqwGo5Ew
Ждём вас на конференции YaTalks 2023 — крупнейшем мероприятии Яндекса для IT-сообщества. Более 100 экспертов в индустрии соберутся, чтобы поделиться кейсами и идеями, которыми можно вдохновиться. Выступления будут 5 и 6 декабря: офлайн — в Москве и Белграде, онлайн — в любой точке мира.
Вот о чём сможете узнать в первый день ↓
«Тернистый путь в open source» — с какими проблемами и вызовами пришлось столкнуться, когда раскрывали код DataLens в open source и переносили разработку в публичный GitHub-репозиторий.
Андрей Мелихов, ведущий разработчик, Yandex Cloud
«Слоистый CSS со взбитыми сливками» — развеем миф о том, что в CSS редко что-то меняется кардинально, а проблему изоляции стилей никак не решить.
Никита Дубко, доброжелюбный бородач, «Веб-стандарты»
«Тестировать нельзя мучиться: собственная ферма мобильных устройств для тестирования в Сбере» — зачем нужна ферма мобильных устройств, откуда она в Сбере и почему специалистам без неё уже никуда.
Владимир Коржев, руководитель направления в Digital Platform, Сбер
В меню не только доклады, но и нетворкинг, лайвкодинг, кофе с коллегами, карьерные консультации и живые встречи с топовыми экспертами. Регистрируйтесь по ссылке на один из дней и приходите ↓
Зарегистрироваться
Реклама. ООО "Яндекс". erid: 2VtzqwGo5Ew
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
⚛️ Совет React
Рендеринга можно избежать, если переосмыслить структуру компонента и использовать композицию (смотреть в гифке).
@react_tg
Рендеринга можно избежать, если переосмыслить структуру компонента и использовать композицию (смотреть в гифке).
@react_tg
👍28❤4🔥3👎2
🔥🔥🔥 5 подборок вопросов для собеседования по Frontend
1. JavaScript
https://github.com/sudheerj/javascript-interview-questions
2. React
https://github.com/sudheerj/reactjs-interview-questions
3. Vue
https://github.com/sudheerj/vuejs-interview-questions
4. Angular
https://github.com/sudheerj/angular-interview-questions
5. Front-End
https://github.com/h5bp/Front-end-Developer-Interview-Questions
@react_tg
1. JavaScript
https://github.com/sudheerj/javascript-interview-questions
2. React
https://github.com/sudheerj/reactjs-interview-questions
3. Vue
https://github.com/sudheerj/vuejs-interview-questions
4. Angular
https://github.com/sudheerj/angular-interview-questions
5. Front-End
https://github.com/h5bp/Front-end-Developer-Interview-Questions
@react_tg
👍24❤4🔥2
🔥 Дайджест полезных материалов из мира React за неделю
Почитать:
— Удобные формы для Vue 3
— Глубокий JS. В память о типах и данных
— React + Three.js. Создаём собственный 3D шутер. Часть 2
— Лучшие ресурсы чтобы выучить Git и Github
— Поиск удобных мест для жизни в Москве на GitHub Pages с помощью DuckDB в браузере
— Добавление WebAuthn в веб-приложение
— Уроки рисования красных квадратов
— Интерактивный парсер web страниц
— Webpack vs esbuild — уже можно использовать в production?
— Enhancing UX: Leveraging Nextjs Router Events for Form Manipulation
— 10 Essential React Hooks You Should Know
— Gpen Demystified: Expert Insights from Dumpsarena
— Optimizing JavaScript with Memoization: A Deep Dive into Boosting Performance:
— How to handle loading screens in Next JS
— Bape Sta White: A Classic Sneaker Icon
— Utilising createPortal to build walkthrough experiences in React applications
— VSCode Plugin For Feature Flags
— Protected Routes with React.js and Next.js
— 3D Toggle Switch
Посмотреть:
🌐 How Is This Code Safe? (⏱ 06:31)
🌐 NEW TypeScript Simplified Course - 24 Hour Sale (⏱ 07:18)
🌐 I Can’t Believe Chrome Hides This From You (⏱ 01:00)
Хорошего дня!
#digest #react
@react_tg
Почитать:
— Удобные формы для Vue 3
— Глубокий JS. В память о типах и данных
— React + Three.js. Создаём собственный 3D шутер. Часть 2
— Лучшие ресурсы чтобы выучить Git и Github
— Поиск удобных мест для жизни в Москве на GitHub Pages с помощью DuckDB в браузере
— Добавление WebAuthn в веб-приложение
— Уроки рисования красных квадратов
— Интерактивный парсер web страниц
— Webpack vs esbuild — уже можно использовать в production?
— Enhancing UX: Leveraging Nextjs Router Events for Form Manipulation
— 10 Essential React Hooks You Should Know
— Gpen Demystified: Expert Insights from Dumpsarena
— Optimizing JavaScript with Memoization: A Deep Dive into Boosting Performance:
— How to handle loading screens in Next JS
— Bape Sta White: A Classic Sneaker Icon
— Utilising createPortal to build walkthrough experiences in React applications
— VSCode Plugin For Feature Flags
— Protected Routes with React.js and Next.js
— 3D Toggle Switch
Посмотреть:
🌐 How Is This Code Safe? (⏱ 06:31)
🌐 NEW TypeScript Simplified Course - 24 Hour Sale (⏱ 07:18)
🌐 I Can’t Believe Chrome Hides This From You (⏱ 01:00)
Хорошего дня!
#digest #react
@react_tg
👍9🔥4❤1
This media is not supported in your browser
VIEW IN TELEGRAM
В современной веб-разработке границы между классическими и веб-приложениями практически стерты. Сегодня можно создавать не только интерактивные сайты, но и полноценные игры прямо в браузере.
Автор серии статей создает шутер и рассказывает о процессе в формате пошагового гайда.
Перевод: https://habr.com/ru/articles/774090/
Код проекта и ссылки на статьи на: https://github.com/JI0PATA/fps-game
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Что происходит, когда вы вводите в браузер URL-адрес?
Давайте рассмотрим этот процесс пошагово:
1️⃣ Пользователь вводит в браузер URL и нажимает Enter. Первое, что нам нужно сделать, это преобразовать URL в IP-адрес. Браузер ищет IP-адрес в нескольких уровнях кэша.
2️⃣ Если IP-адрес не удается найти ни в одном из кэшей, браузер обращается к DNS-серверам для выполнения рекурсивного DNS-поиска, пока IP-адрес не будет найден.
3️⃣ Теперь, когда у нас есть IP-адрес сервера, браузер посылает на него HTTP-запрос. Для безопасного доступа к ресурсам сервера всегда следует использовать протокол HTTPS. Сначала браузер устанавливает TCP-соединение с сервером с помощью трехстороннего рукопожатия TCP.
4️⃣ Сервер обрабатывает запрос и отправляет ответ. Ответ состоит из 3 частей: HTML, CSS и Javascript. Браузер анализирует HTML и формирует дерево DOM. Он также анализирует CSS и генерирует дерево CSSOM. Затем он объединяет дерево DOM и дерево CSSOM в дерево рендеринга. Браузер отображает содержимое пользователю.
@react_tg
Давайте рассмотрим этот процесс пошагово:
1️⃣ Пользователь вводит в браузер URL и нажимает Enter. Первое, что нам нужно сделать, это преобразовать URL в IP-адрес. Браузер ищет IP-адрес в нескольких уровнях кэша.
2️⃣ Если IP-адрес не удается найти ни в одном из кэшей, браузер обращается к DNS-серверам для выполнения рекурсивного DNS-поиска, пока IP-адрес не будет найден.
3️⃣ Теперь, когда у нас есть IP-адрес сервера, браузер посылает на него HTTP-запрос. Для безопасного доступа к ресурсам сервера всегда следует использовать протокол HTTPS. Сначала браузер устанавливает TCP-соединение с сервером с помощью трехстороннего рукопожатия TCP.
4️⃣ Сервер обрабатывает запрос и отправляет ответ. Ответ состоит из 3 частей: HTML, CSS и Javascript. Браузер анализирует HTML и формирует дерево DOM. Он также анализирует CSS и генерирует дерево CSSOM. Затем он объединяет дерево DOM и дерево CSSOM в дерево рендеринга. Браузер отображает содержимое пользователю.
@react_tg
👍55❤7🔥4🥰1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤4🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
https://codepen.io/hexagoncircle/pen/qBdEGrj
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
⭐️Совет по CSS!⭐️
Для создания инвертированного эффекта :hover вы можете использовать режим mix-blend-mode с настраиваемыми свойствами :hover.
Классная фишка в том, что использование режима mix-blend-mode действует как инвертор цвета, что хорошо работает с монохромными элементами управления.
Что касается того, как переместить этот код в JavaScript?
@react_tg
Для создания инвертированного эффекта :hover вы можете использовать режим mix-blend-mode с настраиваемыми свойствами :hover.
button > span {
left: calc(var(--x, 0) * 1px);
top: calc(var(--y, 0) * 1px);
mix-blend-mode: difference;
}
Классная фишка в том, что использование режима mix-blend-mode действует как инвертор цвета, что хорошо работает с монохромными элементами управления.
Что касается того, как переместить этот код в JavaScript?
const UPDATE = ({target, x, y }) => {
const bounds = target.getBoundingClientRect()
target .style.setProperty('--x', x - bounds.left)
target .style.setProperty('--y', y - bounds .top)
}
const BTNS = document.querySelectorAll('button')
BTNS.forEach(BTN => BTN.addEventListener('pointermove', UPDATE))
button:is(:hover, :focus-visible) {
--active: 1;
}
button span {
transform: translate(-50%, -50%) scale(calc(var(--active, 0) * 3);
transition: transform 0.25s;
}@react_tg
👍23🔥10❤5
⚡️ 10 сайтов для отработки навыков работы с фронтендом:
1. Frontend Mentor
http://frontendmentor.io
2. Codewars
http://codewars.com
3. Codewell
http://codewell.cc
4. JavaScript30
http://javascript30.com
5. Кодербайт
http://coderbyte.com
6. CSS Battle
http://cssbattle.dev
7. FreeCodeCamp
http://freecodecamp.org/learn/
8. Frontend Practice
http://frontendpractice.com
9. Задачи CodePen
http://codepen.io/challenges/?re
10. Dev Challenges
http://devchallenges.io
@react_tg
1. Frontend Mentor
http://frontendmentor.io
2. Codewars
http://codewars.com
3. Codewell
http://codewell.cc
4. JavaScript30
http://javascript30.com
5. Кодербайт
http://coderbyte.com
6. CSS Battle
http://cssbattle.dev
7. FreeCodeCamp
http://freecodecamp.org/learn/
8. Frontend Practice
http://frontendpractice.com
9. Задачи CodePen
http://codepen.io/challenges/?re
10. Dev Challenges
http://devchallenges.io
@react_tg
👍33❤8🔥3
➽ javascripting - http://javascripting.com
➽ codepen - http://codepen.io
➽ codemyui - http://codemyui.com
➽ jsfiddle - http://jsfiddle.net
➽ jsbin - http://jsbin.com
➽ 30secondsofcode - http://30secondsofcode.org/js/p/1/
➽ freefrontend - http://freefrontend.com
➽ snippit - http://snippit.io
➽ codesandbox - http://codesandbox.io
➽ glitch - http://glitch.com
➽ tabnine - http://tabnine.com
➽ github - http://github.com
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍4🔥2🤣2
This media is not supported in your browser
VIEW IN TELEGRAM
🐈⬛ Действительно хороший вариант кнопки, никогда не видел ничего подобного.
Даже немного поиграл с ней 😅.
http://rive.app
@react_tg
Даже немного поиграл с ней 😅.
http://rive.app
@react_tg
👍41❤14🔥5
🔥🔥 Вышел Redux Toolkit 2.0!!!🔥🔥
В свежей версии добавлены новые возможности, ускорена работа, уменьшен размер пакета и удалены устаревшие опции.
Она сопровождается обновлениями для всех наших пакетов семейства Redux.
https://github.com/reduxjs/redux-toolkit/releases/tag/v2.0.0
@react_tg
В свежей версии добавлены новые возможности, ускорена работа, уменьшен размер пакета и удалены устаревшие опции.
Она сопровождается обновлениями для всех наших пакетов семейства Redux.
https://github.com/reduxjs/redux-toolkit/releases/tag/v2.0.0
@react_tg
🔥40👍7❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Это как в BEM нельзя использовать E - элемент, отдельно от B - блока.
На гифке пример, как вы можете использовать этот паттерн, чтобы сделать свои компоненты открытыми для расширения и закрытыми для модификации.
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤3🔥2🤩1
1. Codewars
http://codewars.com
2. JS challenger
http://jschallenger.com
3. W3resource
https://w3resource.com/javascript-exercises/
4. Герой JS
https://jshero.net/en/koans/var.html
5. Edabit
http://edabit.com/practice
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤2🔥1
React JS
Million.js
- это чрезвычайно быстрый и легкий (<4 кб) виртуальный DOM, который позволяет ускорить работу компонентов React на 70 %.Сделайте React быстрее⚡️.
▪Github
▪Документация
@react_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
🥴14👍5❤2
🔥 Дайджест полезных материалов из мира React за неделю
Почитать:
— Многооконное веб приложение — решение для перегруженных интерфейсов
— Как мы отказались от styled-components в React Native приложениях
— Билдер Vue 3 веб приложений
— 8 бесплатных курсов по большим языковым моделям
— Современные варианты баз данных
— Typescript: лучшие практики
— Архитектура серверного рендеринга для SPA
— Интересные трюки HTML. Экстремальный минимализм
— Как сгенерировать безопасный, типизированный Node.js API с использованием Prisma, TypeGraphQL и graphql-query-purifier
— Unveiling the Unparalleled Style: Essentials Hoodie Collection by Fear of God
— Animated 3D text with bubble background using html,css
— Reinforcing my ReactJS Knowledge
— Solid.js vs React: Which is Better in 2024?
— Yes! There’s a Technology that’s Faster than React!
— Resolving React Hook Error and Building a Simple Todo List Page
— Uncovering the React Universe: The Starter Guide
— Mastering useState: A Guide to Avoiding Common Pitfalls in React Development
— Mastering React Performance: In-Depth Guide to useCallback and useMemo. 🚀
— 3 Things I Learned by Building a Portfolio Website
Посмотреть:
🌐 Ollama — модель уровня GPT. Используй GPT без ограничений и абсолютно бесплатно.
🌐 Refactoring a React component - Design Patterns
🌐React Zero to Hero (5 Days)
🌐 WTF Do These Even Mean (⏱ 13:44)
🌐 This New Tailwind Feature Is A Game Changer (⏱ 00:59)
Хорошего дня!
@react_tg
Почитать:
— Многооконное веб приложение — решение для перегруженных интерфейсов
— Как мы отказались от styled-components в React Native приложениях
— Билдер Vue 3 веб приложений
— 8 бесплатных курсов по большим языковым моделям
— Современные варианты баз данных
— Typescript: лучшие практики
— Архитектура серверного рендеринга для SPA
— Интересные трюки HTML. Экстремальный минимализм
— Как сгенерировать безопасный, типизированный Node.js API с использованием Prisma, TypeGraphQL и graphql-query-purifier
— Unveiling the Unparalleled Style: Essentials Hoodie Collection by Fear of God
— Animated 3D text with bubble background using html,css
— Reinforcing my ReactJS Knowledge
— Solid.js vs React: Which is Better in 2024?
— Yes! There’s a Technology that’s Faster than React!
— Resolving React Hook Error and Building a Simple Todo List Page
— Uncovering the React Universe: The Starter Guide
— Mastering useState: A Guide to Avoiding Common Pitfalls in React Development
— Mastering React Performance: In-Depth Guide to useCallback and useMemo. 🚀
— 3 Things I Learned by Building a Portfolio Website
Посмотреть:
🌐 Ollama — модель уровня GPT. Используй GPT без ограничений и абсолютно бесплатно.
🌐 Refactoring a React component - Design Patterns
🌐React Zero to Hero (5 Days)
🌐 WTF Do These Even Mean (⏱ 13:44)
🌐 This New Tailwind Feature Is A Game Changer (⏱ 00:59)
Хорошего дня!
@react_tg
👍10❤4🔥2