Архитектура в React: правильная структура приложения [Frontend]

Поділитися
Вставка
  • Опубліковано 23 гру 2024

КОМЕНТАРІ • 176

  • @xlok1e-it
    @xlok1e-it  10 місяців тому +3

    💥Полезный контент про разработку + памятка FSD - t.me/xlok1e/21
    UPD: Слой Processes устарел и больше не используется

    • @LION-jq9ve
      @LION-jq9ve 9 місяців тому

      Есть такой инструмент Plantuml, это слой архитектуры. Обычно этот слой скрывают от команды. Его создают и потом практически не меняют, держат в секрете. Не мудрено что автор ничего не знает про слой архитектуры системы. Так же есть слой архитектуры бизнеса, Bpmn используют в основном. Это в ещё большей секретности держат. И как правило стараются архитектуру на bpmn выносить за пределы кода, максимум в лоу код. В обще автор молод, бизнес аналитика это удел топов, но это и самая интересная компетенция. Обычно это кто старше 40, а то и 50. С опытом не только фронтенд бэкэнд но и ассемблер порой армовский, чтобы видеть глубоко от общего к частному архитектуру разрабатываемой системы.

  • @-NiKoLaY
    @-NiKoLaY 10 місяців тому +29

    "Каждый пост тоже будет являться виджетом" (5:51) - вот тут по моему есть небольшая ошибка.
    Виджетом тут будет являться весь PostList, который эти посты рендерит.
    А каждый пост это entity, который пропсом принемает какие либо actions (в нашем случае это лайк и коммент поста, которые пробрасываются ему в момент рендера в PostList). Сам PostCard (entity) абсолютно не знает, что за actions он будет принимать, но эти actions он внутри себя просто отрисовывает, если они есть.
    То, что кнопка лайка была названа виджетом (6:05), попахивает нарушением правил FSD, потому что в этом случае пост ( ранее тоже названый виджетом ) использует внутри себя другой виджет ( вот эту кнопку лайка ), а разрешено использовать только нижележащие слои. Лично я бы положил эту кнопку лайка в "ui" сегмент фичи, которая также отрисовывает и количество лайков конкретного поста ( во время рендера можно ведь прокинуть id конкретного поста, а дальше уже дело фичи отрисовать количество ).
    На счет того, что "фото" было помещено в entities тоже у меня возникают какие-то сомнения - фото это просто фото же, а entities - я частенько даю им такое определение - это как бы визуальная репрезентация того, что хранится в базе данных. Ну например PostCard это же entity, который показывает в виде карточки ту информацию, что хранится в бд.
    Кстати, разве слой processes не вычеркнули?
    (9:39) Лично я предпочел бы хранить "api" сегмент или запрос к серверу в том же модуле (slice), в котором он используется (например features/like-post/api/ ), просто чтоб все было рядом и не шататься между разными слоями, но это уже не правило FSD.
    По остальному примечаний у меня вроде нет, а кто хочет еще подробнее про FSD - рекомендую у UlbiTV посмотреть ролик про архитектуры фронта. Потом можно на официальном сайте посмотреть документацию и примеры работ, а дальше... только практика, всем удачи🤞

    • @easystyle3378
      @easystyle3378 10 місяців тому +5

      Когда-нибудь люди поймут в 2024, что реакт не актуален про сравнению с его конкурентами.(P.S. Ангулару он даже в подметки не годится)

    • @xlok1e-it
      @xlok1e-it  10 місяців тому +16

      Привет! Спасибо за такой подробный комментарий. Я прочел, и на самом деле по общему счету ты прав, я ошибся, за что прошу прощения. Не хватило информации об устаревшем слое. Я все это учту и постараюсь впредь быть более внимательным

    • @Genorred
      @Genorred 8 місяців тому +5

      @@easystyle3378 поставлю за тебя свечку в церкве пожалуй

    • @vgsnva
      @vgsnva 8 місяців тому +2

      А можешь рассказать как это помогает программировать? Пока я вижу только чистую субъективщину( кто как понимает так и делает, а каждый понимает так как ему удобно с его угла зрения). Просто хотелось бы на практике увидеть как это помогает вносить новые фичи, переделывать старые.

    • @flymorechannel9064
      @flymorechannel9064 6 місяців тому +3

      @@vgsnva Это очень сильно помогает в структурировании проекта, когда у тебя 100500 файлов/папок и так далее. Помогает не запутаться в проекте в будущем и создает понятную структуру

  • @Sergfio_S.F
    @Sergfio_S.F 10 місяців тому +7

    Когда то и я абсолютно идентично относился к отношениям и семье. Это и есть главная ошибка, так как есть отношения, есть семья. Два абсолютно разных измерений. Имея семью: супругу и детей. Нужно и судить исходя из этого факта. Потому что ты уже не холостой парень, ты лично отвечаешь за детей. Это твое решение и решение супруги взять такую огромную ответственность на себя. Соответсвенно, вы должны детям обеспечить: детство, здоровое самолюбие и адекватную самооценку. Разрушая брак, рушиться их психика.
    Это все априори подразумевает что вы оба с супругой будете делать все для обратного. Это не просто.
    Думаете о браке? Значит прими следующее: все проблемы можно решить. Рушить брак, это не обсуждаться. Это фундамент, на котором нужно строить.
    Не готовы? Не делайте детей.
    Смотря на некоторых родителей, возникает вопрос - почему нету до сих пор что-то вроде обязательных «курсов для будущих родителей» много чего станет лучше, что касается воспитания.
    Я конечно не думаю, что Эдвард прочтет это, но поскольку считаю эту инфу очень важной, может кому-то поможет.

    • @Sergfio_S.F
      @Sergfio_S.F 10 місяців тому +5

      Вот это прикол…что то у ютуба пошло не так. Я этот комментарии вообще под другим видео оставлял. А это, видео, про реакт было следующее. Жесть. Удалить комментарии? Совсем не в тему. Но спасибо за лайк! 👍🏼

    • @Alex-lc5gs
      @Alex-lc5gs 6 місяців тому +4

      @@Sergfio_S.F читал до конца внимательно пытаясь понять суть того что написано и как оно связано с темой

    • @cpt_blackmore
      @cpt_blackmore Місяць тому +2

      Мне уже показалось, тут какая-то сложная аналогия, начал представлять, что дети - это срезы слоёв-родителей и т.д. 😅

    • @Ardbot
      @Ardbot 12 днів тому

      Хах, а я думал, что нужны курсы как построить правильную иерархию в семье 😅

  • @ДаниярСалихов-ч8я
    @ДаниярСалихов-ч8я 9 місяців тому +4

    Неплохое видео, спасибо.
    FSD: добавлю, что начиная работать с fsd не надо упарываться в декомпозицию - достаточно выбрать основной слой(например, pages или features) и писать весь код там, а дальше уже по мере необходимости декомпозировать.
    Как декомпозировать - это вопрос вкуса - примерно, как сортировать папки на компьютере. Нет единственно верного варианта.
    По итогу, FSD - это инструмент, который дает качественные, универсальные абстракции, способные эффективно структурировать код в большинстве доменов.

    • @xlok1e-it
      @xlok1e-it  9 місяців тому

      Привет. Спасибо за комментарий, ты написал все верно)

  • @atmospheric_b
    @atmospheric_b 9 місяців тому +3

    Спасибо большое, Егор! Очень доступно о сложном

    • @xlok1e-it
      @xlok1e-it  9 місяців тому

      Привет. Тебе спасибо за просмотр! Рад помочь!)

  • @ByEfimov
    @ByEfimov 10 місяців тому +9

    КАК же долго я ждал таких видео!! жду еще твоих роликов!

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Привет! Очень теплые слова, спасибо) Вскоре выпущу еще много полезного, забегай)

  • @KarasikHelen
    @KarasikHelen 10 місяців тому +6

    Мы испрльзуем принцип fsd, но подогнали под себя. Добавили слой routers между app и остальными. И сократили другие слои. Так между app и shared мы оставили entities и features(объединяем несколько сущностей), иногда pages для объединения фичей. И после добавили routers. Очень удобно вышло 👍🏻

    • @KarasikHelen
      @KarasikHelen 10 місяців тому +2

      Проблемы есть только с типом для AppState от стора редакса. Мы хитрые и сделали реэкспорт из shared 😮

    • @xlok1e-it
      @xlok1e-it  10 місяців тому +1

      Привет! Интересно получилось, спасибо, что поделились)

  • @RamaRama-qv3jo
    @RamaRama-qv3jo 10 місяців тому +6

    Отличный контент и подход к подаче материала, приятно слышать и видеть) Очень просто о сложном, так держать)

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Спасибо за поддержку, рад стараться!)

  • @FuriousBoreas
    @FuriousBoreas 10 місяців тому +2

    Не фронт разработчик, но фронтовые задачи иногда делаю, понравилась вариация фиче ориентированной концепции, когда компоненты лежат в рамках фич, и выносятся на уровень иерархии так чтобы использоваться только в дочерних папках, но не в родительских, общие базовые же компоненты типо кнопок, тогглов, тупых иконок и тд используемых в нескольких фичах можно вынести в отдельный проект или папку. Потому что для большого приложения условные папка components заспамилась настолько сильно, что проще что-то найти через поиск по возможному имени файла, чем скроллить компоненты.

    • @xlok1e-it
      @xlok1e-it  10 місяців тому +1

      Привет! Да, очень тяжело работать, когда все скинуто в одну папку. Наступает хаос и масштабировать проект становится сложно)

  • @DubinArtur
    @DubinArtur 9 місяців тому +3

    "Этой технологией пользуются программисты из Яндекса". Не Яндекс в своих проектах использует, в просто программисты где-то используют

    • @xlok1e-it
      @xlok1e-it  9 місяців тому

      Привет. Яндекс сам продвигает эту методологию на своих митапах и других мероприятиях. На сайте FSD есть список компаний, которые ее используют, помимо Яндекса там немало русскоязычных гигантов

    • @belozyorcev
      @belozyorcev Місяць тому

      ​@@xlok1e-itне Яндекс, а некоторые из сотен команд.

  • @Кирилл-у3г6ы
    @Кирилл-у3г6ы 10 місяців тому +6

    слой процессов deprecated же? вроде как писали что он особо не нужен и отменили

    • @xlok1e-it
      @xlok1e-it  10 місяців тому +1

      Привет. Это так, он уже не используется. Забыл об этом упомянуть

    • @singularity3901
      @singularity3901 10 місяців тому +2

      кем отменён? где-то есть консорциум и стандарт?

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Не понял твой вопрос немного

    • @rexdraconis1703
      @rexdraconis1703 10 місяців тому

      ​@@singularity3901вово. В отличие от бека, на фронте каждый как хочет пишет.

  • @DanilGoncharov-tl2cm
    @DanilGoncharov-tl2cm 5 місяців тому +1

    Очень приятно слушать, все просто и понятно!

    • @xlok1e-it
      @xlok1e-it  5 місяців тому

      Привет! Большое спасибо!

  • @_boolive_
    @_boolive_ 6 місяців тому +2

    Как то вы странно понимаете FSD. Не надо буквально как есть подгонять под свой проект описанные термины. Главная идея - группировать логику по фичам, а не типам. Например вместо общих папок для компонентов или состояния делайте папку фичи, например "каталог" и в ней уже и компонент каталога и состояние каталога . Кроме фич в архитектуре приложения понадобятся дополнительные слои, например для объединения всех фич в единый флоу (app), для стандартизации ui - библиотека ui-kit или просто утилиты - вот они и образует "слои" с названиями какие вам будут понятнее).

  • @MatveiBelo-wb9hd
    @MatveiBelo-wb9hd 10 місяців тому +12

    FSD очень сильно распиарена и переоценена). В большинстве случаев достаточным будет:
    1. Понятное распределение файлов по известным директориям: redux, components - ui-kit, hooks, contexts, api.
    2. Умение писать понятный, чистый код. Декомпозировать, выносить логику в хуки.

    • @xlok1e-it
      @xlok1e-it  10 місяців тому +2

      Привет. То, что ты написал имеет смысл. В большинстве случаев это идеально подойдет. Но есть и правда очень загруженные проекты, работа с которыми вызывает сильную головную боль без правильной организации. Опять таки каждый сам для себя выбирает как и с чем ему работать. Главное, чтобы было удобно)

    • @vovka_goodwin
      @vovka_goodwin 10 місяців тому +3

      Если у тебя проект небольшой то фсд создаст больше проблем чем пользы, но как только проект становится более или менее большим и в папке components будет хотя бы 50 компонентов тогда начнутся проблемы, на мой взгляд фишка фсд в уменьшении связанности файлов. У этой методологии есть проблемы с переходом на нее потому что привыкнуть к ее сущностям и легко определять что к чему относится бывает не так просто

    • @atmalive
      @atmalive 9 місяців тому

      @@vovka_goodwin +++

  • @kuzobaev.kamchybek
    @kuzobaev.kamchybek 16 днів тому +1

    Спасибо, большое.
    👍

  • @OlegSlavgorodsky
    @OlegSlavgorodsky 10 місяців тому +1

    Спасибо! У тебя хорошая подача материала. Полезно и для PM'ов.

    • @xlok1e-it
      @xlok1e-it  10 місяців тому +1

      Всегда пожалуйста) Забегай, если что, посмотреть будущие видео) ✊

    • @ddflruc
      @ddflruc 6 місяців тому

      Действительно хорошая подача.
      Вот только бы еще проверка озвученной информации была бы подтверждена реальной практикой автора канала.
      Пересказ доков и формальный пример минимальной сложности может привести любой))

  • @oinn6216
    @oinn6216 10 місяців тому +3

    8:55 - "для тех кто только напичает..... может показаться сложным и непонятным" - я тебе больше скажу, я в разработке много лет и если бы я не знал эти архитектуры я бы ничего не понял из видео, особенно слово "срезы" что это вообще такое )))))

    • @oinn6216
      @oinn6216 10 місяців тому +1

      А, понял, ты дословно с английского перевел slice. Не нужно так делать, нужно адаптировать слово ))) Так как в английском могут быть еще другие значения: a part or share of something, especially an amount of money

  • @VitaliKarepanau
    @VitaliKarepanau 9 місяців тому +7

    Обе архитектуры не жизнеспособны на крупных, развивающихся проектах:
    В первой проблема постоянных скачков между частями приложения, что в случае работы более 5 человек в параллели выльется в трэш с мержами.
    Во второй запаришься компоненты из папочки в папочку перекидывать. И это с учетом того, что паттерн был разработан для юай библиотек, а не для проектов.

    • @atmalive
      @atmalive 9 місяців тому +1

      расскажите, куда смотреть?)

    • @VitaliKarepanau
      @VitaliKarepanau 9 місяців тому +3

      @@atmaliveзависит от ситуации - не бывает идеальной архитектуры, которая все решает.
      1. В любом случае накосячите с выбором архитектуры и придется менять/переписывать и т.д. все собственно как и с кодом
      2. Имеет смысл всегда думать о базовых вещах:
      а. Бизнес логика всегда отдельно от презентационной логики (это про вью и контроллеры, фабрики, сервисы - можно назвать как угодно, смысл в том, что если есть возможность разделить ответственность - ее необходимо разделить)
      б. все связанное с конкретной задачей должно быть в одном месте (есть у вас фича и все по этой фиче должно быть в одной папочке (древе папочек), исключение - переиспользуемая часть, НО с переиспользлванием нужно быть аккуратным, если много условий в одном месте - значит это уже не переиспользуемый функционал, а разный, который почему-то смержили в одном месте - и лучше иметь 10 разных копий, чем одну, но с кучей условий)
      в. Вся группировка базируется только и только на основе задач, которые решает та или иная часть приложения (не по размеру как атомик, не по группам, как в базовом мвс, а именно по логичным человеческим задачам)
      В целом все равно любую архитектуру потом исправляют докручивают. Главное знать основы, а дальше думать, что работает для команды, а что нет.

    • @crypto_has_you
      @crypto_has_you 3 місяці тому

      ​@@VitaliKarepanauу меня как раз родилась такая проблема, как вы описали в 2.б. решил тупо копировать и добавлять в комплекте функционал под каждую страницу, потому что невозможно было поддерживать переиспользуемый компонент с переполненным функционалом в зависимости от условий пропсов. Дизайнер захотел везде один комплект по сути, но с кучей разных функций дополнительных

  • @vorontsovru270895
    @vorontsovru270895 10 місяців тому +2

    Хорошая и чёткая подача, хороший ролик. Особенно порадовало качество звука (сорри, я немного профдеформирован в этом вопросе=))
    Мне как шарповому бекендеру периодически бывает интересно как там фронты поживают, что и как пишут и тд)

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Привет, огромное спасибо, очень приятно)

  • @atmalive
    @atmalive 9 місяців тому +2

    а еще совет))) не облайкивать комментарии. Я столкнулся с баном от ютуба за лайки всех комментов к своим видео, якобы за "спам" и не разбанили же ведь(

  • @malyuga4726
    @malyuga4726 10 місяців тому +3

    С папкой App не совсем понял. Зачем там размещать fonts и styles если ты сказал, что общие компоненты должны быть размещены в shared?

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Привет. Я подразумевал, что fonts и style у нас являются глобальными, следовательно можем поместить их в слой настроек приложения)

  • @uzer-124-90sdj
    @uzer-124-90sdj 9 місяців тому +1

    user post wallet это сущности, а в коде эти сущности выглядят как компоненты, которые мы просто храним в папке entities?

    • @xlok1e-it
      @xlok1e-it  9 місяців тому

      Привет. Все, что отображает визуал entities мы храним в ui сегменте

    • @grav1tone
      @grav1tone 9 місяців тому +2

      Чем являются entities, если мы говорим о реакт приложении? Компонентами, типами, сторами и экшенами или классами?

  • @kubataiupov1245
    @kubataiupov1245 10 місяців тому +1

    Horosho razlojil po polochkam, spasibo.

    • @xlok1e-it
      @xlok1e-it  10 місяців тому +1

      Pojalusta, rad staratsya) ✊

  • @georgekondrashevsky3532
    @georgekondrashevsky3532 10 місяців тому +1

    Спасибо, отличный контент, то что искал!

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Привет, рад, что тебе понравилось) Скоро выпущу много всего интересного, забегай ✊

  • @pika4u380
    @pika4u380 6 місяців тому +1

    Что за набор иконок в vs code на превью?

    • @xlok1e-it
      @xlok1e-it  6 місяців тому +1

      Привет. Это не скрин с IDE. Превью мной сделано полностью. Но иконки Material Icons, если вдруг нужно

    • @pika4u380
      @pika4u380 6 місяців тому

      @@xlok1e-it спасибо)

  • @tahrizade
    @tahrizade 10 місяців тому +2

    а покажи внутри реалного проекта . реалном проекте их много. хотел бы посмотреть

    • @xlok1e-it
      @xlok1e-it  10 місяців тому +1

      Привет. Да, мне уже об этом писали. У них на оффициалтном сайте есть много примеров проектов с их методологией. Но если вдруг будет интересно, то я запишу обзор на один из таких проектов, либо попробуем сделать декомпозицию, только дайте знать)

  • @evdokia2342
    @evdokia2342 10 місяців тому +2

    Опа, давно хотел про fsd узнать))

  • @Илья-э7ю9в
    @Илья-э7ю9в 9 місяців тому +1

    А разве такие компоненты как форма для добавления поста, поле добавления комментария, а так же кнопка с лайками не уходят в фичи? По идеи они как раз отвечают за действия.

    • @xlok1e-it
      @xlok1e-it  9 місяців тому

      Привет, да. Сами инпуты являются переиспользуемыми компонентами, а уже функционал для добавления поста или написание комментария отнесем в фичи, это действия пользователя. Возможно я неточно донес свою мысль, прошу за это прощения, постараюсь быть внимательнее

    • @Илья-э7ю9в
      @Илья-э7ю9в 9 місяців тому

      @@xlok1e-it В целом хорошо всё объяснил! Это я просто нюанс хотел уточнить)

  • @kaiju668
    @kaiju668 10 місяців тому +1

    привет, а как называется пак иконок который в превью?

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Привет. Превью я сам делал, так что пака с иконками такого нет) Но иконки взял из material symbols, может пригодится)

  • @yebfudeu3313
    @yebfudeu3313 7 місяців тому +1

    Можешь рассказать пожалуйста бро, если сделать сайт на чистом реакт используя компоненты и т.л., можно ли это назвать веб приложением?

    • @xlok1e-it
      @xlok1e-it  7 місяців тому +1

      Привет! Веб-приложение это по сути лишь программа, которая выполняется на веб-сервере и доступна через браузер. Использование компонентов позволяет создавать интерактивные и динамичные пользовательские интерфейсы. Так что да)

    • @yebfudeu3313
      @yebfudeu3313 7 місяців тому

      @@xlok1e-it спс за ответ чувак, очень помог

  • @VA-tb5fy
    @VA-tb5fy 5 місяців тому +1

    слой processes яляется устаревшим же и в документации написано, что его лучше не использовать больше

    • @xlok1e-it
      @xlok1e-it  5 місяців тому +1

      Привет! Да, в закрепе об этом сказано

  • @gamspi9591
    @gamspi9591 10 місяців тому +1

    Хорошее видео. но когда распределял куда что соотнести. сказал, что карточка поста это виджет, но по докам это ui элемент entities. так как относиться к сущности поста.

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Привет. Спасибо за твой комментарий, я и в правду ошибся

  • @MaximSeleznev
    @MaximSeleznev 10 місяців тому +2

    Очень хорошо всё пояснил! Благодарю!

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Большое спасибо ✊

  • @dsfdsfsdfsdfsddf
    @dsfdsfsdfsdfsddf 9 місяців тому

    Это с другой стороны не очевидная архитектура, вы в видео post, вынесли в виджеты, кто то выносит его в entities
    И еще такой вопрос, вы в виджеты вынесли отдельные блоки, но в таком случае, где будет лежать общий для всего приложения layout ? Явно уже не в виджетах, ведь он не может импортировать компоненты с собственного слоя

  • @champ__champ
    @champ__champ 9 місяців тому +1

    а nuxt какую архитектуру использует?)

    • @xlok1e-it
      @xlok1e-it  9 місяців тому

      Я с Nuxt не работал. Но предполагаю, что FSD можно и к Nuxt адаптировать, но там могут возникнуть конфликты.

  • @danildanilov9047
    @danildanilov9047 10 місяців тому +4

    Очень классные видосы,возобновил изучение фронта, очень мотивируешь:) продолжай в том же духе:)

    • @xlok1e-it
      @xlok1e-it  10 місяців тому +1

      Спасибо✊

  • @vladr3022
    @vladr3022 10 місяців тому +1

    привет, классный видос ) расскажи больше про разные виды архитектуры и архитектуры на беке, и отличается ли архитектура на react native

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Привет, большое спасибо!) По поводу архитектуры: в планах записать более подробное видео. Про архитектуру на бэке подсказать не могу, в данной области не специалист к сожалению) И да, FSD можно и с react native интегрировать, не проблема)

  • @Вадим-й8п4з
    @Вадим-й8п4з 10 місяців тому +2

    Чувак, очень классный видос, я сейчас пишу новый проект, как раз думал разобрать эту методологию, подписываюсь на тебя со всех свои акков

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Привет. Огромное спасибо за поддержку, это правда невероятно приятно. Скоро запишу ещё много полезного, забегай) 🙌

  • @vlad9931
    @vlad9931 8 місяців тому +1

    Видео крутое, автор молодец !

  • @es7729
    @es7729 10 місяців тому +1

    Хорошее видео. Молодец!

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Привет. Спасибо за поддержку, приятно)

  • @katherinerodriguez5265
    @katherinerodriguez5265 10 місяців тому +39

    кто сказал, что это правильная структура frontend приложения?

    • @xlok1e-it
      @xlok1e-it  10 місяців тому +11

      Привет. Понятие правильная на самом деле у всех свое. Я рассказал про данные структуры, основываясь на своем коммерческом опыте и опыте других фронтенд разработчиков. Сейчас FSD используют практически все крупнейшие компании. И, вероятно, когда ты придешь в какой либо большой проект, в его стэк будет входить данная методология. + Она одна из самых удобных

    • @vovka_goodwin
      @vovka_goodwin 10 місяців тому +2

      А какая правильная?

    • @melitopol_Russia
      @melitopol_Russia 10 місяців тому +4

      я сказал, вопросы?

    • @gapragapr
      @gapragapr 10 місяців тому

      А кто сказал, что не правильная?

    • @astkh4381
      @astkh4381 10 місяців тому

      Я сказал.

  • @Arablinka
    @Arablinka 10 місяців тому +1

    Было бы классно если ты бы рассказал какие есть недостатки в atomic design

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Привет. Писал об этом с своем телеграмме. Лови ссылку сразу на этот пост - t.me/xlok1e/21

  • @victorm7551
    @victorm7551 7 місяців тому +1

    FSD не подходит по enterprise app

  • @crypto_has_you
    @crypto_has_you 3 місяці тому

    Как называется методология и является ли это методологией где следующая архитектура:
    1. Components (shared), переиспользуемые (кнопки, инпуты, лэйаут) может функции с хуками ещё
    2. Pages - собранные страницы, со своими папками компонентов, которые сделаны под эту страницу.
    У меня в чем проблема: компоненты вроде одинаковые,но вариация использования большая, то иконка добавляется в дроплист, то он мультипл ,а не соло, то модалка для создания или редактирования объекта, то такая же модалка, но только для просмотра. Пытался сделать с кучей пропсов для переиспользования, но в итоге компоненты так были переполнены функционалом, что решил идти по выше описанной методологии

  • @SmallWish
    @SmallWish 10 місяців тому +1

    А как функционально реализовать FSD? Условно у тебя в фьючерсках поставить лайк, и как ты перекинешь эту фьючерс в пропсы?

    • @chirkov
      @chirkov 10 місяців тому +1

      Состояние должно лежать в Редаксе или любом другом глобальном хранилище. Например entity -> post -> model -> тут слайс редакса и работа с ним

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Привет! В Features твоя задача реализовать механику постановки лайка и через public api экспортировать его и использовать уже далее в проекте. FSD это методология по которой ты будешь структурировать файлы в проекте, а как ты реализуешь дальнейшую работу зависать уже от требований проекта. Если вдруг какие то нюансы вызовут трудности, то в описании есть ссылка на документацию - она очень подробная и на русском языке!)

  • @ИгорьЛисимов
    @ИгорьЛисимов 8 місяців тому +2

    А лично мне проще воспринимать атомик, т.к. есть чёткое понимание структуры и функционала приложение и конкретный список "видов страниц".

    • @xlok1e-it
      @xlok1e-it  8 місяців тому

      Атомик не специализируется на приложениях со сложной бизнес логикой, а так очень даже хорош

  • @nan-simon
    @nan-simon 10 місяців тому +1

    Спасибо за объяснение, только на 9:10 вопрос про дублирование UI компонентов, что если есть одна и та же кнопка в post и user. Дублировать код?

    • @xlok1e-it
      @xlok1e-it  10 місяців тому +1

      Привет, спасибо за вопрос. UI-сегмент является уникальным для конкретного среза, то есть содержащаяся в нем логика не должна использовать больше нигде. Если у тебя есть одинаковая кнопка в разных срезах то она по своей сути является переиспользуемым компонентом. В крайних случаях можно дублировать логику, зависит от ситуации, но лучше максимально такого избегать

    • @АйдарЯлаев-ь2ш
      @АйдарЯлаев-ь2ш 10 місяців тому +2

      @nan-simon вытащи кнопку в фитчу, если она содержит бизнес логику. Для ui компонента сущности сделай пропс типа ReactNode. И по месту использования на уровни виджета или страницы сделай композицию сущности с фитчевым пропсом.

  • @alexanderpoker6655
    @alexanderpoker6655 10 місяців тому +2

    Без обид. Но, в видео вы просто пересказали(содрали) то, что написано на первых страницах документации FSD. Смысла данного видео не понимаю.

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Привет. Возможно мне стоит более подробно разобрать на примере данную методологию

    • @alexanderpoker6655
      @alexanderpoker6655 10 місяців тому +1

      @@xlok1e-it, да на примере какого-нибудь мини приложения было б не плохо. В русском сегменте проектов с архитектурой не видел. Будет + огромный. Тот же самый приславутый todolist

  • @Ash-g8p
    @Ash-g8p 10 місяців тому +2

    В fsd папка processes устарела

    • @xlok1e-it
      @xlok1e-it  10 місяців тому +1

      Привет. Да, ты прав. Я об это не сказал в видео. Сейчас его уже не используют

  • @danil-goncharenko
    @danil-goncharenko 9 місяців тому +1

    Нет я не веб-разработчик, но мне интерестно что тут происходит.

  • @janedow
    @janedow 10 місяців тому +2

    Думаю даже если это не удобная стркутура, то хотя бы будет стандарт, из-за которого будет легче ориентироваться в проекте

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Да, каждый всегда для себя что-то найдет) Что касательно удобства - то лично для меня и для многих других фронтенд разработчиков, в том числе из крупных организаций, данная методология очень упростила поддержку проекта в долгосрочной перспективе. А так, я всегда считаю, что надо делать так, как удобно лично тебе, однако забивать на такие факторы, как поддержка и масштабируемость - не лучшая перспектива)

  • @twink7077
    @twink7077 10 місяців тому +2

    Полезно, спасибо

    • @xlok1e-it
      @xlok1e-it  10 місяців тому +1

      Всегда пожалуйста) Заходи еще посмотреть если что, вскоре запишу много всего интересного ✊

  • @arinqwerty
    @arinqwerty 10 місяців тому +1

    спасибо за видео

    • @xlok1e-it
      @xlok1e-it  10 місяців тому +1

      Рад стараться) Надеюсь, что было полезно. Заходи если что ещё, вскоре будет немало интересного 🧑‍💻

  • @Grozny446
    @Grozny446 10 місяців тому

    Есть для некста туториал с фсд?

    • @xlok1e-it
      @xlok1e-it  10 місяців тому +2

      Привет. Разработчики на сайте оставили вот такую статью - feature-sliced.design/ru/docs/guides/tech/with-nextjs. Тут как раз про конфликты FSD + Next и как их избежать

  • @СергейКатин-т2ы
    @СергейКатин-т2ы 5 місяців тому +2

    Так и не понял, где же лежит бизнес логика? Неужели во фронте все думают только о том, как правильно файлы по папкам разложить?

    • @xlok1e-it
      @xlok1e-it  5 місяців тому

      Привет. Бизнес логика распределяется по нескольким слоям. К примеру Features реализует бизнес-логику взаимодействия пользователя с приложением. Но например Pages отвечает только за отображение страницы, а бизнес-логика переносится на нижележащие слои

    • @arseniyyyyyyy
      @arseniyyyyyyy 5 місяців тому

      Думаю есть альтернативный ответ на это вопрос, взял из доки, речь о сегментах: model - модель данных: схемы валидации, интерфейсы, хранилища и бизнес-логика.

  • @stewart6395
    @stewart6395 4 місяці тому +1

    5 лет разрабатываю на реакте. Понятие архитектура - довольно абстрактное. То что здесь рассказано - это организация директорий и файлов. Причем организация довольно запутанная и неочевидная. Никогда не буду ее применять и уж тем более советовать кому либо

  • @mironbarykin2379
    @mironbarykin2379 8 місяців тому +1

    11 минут уделено FSD
    1 минута уделена Atomic'у
    А в остальном хороший разбор FSD.

  • @ДмитрийСитников-ш2х
    @ДмитрийСитников-ш2х 10 місяців тому +1

    Не ну это подписка!

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Спасибо за поддержку!)

  • @ruvim_night
    @ruvim_night 10 місяців тому +1

    Спасибо Большое

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Пожалуйста, скоро запишу ещё полезностей, забегай)

  • @danilosgamer9832
    @danilosgamer9832 10 місяців тому +1

    Больше спасибо за объяснение!!! Все предельно понятно❤

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Спасибо за комментарий, рад стараться. Удачного изучения 🔥

  • @vovka_goodwin
    @vovka_goodwin 10 місяців тому +1

    Слой процессов дерекейтед уже почти год)

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Привет! Да, мне уже об этом писали. Не упомянул об этом в видео. Хотел рассказать про все слои, так что включил его в материал

  • @omak3313
    @omak3313 10 місяців тому +2

    Processes помечены как deprecated

    • @xlok1e-it
      @xlok1e-it  10 місяців тому +1

      Привет, это так. В видео забыл упомянуть. Написал об этом в закрепленном комментариии

  • @MaverickAdd
    @MaverickAdd 10 місяців тому +1

    О вау удачи тебе

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Спасибо большое ✊

  • @talantasanov4973
    @talantasanov4973 10 місяців тому

    я вот что понял на практике, на маленьких проектах лучше не внедрять fsd😂

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Привет! Ты прав, в маленьком проекте может принести больше вреда, нежели пользы. С другой стороны, если в будущем на проект есть планы, то методологию можно внедрять постепенно, а не сразу)

  • @astkh4381
    @astkh4381 10 місяців тому +1

    Привет, не мог бы ты рассказать о себе в какой ты компании работаешь?

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Привет. Спасибо, что поинтересовался. С недавних пор нигде не работаю. С головой ушел в контент: ютуб, телеграмм. Времени на это уходит не мало, поскольку хочу сделать качественно)

  • @rexdraconis1703
    @rexdraconis1703 10 місяців тому +1

    NX, вот где истина

  • @rexdraconis1703
    @rexdraconis1703 10 місяців тому +1

    Предлагаю такой подход:
    1) applications. Тут все понятно, если у вас есть допустим форум и магазин, глупо их делать в одной app, хотя и в разных проектах тоже не всегда хорошо, ведь могут существовать множественные связи.
    2)Название может быть разным, допустим Features. Отвечает за конкретный функционал: товары, заказы, корзина.
    3.1)модели: понятно
    3.2)data-access: сервисы, которые загружают наши модели из сервера
    3.3)pages: понятно, конкретнве страниця,
    3.4)components(widgets): тоже понятно.
    3.5)ui (только представления, без подгрузки с сервера)
    3.6) разные другие сервиса (гуарды, интерсепторы...), Могут быть перенесены на слои повыше.
    В общем, между этим и показанной структурой очень много схожего

  • @stasostrin47
    @stasostrin47 10 місяців тому +2

    Мне кажется образовательные каналы надо помечать какой то меткой , которую нужно заслужить... А то очень много субъективного мнения, а плохих роликов ещё больше

  • @atmalive
    @atmalive 9 місяців тому +1

    Привет. Все четко, но совет на будущее от проф оператора - не делай 60 кдров)) ни к чему

    • @xlok1e-it
      @xlok1e-it  9 місяців тому

      Привет, спасибо)

  • @oldiBerezkoo
    @oldiBerezkoo 10 місяців тому +1

    Достойно

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Благодарю🔥
      Заходи если что ещё посмотреть, вскоре запишу много всего интересного)

  • @uzer-124-90sdj
    @uzer-124-90sdj 9 місяців тому +1

    так авторизация это процесс или фича?
    На схеме у тебя auth находится в processes, а потом в примере из документации авторизация это фича

    • @xlok1e-it
      @xlok1e-it  9 місяців тому

      Привет. Слой процессов устарел, об этом в закрепленном комментарии написал. Использовать его больше нерационально. Следовательно авторизация - фича.

  • @frontfromsofa
    @frontfromsofa 6 місяців тому +2

    Далеко не лучших)

  • @vl_rotche
    @vl_rotche 9 місяців тому +2

    ужОссс

  • @ne4to777
    @ne4to777 9 місяців тому +1

    Какая-то каша на первый взгляд. Интересно глянуть какой-нить маркетплейс с этой структурой

    • @xlok1e-it
      @xlok1e-it  9 місяців тому

      Привет, у них на официальном сайте есть примеры различных приложений с использованием FSD, там можно глянуть)

  • @fresonn
    @fresonn 10 місяців тому +1

    пук-пук среньк fsd 🥱

  • @JohnDoe-eo9lc
    @JohnDoe-eo9lc 9 місяців тому +1

    Мда, компетенция ру девов, как всегда, низкая.

  • @TahomaID
    @TahomaID 10 місяців тому +1

    сколько нужно опыта чтобы понять это? ну не могу же я юыть таким тупым...

    • @xlok1e-it
      @xlok1e-it  10 місяців тому

      Привет. Понимание чего-либо всегда приходит на практике) Если ты сейчас чего-то не понимаешь, то не стоит убиваться и пытаться насильно забить себе голову. Пробуй, создавай и спустя время все встанет на свои места!

  • @paulmalys
    @paulmalys Місяць тому +2

    FSD - самая бездарная архитектура. 👎