Продолжительность
12 ч 42 мин 55 сек
Количество уроков
15 Видео
Дата добавления
09.01.2024
В курсе собран весь мой опыт работы с FSD, best practises, архитектурные принципы, которые лежат в основе и много примеров разной сложности. Начнём с базовых абстрактных понятий, закончим конкретными решениями задач на самых популярных технологиях.
Что такое FSD?
Это стандартизированный набор архитектурных практик, которые позволяют:
- Ускорить разработку
- Упростить рефакторинг
- Повысить устойчивость приложения
- Упростить тебе жизнь на новом проекте с FSD
- Ускорить онбординг в проекте за счет своей стандартности
Кому подойдет курс
Этот курс будет полезен тебе, если:
Ты - Front-end разработчик
- Узнаешь лучшие практики построения Front-end архитектуры
- Часть практик сможешь использовать сразу, в любом проекте
- Сможешь легко и быстро влиться в любой FSD проект
- Разовьёшь архитектурное мышление
Твой проект на FSD
- Научишься быстро и просто декомпозировать по FSD
- Изучишь принципы, которые лежат в основе FSDУзнаешь распространённые практики решения стандартных задач (uikit, auth, i18n, notifications)
Ты - техлид или тимлид
- Узнаешь, как мигрировать проект на FSD
- Узнаешь преимущества и подводные камни при работе с FSD
- Узнаешь, как использовать FSD в различных технологических стеках
Мои рекомендации
Если у вас ещё не было опыта работы с проектами с плохой архитектурой (например, хаотичное разделение на components, hooks, store, utils), я бы рекомендовал попробовать разобраться с такими проектами на практике. Это поможет лучше понять, зачем нужен данный курс, и осознать его ценность.
Мой опыт работы с подобным проектом
Один из проектов, в котором я участвовал, начинался с нуля. Архитектура изначально выглядела упрощённо: всё было разделено на components, hooks, store, utils. По мере роста проекта начались проблемы:
• Компоненты начали ломаться.
• Количество багов росло.
• Внесение изменений в одном месте ломало приложение в других частях.
Эти проблемы негативно сказывались на работе команды: новые фичи регулярно “рушили” приложение, что, естественно, не нравилось бизнесу. В какой-то момент нашу команду хотели расформировать из-за проблем с поддержкой и развитием приложения.
Если ваш опыт похож на описанный выше, этот курс может быть полезен. Если вы не понимаете, о чём речь, лучше не тратьте время на курс — скорее всего, вы его бросите, не освоив.
Как лучше подготовиться к курсу
1. Самостоятельно изучите FSD. Попробуйте разобраться в подходе: почитайте статьи, посмотрите видео, попытайтесь применить его в небольшом проекте.
2. Посмотрите курс от UlbyTV. Рекомендую хотя бы половину или больше — там хорошо объясняются базовые принципы FSD.
3. Только после этого переходите к текущему курсу.
Почему не стоит смотреть этот курс сразу
Первые уроки довольно интересные: автор рассказывает, какие задачи решает FSD и какие паттерны используются. Но чтобы усвоить эти уроки, важно заранее хотя бы немного разобраться в теме, иначе многое покажется непонятным.
Основные проблемы курса:
1. Подача материала.
Автор объясняет уже написанный код, “прыгая” по файлам, что затрудняет понимание. Часто не хватает схем или дополнительных примеров. Было бы намного понятнее, если бы он писал код с нуля, параллельно объясняя свои решения.
2. Сложность объяснений.
Много технической терминологии, которая может быть трудна для понимания, особенно если вы не читали книги по программированию или не знакомы с паттернами.
3. Рефакторинг в каждом уроке.
Автор часто переносит файлы и меняет структуру проекта прямо в процессе. Это сбивает с толку и создаёт ощущение хаоса, хотя я понимаю, что окончательного “правильного” подхода в FSD нет.
4. Решение проблемы связности.
В курсе предлагается минимизировать связность в FSD, делая фичи “жирными”. Но пока это решение не показало ощутимых преимуществ. Классический подход (разбиение на use-cases с объединением на уровне страниц или виджетов) тоже имеет свои проблемы, например, увеличение количества файлов в большом приложении. Автор объясняет, что его решение помогает избежать проблем с производительностью сборщика в крупных проектах, но я не успел проверить это на практике.
Для кого подойдёт этот курс
Курс подойдёт опытным разработчикам, которые уже хорошо разбираются в терминологии, архитектурных подходах и паттернах. Если вы джун или миддл, вам может быть сложно: из-за подачи материала и обилия новых терминов курс может показаться перегруженным.
Итоговая оценка: 6/10
Курс имеет потенциал, но из-за упомянутых недостатков он не покрыл мои ожидания. Тем не менее, для опытных разработчиков он может быть полезен.