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