Рассказываем про формирование общего архитектурного подхода на фронтенде в СМ Лаб.
00:01:00 Проблемы архитектуры фронтенда
• Проблемы архитектуры фронтенда
• Вопросы идеальной архитектуры фронтенда
00:02:24 Особенности фронтенда
• Фронтенд имеет свои особенности, отличающиеся от серверной архитектуры.
• Исторически фронтенд считался несерьезным
• Вопросы взаимодействия микрофронтендов
00:03:29 Эпохи развития фронтенда
• Проводим аналогию с историей искусства, деля этапы развития фронтенда на эпохи.
• Первая эпоха - “мрачное средневековье“, когда фронтенд развивался без четких законов и систем.
• Вторая эпоха - “ренессанс“, с появлением библиотек для SPA и фреймворков
00:06:04 Современное состояние фронтенда
• Современный фронтенд характеризуется высокой сложностью и множеством подходов и фреймворков.
00:07:23 Принципы программирования
• Принципы программирования, такие как “не повторяйся“ и “будь проще“
00:10:50 Применение паттернов к фронтенду
• Использование роутеров, вью, шаблонов и стилей.
• Традиционный MVC паттерн: контроллер управляет всем, представление не влияет на модель.
• MVP паттерн: создание абстракции представления, использование интерфейсов и методов.
00:13:41 MVVM и LAX подходы
• Современные тенденции: принципы чистой архитектуры Роберта Мартина.
00:15:38 Принципы чистой архитектуры
KISS, SOLID, DRY.
00:16:47 Доменный слой и контракты
00:20:04 Фиче слайс дизайн
• Фиче слайс дизайн: передовой подход к разработке фронтенда.
00:21:03 Слои приложения
00:22:02 Домены и слайсы
Реализация фичеслайст подхода
00:24:09 Структура папок
Пример использования
00:30:40 Улучшение подхода
00:35:14 Бизнес-логика и абстракции
• Бизнес-логика в слоях API и компоузаблов.
00:37:11 Тестирование и компоненты
00:39:01 Вопросы и ответы
• Обсуждение вопросов и замечаний по докладу.
• Проблемы с навигацией по папкам в больших приложениях.
• Важность четкой структуры и иерархии в приложении.
00:44:43Сервисы и абстракции
• Обсуждение сервисов и их роли в архитектуре.
• Различие между сервисами и компоузаблами.
• Реализация сервисов в слоях API и компоузаблов.
00:49:27 Внедрение нового подхода
• Вопрос о плавном переходе на новый подход к коду.
• Рекомендуется поэтапно внедрять изменения, начиная с описания сущностей.
• Сущности должны быть абстрагированы и ограничены в зоне ответственности.
00:50:46 Реализация фич и сервисов
• Сущности могут существовать параллельно с текущим кодом.
• Логика сущностей должна быть инкапсулирована.
• Реализация фич и сервисов должна быть согласована с командой и бизнесом.
00:52:42 Нейминг компонентов
• Вопрос о важности правильного именования компонентов.
• Пример с кнопкой, которая реализует сложную логику авторизации.
• Логика компонента должна быть четко обозначена и понятна.
Подходы к реализации фич
• Традиционный подход к реализации фич с использованием компонентов.
• Второй подход, где бизнес-логика отделена от представления.
• Логика компонента не должна быть равна бизнес-логике.
Критерии оценки архитектуры
• Вопрос о критериях оценки архитектуры, удовлетворяющей требования бизнеса.
• Временные трудозатраты и покрытие тест-кейсами как возможные критерии.
• Важно убедиться, что принятые решения помогают в достижении целей проекта.
Критерии оценки архитектуры
• Скорость разработки фич и страниц.
• Надежность работы приложения при внесении изменений.
• Метрики и количество багов как индикаторы правильности решений.
Реакция разработчиков на изменения
• Половина разработчиков поддерживает изменения, другая половина нет.
• У тех, кто не поддерживает, скорость разработки падает.
• Время на разработку может не меняться или даже увеличиваться.
Проблемы плохой архитектуры
• Внесение изменений в существующее приложение вызывает проблемы.
• Высокая взаимосвязанность изменений приводит к неожиданным багам.
• Это повод для смены архитектуры и стандартизации подходов.
Важность коммуникации в команде
• Важно договориться о едином подходе внутри команды.
• Даже если кто-то не согласен, нужно найти плюсы в выбранном паттерне.
• Плохая коммуникация в команде – отдельная проблема, требующая обсуждения.
Заключение
• Для успешной разработки продукта важна коммуникация и договоренность об архитектуре.
• Все аспекты разработки взаимосвязаны и требуют качественного подхода.
#smlab #смлаб #ecommerce #фронтенд #архитектура #it
5 views
2456
810
1 month ago 00:02:11 1
💾 СТАТЬ ПРОГРАММИСТОМ В 35 ЛЕТ 🔥 ОНЛАЙН КУРСЫ ВЕБ РАЗРАБОТЧИКА ⭐
1 month ago 00:00:25 310
Онлайн курс Язык программирования Python
2 months ago 00:02:11 3
Разработка веб сайтов html css 💯 Онлайн курсы по разработке сайтов
2 months ago 02:16:12 234
ProIT x Go SPb meetup
2 months ago 01:04:49 5
Архитектура фронтенда. Артем Карачев
2 months ago 00:02:11 2
CODE SCHOOL НА РУССКОМ ⭐ КАКИЕ КУРСЫ ПРОГРАММИРОВАНИЯ ВЫБРАТЬ
2 months ago 00:02:11 5
Курсы создание web сайтов самостоятельно 💣 Курсы по программированию с сертификатом 💡
2 months ago 00:02:11 54
💻 КУРСЫ ПРОГРАММИРОВАНИЯ ИЖЕВСК ☑ ОБУЧЕНИЕ НА IT СПЕЦИАЛИСТА В МОСКВЕ 🔵
2 months ago 00:02:11 4
🖱 Курсы web программирования бесплатно ⚫ Как обучиться программированию с нуля дома 💡
2 months ago 00:02:11 3
СКАЧАТЬ КУРСЫ ПО ПРОГРАММИРОВАНИЮ 🤘 ПРОГРАММИРОВАНИЕ С НУЛЯ КУРСЫ ☑
2 months ago 00:02:11 4
КАК СТАТЬ РАЗРАБОТЧИКОМ UNITY 👍 ПЛАТНЫЕ КУРСЫ ПРОГРАММИРОВАНИЯ
2 months ago 00:02:11 9
💻 Курсы веб программирования с нуля онлайн ✔ Обучение на айтишника ❕
2 months ago 00:02:11 4
Курсы по c скачать 🔴 Курсы вебмастера яндекс
2 months ago 00:02:11 1
СЕРТИФИЦИРОВАННЫЕ КУРСЫ 🔵 СОЗДАНИЕ САЙТА ОБУЧЕНИЕ С НУЛЯ 🎯
2 months ago 00:02:11 2
🚀 КУРСЫ ДЛЯ ПРОГРАММИСТОВ В МОСКВЕ 🚫 СОЗДАТЬ САЙТ НА JAVA 👍
2 months ago 00:02:11 3
ОСНОВЫ HTML И CSS 🖥
2 months ago 00:02:11 8
💾 УРОКИ ПРОГРАММИРОВАНИЯ С НУЛЯ ДЛЯ ДЕТЕЙ ⚠ ВЫУЧИТЬ ЯЗЫК JAVA С НУЛЯ ⚪
2 months ago 00:02:11 5
WEB РАЗРАБОТЧИК ОБУЧЕНИЕ ХАБАРОВСК 🕹
2 months ago 00:02:11 7
💾 Создание сайта обучение с нуля ⛔ Онлайн учеба на программиста
2 months ago 00:02:11 12
Курс обучения программированию с нуля 🔵 Обучение frontend разработке 🎯
2 months ago 00:02:11 6
🖥 Бесплатные курсы пайтон с нуля 🔔 It программирование обучение
2 months ago 00:02:11 4
🤓 КУРСЫ ПО СОЗДАНИЮ САЙТОВ ⚫ КУРС ПО ПРОГРАММИРОВАНИЮ ДЛЯ НАЧИНАЮЩИХ
2 months ago 00:02:11 1
Изучение языков программирования бесплатно 📀
2 months ago 00:02:11 1
🖱 БЕСПЛАТНЫЕ УРОКИ ПРОГРАММИРОВАНИЯ ДЛЯ НАЧИНАЮЩИХ 💽