Подробное руководство по микрофронтенд архитектуре
год назад·2 мин. на чтение
Микрофронтенд становится популярной архитектурой, компании растут, появляется необходимость масштабировать команды.
Микрофронтенд - это архитектура, которая позволяет масштабироваться, делать команды независимыми и больше ориентироваться на бизнес потребности.
Мы начинаем большую и подробную серию видео о микрофронтенд архитектуре на Boosty с ранним доступом. Некоторые темы будут эксклюзивно доступны только на Boosty по подписке. Мы будем читать и обсуждать книгу “Building Micro-Frontends. Scaling Teams and Projects, Empowering Developers”. Книга не переведена на русский язык. В этих видео мы будем обсуждать самую суть книги, без воды. Также я буду давать свои комментарии, основываясь на своем опыте внедрения микрофронтендов в большом проекте.
В этих видео будет дано большое количество полезной информации по всем аспектам распиливания монолита на микрофронтенды. Мы рассмотрим большое количество вариантов внедрения микрофронтенд архитектуры, рассмотрим все достоинства и недостатки вариантов, сложности перехода на микрофронтенд архитектуру и что стоит учесть заранее. Также коснемся принципов Domain Driven Design (DDD) и как эти принципы связаны с микрофронтендами.
Рассмотрим следующие темы:
- Как распилить монолит на микрофронтенды
- Архитектуры фронтенд приложений - SPA, Изоморфные, Статичные, JAMstack
- Что такое микрофронтенд и каковы его принципы
- Что учитывать при переходе на микрофронтенд
- Краткий обзор видов разделения на микрофронтенды
- Вертикальное разделение на микрофронтенды
- Горизонтальное разделение на микрофронтенды
- Микрофронтенд на основе Module Federation
- Микрофронтенд на основе iframes
- Микрофронтенд на основе веб-компонентов
- Server Side микрофронтенды
- Edge Side микрофронтенды
- Проект с Webpack Module Federation
- Эволюция проекта с Webpack Module Federation
- Как деплоить микрофронтенды
- Как версионировать микрофронтенды
- CI/CD микрофронтендов
- Стратегии деплоя микрофронтендов
- Пример автоматизации пайплайна для микрофронтенда
- Общение микрофронтендов с бекендом
- Пример распиливания монолита на микрофронтенды. О приложении
- Пример распиливания монолита на микрофронтенды. Детали реализации
- Как презентовать микрофронтенд архитектуру команде
Кто такой frontend разработчик? Полное руководство
2 года назад·4 мин. на чтение
Frontend разработчики - это профессионалы, которые отвечают за эффективную реализацию визуальных компонентов на сайте. Они выполняют такие задачи по разработке фронтенда, как дизайн сайта, внешний вид, навигация, кнопки и т.д.
Основная цель разработки любого веб-сайта - обеспечить, чтобы пользователи могли видеть необходимую информацию в удобном для чтения формате. Но эта простая цель сложна в реализации, поскольку посетители используют различные типы устройств с разными размерами и разрешениями экрана. Также необходимо обеспечить корректное открытие сайта в различных браузерах и различных операционных системах (кроссплатформенность). Это заставляет frontend разработчика тестировать свой дизайн на нескольких вариантах ОС, браузеров и устройств, что усложняет его работу.
Frontend разработчики используют HTML, JavaScript и CSS (каскадные таблицы стилей) для обеспечения привлекательного внешнего вида и правильной работы сайта. Это также позволяет пользователям свободно и комфортно взаимодействовать с веб-сайтом.
Ниже приведены некоторые технические знания, которые ожидаются от Frontend разработчиков:
1. Технологии фронтенда:
Фронтенд-разработчики должны хорошо разбираться в основных фронтенд-веб-технологиях, таких как HTML, CSS и JavaScript. Эти специалисты также должны знать сторонние библиотеки, такие как React , Vue, Angula и другие.
2. Языки разработки:
Front-end разработчики должны знать основы таких языков программирования, как TypeScript, и по необходимости Python, Java, Ruby и др.
3. TypeScript:
TypeScript - это чистый объектно-ориентированный язык программирования с классами, статически типизированным кодом, интерфейсами, как C# или Java.
4. База данных и кэш:
Front-end разработчики должны знать различные технологии СУБД, такие как MySQL, MongoDB, Oracle и SQLServer, которые широко используются для этих целей.
5. Отзывчивый и мобильный дизайн:
Чтобы стать успешным frontend разработчиком, знание дизайна является обязательным условием. Более того, frontend разработчик должен обладать навыками отзывчивого и мобильного дизайна, которые важны для работодателей.
Отзывчивый дизайн означает, что макет сайта меняется в зависимости от размера экрана и устройства, которым пользуется пользователь. Фронтенд разработчики должны убедиться, что сайт доступен для всех пользователей и остается отзывчивым для всех мобильных, планшетных компьютеров, ноутбуков, ПК и других устройств.
6. Сервер:
Front-end разработчик должен работать с такими серверами, как Apache или Nginx, и должен хорошо разбираться в Linux и администрировании серверов.
7. Система контроля версий (VCS):
Система контроля версий помогает Front-end разработчикам отслеживать все изменения, вносимые в их код. Git широко используется в этих системах контроля версий, которые могут быть установлены с помощью командной строки. Знание Git помогает разработчикам разобраться в последнем коде, обновить определенные части кода и внести изменения в код других разработчиков.
8. Работа с API (REST и SOAP):
Знание API и веб-сервисов также является плюсом для frontend разработчиков. Желательно знакомство с созданием и использованием сервисов REST и SOAP.
9. Системы управления контентом и платформы электронной коммерции:
Frontend разработчик должен знать о различных системах управления контентом и платформах электронной коммерции (особый тип CMS). Самой популярной CMS, используемой во всем мире, является WordPress. Некоторые другие популярные CMS включают Magento, Joomla и Drupal.
10. Кросс-браузерная разработка:
Современные браузеры очень хорошо справляются с отображением веб-сайтов. Однако все еще существуют различия в том, как они интерпретируют внутренний код. Знание того, как заставить ваш сайт работать так, как вы хотите, в каждом браузере, также очень важно.
Чем занимается frontend разработчик?
Вот некоторые важные роли, которые играют фронтенд-разработчики:- Фронтенд-разработчик должен уметь определять компоненты на веб-странице с помощью HTML.
- Уметь повышать производительность с помощью JavaScript-фреймворков.
- Фронтенд-разработчик выполняет различные задачи, такие как управление контентом, изменение веб-дизайна, анализ взаимодействия, отладка и т.д.
- Анализирует производительность веб-страницы на стороне клиента, чтобы лучше понять пользовательский опыт и взаимодействие пользователей.
- Фронтенд-разработчик работает с веб-дизайнерами и UX-специалистами, чтобы создать наилучший опыт для посетителей.
Важные навыки для frontend разработчиков
Вот важные навыки для frontend разработчиков:- Умение создавать отзывчивый дизайн веб-сайта.
- Хорошее знание HTML (язык разметки гипертекста) для определения компонентов на веб-странице.
- Знание JavaScript для повышения интерактивности сайта.
- Умение анализировать производительность веб-страницы на стороне клиента для лучшего понимания пользовательского опыта.
- Разработчики фронтенда оптимизируют веб-сайты для улучшения пользовательского опыта.
- Разработка и поддержка пользовательского интерфейса.
- Реализация дизайна веб-сайта для мобильных устройств.
- Управление рабочим процессом программного обеспечения.
- Должны быть знакомы с современными лучшими практиками SEO.
- Исправление ошибок и тестирование веб-сайтов на удобство использования.
Какое программное обеспечение и инструменты использует фронтенд разработчик?
Frontend разработчик или fullstack разработчик проектирует визуальную часть сайта, которую видят пользователи. Frontend разработчик превращает проекты, созданные веб-дизайнером, в функциональный, эстетически приятный пользовательский интерфейс.В чем разница между Frontend и Backend разработчиком?
Frontend разработчики, как правило, работают над пользовательской частью веб-сайта или веб-приложения.- Frontend веб-разработчик должен быть знаком с HTML, CSS и JavaScript.
- Frontend разработчик работает вместе с дизайнером, принимая вводные данные пользователей и изменяя их путем тестирования.
- Backend разработчики используют Python, Go, Java, PHP, .Net, СУБД, сервер, API и т.д.
- Backend разработчики разрабатывают приложение, которое поддерживает фронтенд. Они также обеспечивают поддержку, безопасность и управление контентом.
Итоги
- Фронтенд разработчики - это профессионалы, которые отвечают за эффективную реализацию визуальных компонентов на сайте.
- Фронтенд разработчик определяет компоненты на веб-странице с помощью HTML.
- Разработка фронтенд-стека используется для проектирования той части веб-сайта, которую видит пользователь.
- Frontend разработчики должны знать: 1) Frontend технологии, 2) языки веб-разработки, 3) TypeScript, 4) базы данных и кэш, 5) отзывчивый и мобильный дизайн, 6) сервер, 7) систему контроля версий, 8) работу с API, 9) функциональное тестирование и модульное тестирование, 10) кросс-браузерную разработку.
- Backend разработчики обычно работают с технологиями на стороне сервера, которые обеспечивают функциональность сайта. В отличие от них, разработчики Frontend обычно работают с пользовательской частью сайта или веб-приложения.