Feature-Sliced Design
Этот курс будет полезен для frontend разработчиков с любым уровнем навыков. На практических занятиях мы рассмотрим, как применить FSD не только с React, но и с Next, Vue, Nuxt, Angular, а также Svelte.
Начнем с изучения, что такое FSD и как он способствует лучшей организации наших проектов, а также разберем понятия слоев, слайсов и сегментов. В дальнейшем мы поэтапно изучим каждый слой на практике, создавая основу для крупного проекта.
Также, мы познакомимся с инструментами, которые упрощают структурирование проектов по FSD и управление изменениями. Будем работать с макетами для тренировки декомпозиции, размечая различные слои. В заключительных этапах курса мы исследуем, как внедрять FSD совместно с такими фреймворками, как Next, Vue, Nuxt, Angular и Svelte. Курс ориентирован на практику, так как после изучения каждого слоя или сегмента мы сразу же будем применять знания, разрабатывая приложение.
По окончании курса вы научитесь:
- Создавать удобную и гибкую архитектуру проекта
- Писать код, который легко можно использовать повторно
- Эффективно распределять задачи между компонентами
- Проводить миграцию проектов на FSD
- Избегать циклических зависимостей в коде
- Внедрять FSD в проекты независимо от фреймворка
- Корректно разделять проект на уровни
- Правильно определять доменные области в проекте
- Применять инструменты FSD для поддержания структуры
Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум
-
Урок 1. 00:05:001.1 Почему FSD (Введение)
-
Урок 2. 00:04:481.2 Как устроен курс
-
Урок 3. 00:01:591.3 Обзор проекта
-
Урок 4. 00:01:081.4 Проект домашних заданий
-
Урок 5. 00:06:011.5 AI и тренажёры
-
Урок 6. 00:03:291.6 Стажировка в студии
-
Урок 7. 00:01:462.1 Настройка окружения (Настройка)
-
Урок 8. 00:01:502.2 Настройка VSCode
-
Урок 9. 00:03:382.3 Установка Node
-
Урок 10. 00:15:102.4 О работе NVM
-
Урок 11. 00:03:192.5 Figma компоненты
-
Урок 12. 00:17:312.6 Домашнее задание AI
-
Урок 13. 00:05:453.1 Что такое FSD (Введение FSD)
-
Урок 14. 00:09:403.2 Layers
-
Урок 15. 00:12:563.3 Slices
-
Урок 16. 00:06:443.4 Segments
-
Урок 17. 00:03:214.1 О слое App (Pages и App)
-
Урок 18. 00:05:124.2 Старт проекта
-
Урок 19. 00:06:174.3 Подготовка слоя App
-
Урок 20. 00:04:544.4 Обзор проекта
-
Урок 21. 00:02:444.5 О слое Pages
-
Урок 22. 00:04:294.6 Структура роутинга
-
Урок 23. 00:07:434.7 Выделение slice
-
Урок 24. 00:11:074.8 Создание первой страницы
-
Урок 25. 00:05:504.9 Добавление стилей
-
Урок 26. 00:05:294.10 Layout
-
Урок 27. 00:07:235.1 О слое (Shared)
-
Урок 28. 00:07:575.2 Константы маршрутов
-
Урок 29. 00:05:155.3 Конфигурации
-
Урок 30. 00:07:005.4 API клиент
-
Урок 31. 00:04:195.5 Библиотека
-
Урок 32. 00:06:165.6 UI компоненты
-
Урок 33. 00:02:085.7 Импорты в Shared
-
Урок 34. 00:07:435.8 Что ниже Shared
-
Урок 35. 00:06:486.1 Steiger (Инструменты FSD)
-
Урок 36. 00:03:106.2 Path Alias
-
Урок 37. 00:04:246.3 Tree-shaking
-
Урок 38. 00:04:576.4 CLI
-
Урок 39. 00:02:486.5 Расширения
-
Урок 40. 00:04:327.1 О слое (Entities)
-
Урок 41. 00:03:197.2 Создание slices
-
Урок 42. 00:10:377.3 State managment
-
Урок 43. 00:08:167.4 API
-
Урок 44. 00:07:297.5 UI компоненты
-
Урок 45. 00:07:517.6 Упражнение - Выделение entities
-
Урок 46. 00:04:507.7 Кросс-импорты
-
Урок 47. 00:04:158.1 О слое (Features)
-
Урок 48. 00:09:418.2 Примеры feature
-
Урок 49. 00:04:178.3 Специфичность в СSS
-
Урок 50. 00:08:158.4 Упражнение - Выделение features
-
Урок 51. 00:09:218.5 Упражнение - Разметка страниц
-
Урок 52. 00:02:379.1 О слое (Widgets)
-
Урок 53. 00:06:249.2 Примеры Widget
-
Урок 54. 00:02:409.3 Processes
-
Урок 55. 00:06:089.4 Упражнение - Выделение виджетов
-
Урок 56. 00:11:339.5 Упражнение - Финал декомпозиции
-
Урок 57. 00:07:4010.1 Next (Работа с фреймворками)
-
Урок 58. 00:04:5410.2 Vue
-
Урок 59. 00:06:0610.3 Nuxt
-
Урок 60. 00:05:4210.4 Angular
-
Урок 61. 00:04:4810.5 Sveltkit
-
Урок 62. 00:04:2210.6 Миграция проектов
Главный принцип - делать максимально изолированные компоненты, все что они должны уметь - принимать параметры через пропсы, и отдавать данные через события. Вся логика в сторе или в композаблах(vue), выполнять логику только на верхнем уровне - в странице. Если вызываешь апишку непосредственно в форме поиска - застрелись, если в компоненте кнопки подключил стор - спрыгни со скалы. И не нужна никакая строгая организация папок, которая только путаницу вводит. Старая добрая папка components - все что нужно, все к ней привыкли.
Создали черт пойми какую систему, чтобы придать себе важности, а как ей пользоваться сами до конца не могут договориться