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

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 พ.ย. 2024

ความคิดเห็น • 174

  • @xlok1e-it
    @xlok1e-it  9 หลายเดือนก่อน +3

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

    • @LION-jq9ve
      @LION-jq9ve 8 หลายเดือนก่อน

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

  • @ДаниярСалихов-ч8я
    @ДаниярСалихов-ч8я 8 หลายเดือนก่อน +4

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

    • @xlok1e-it
      @xlok1e-it  8 หลายเดือนก่อน

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

  • @Sergfio_S.F
    @Sergfio_S.F 9 หลายเดือนก่อน +7

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

    • @Sergfio_S.F
      @Sergfio_S.F 9 หลายเดือนก่อน +5

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

    • @Alex-lc5gs
      @Alex-lc5gs 5 หลายเดือนก่อน +4

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

    • @cpt_blackmore
      @cpt_blackmore 3 วันที่ผ่านมา

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

  • @KarasikHelen
    @KarasikHelen 9 หลายเดือนก่อน +6

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

    • @KarasikHelen
      @KarasikHelen 9 หลายเดือนก่อน +2

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน +1

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

  • @-NiKoLaY
    @-NiKoLaY 9 หลายเดือนก่อน +27

    "Каждый пост тоже будет являться виджетом" (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 9 หลายเดือนก่อน +4

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน +15

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

    • @Genorred
      @Genorred 7 หลายเดือนก่อน +3

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

    • @vgsnva
      @vgsnva 7 หลายเดือนก่อน +2

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

    • @flymorechannel9064
      @flymorechannel9064 5 หลายเดือนก่อน +2

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

  • @atmospheric_b
    @atmospheric_b 8 หลายเดือนก่อน +3

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

    • @xlok1e-it
      @xlok1e-it  8 หลายเดือนก่อน

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

  • @ByEfimov
    @ByEfimov 9 หลายเดือนก่อน +9

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @DanilGoncharov-tl2cm
    @DanilGoncharov-tl2cm 4 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  4 หลายเดือนก่อน

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

  • @RamaRama-qv3jo
    @RamaRama-qv3jo 9 หลายเดือนก่อน +6

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @FuriousBoreas
    @FuriousBoreas 9 หลายเดือนก่อน +2

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน +1

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

  • @MatveiBelo-wb9hd
    @MatveiBelo-wb9hd 9 หลายเดือนก่อน +12

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน +2

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

    • @vovka_goodwin
      @vovka_goodwin 9 หลายเดือนก่อน +3

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

    • @atmalive
      @atmalive 8 หลายเดือนก่อน

      @@vovka_goodwin +++

  • @OlegSlavgorodsky
    @OlegSlavgorodsky 9 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน +1

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

    • @ddflruc
      @ddflruc 5 หลายเดือนก่อน

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

  • @vorontsovru270895
    @vorontsovru270895 9 หลายเดือนก่อน +2

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @kubataiupov1245
    @kubataiupov1245 9 หลายเดือนก่อน +1

    Horosho razlojil po polochkam, spasibo.

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน +1

      Pojalusta, rad staratsya) ✊

  • @oinn6216
    @oinn6216 9 หลายเดือนก่อน +2

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

    • @oinn6216
      @oinn6216 9 หลายเดือนก่อน +1

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

  • @georgekondrashevsky3532
    @georgekondrashevsky3532 9 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @vladr3022
    @vladr3022 9 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @gamspi9591
    @gamspi9591 9 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @Вадим-й8п4з
    @Вадим-й8п4з 8 หลายเดือนก่อน +2

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

    • @xlok1e-it
      @xlok1e-it  8 หลายเดือนก่อน

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

  • @MaximSeleznev
    @MaximSeleznev 9 หลายเดือนก่อน +2

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @_boolive_
    @_boolive_ 5 หลายเดือนก่อน +2

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

  • @danildanilov9047
    @danildanilov9047 9 หลายเดือนก่อน +4

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน +1

      Спасибо✊

  • @Кирилл-у3г6ы
    @Кирилл-у3г6ы 9 หลายเดือนก่อน +6

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน +1

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

    • @singularity3901
      @singularity3901 9 หลายเดือนก่อน +2

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

    • @rexdraconis1703
      @rexdraconis1703 9 หลายเดือนก่อน

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

  • @Arablinka
    @Arablinka 9 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @vlad9931
    @vlad9931 7 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  7 หลายเดือนก่อน

      Спасибо)

  • @evdokia2342
    @evdokia2342 9 หลายเดือนก่อน +2

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

  • @katherinerodriguez5265
    @katherinerodriguez5265 9 หลายเดือนก่อน +37

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน +11

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

    • @vovka_goodwin
      @vovka_goodwin 9 หลายเดือนก่อน +2

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

    • @melitopol_Russia
      @melitopol_Russia 9 หลายเดือนก่อน +4

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

    • @gapragapr
      @gapragapr 9 หลายเดือนก่อน

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

    • @astkh4381
      @astkh4381 9 หลายเดือนก่อน

      Я сказал.

  • @es7729
    @es7729 9 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @atmalive
    @atmalive 8 หลายเดือนก่อน +2

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

  • @arinqwerty
    @arinqwerty 9 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน +1

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

  • @DubinArtur
    @DubinArtur 8 หลายเดือนก่อน +3

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

    • @xlok1e-it
      @xlok1e-it  8 หลายเดือนก่อน

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

    • @belozyorcev
      @belozyorcev 17 วันที่ผ่านมา

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

  • @danil-goncharenko
    @danil-goncharenko 8 หลายเดือนก่อน +1

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

  • @tahrizade
    @tahrizade 8 หลายเดือนก่อน +2

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

    • @xlok1e-it
      @xlok1e-it  8 หลายเดือนก่อน +1

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

  • @malyuga4726
    @malyuga4726 9 หลายเดือนก่อน +3

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @VitaliKarepanau
    @VitaliKarepanau 8 หลายเดือนก่อน +7

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

    • @atmalive
      @atmalive 8 หลายเดือนก่อน +1

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

    • @VitaliKarepanau
      @VitaliKarepanau 8 หลายเดือนก่อน +3

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

    • @crypto_has_you
      @crypto_has_you 2 หลายเดือนก่อน

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

  • @ДмитрийСитников-ш2х
    @ДмитрийСитников-ш2х 9 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @twink7077
    @twink7077 9 หลายเดือนก่อน +2

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน +1

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

  • @ruvim_night
    @ruvim_night 9 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @uzer-124-90sdj
    @uzer-124-90sdj 8 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  8 หลายเดือนก่อน

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

    • @grav1tone
      @grav1tone 8 หลายเดือนก่อน +1

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

  • @champ__champ
    @champ__champ 8 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  8 หลายเดือนก่อน

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

  • @danilosgamer9832
    @danilosgamer9832 9 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @pika4u380
    @pika4u380 5 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  5 หลายเดือนก่อน +1

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

    • @pika4u380
      @pika4u380 5 หลายเดือนก่อน

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

  • @ИгорьЛисимов
    @ИгорьЛисимов 7 หลายเดือนก่อน +2

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

    • @xlok1e-it
      @xlok1e-it  7 หลายเดือนก่อน

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

  • @mironbarykin2379
    @mironbarykin2379 7 หลายเดือนก่อน +1

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

  • @yebfudeu3313
    @yebfudeu3313 6 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  6 หลายเดือนก่อน +1

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

    • @yebfudeu3313
      @yebfudeu3313 6 หลายเดือนก่อน

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

  • @kaiju668
    @kaiju668 9 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @janedow
    @janedow 9 หลายเดือนก่อน +2

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @victorm7551
    @victorm7551 6 หลายเดือนก่อน +1

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

  • @Илья-э7ю9в
    @Илья-э7ю9в 8 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  8 หลายเดือนก่อน

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

    • @Илья-э7ю9в
      @Илья-э7ю9в 8 หลายเดือนก่อน

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

  • @rexdraconis1703
    @rexdraconis1703 9 หลายเดือนก่อน +1

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

  • @dsfdsfsdfsdfsddf
    @dsfdsfsdfsdfsddf 8 หลายเดือนก่อน

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

  • @MaverickAdd
    @MaverickAdd 9 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @nan-simon
    @nan-simon 9 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน +1

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

    • @АйдарЯлаев-ь2ш
      @АйдарЯлаев-ь2ш 9 หลายเดือนก่อน +2

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

  • @rexdraconis1703
    @rexdraconis1703 9 หลายเดือนก่อน +1

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

  • @SmallWish
    @SmallWish 9 หลายเดือนก่อน +1

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

    • @chirkov
      @chirkov 9 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @Ash-g8p
    @Ash-g8p 9 หลายเดือนก่อน +2

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน +1

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

  • @oldiBerezkoo
    @oldiBerezkoo 9 หลายเดือนก่อน +1

    Достойно

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @stewart6395
    @stewart6395 3 หลายเดือนก่อน +1

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

  • @alexanderpoker6655
    @alexanderpoker6655 9 หลายเดือนก่อน +2

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

    • @alexanderpoker6655
      @alexanderpoker6655 9 หลายเดือนก่อน +1

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

  • @Grozny446
    @Grozny446 9 หลายเดือนก่อน

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน +2

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

  • @СергейКатин-т2ы
    @СергейКатин-т2ы 4 หลายเดือนก่อน +2

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

    • @xlok1e-it
      @xlok1e-it  4 หลายเดือนก่อน

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

    • @arseniyyyyyyy
      @arseniyyyyyyy 4 หลายเดือนก่อน

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

  • @vovka_goodwin
    @vovka_goodwin 9 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @astkh4381
    @astkh4381 9 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @talantasanov4973
    @talantasanov4973 9 หลายเดือนก่อน

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน

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

  • @atmalive
    @atmalive 8 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  8 หลายเดือนก่อน

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

  • @stasostrin47
    @stasostrin47 9 หลายเดือนก่อน +2

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

  • @omak3313
    @omak3313 9 หลายเดือนก่อน +2

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

    • @xlok1e-it
      @xlok1e-it  9 หลายเดือนก่อน +1

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

  • @uzer-124-90sdj
    @uzer-124-90sdj 8 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  8 หลายเดือนก่อน

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

  • @frontfromsofa
    @frontfromsofa 5 หลายเดือนก่อน +2

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

  • @vl_rotche
    @vl_rotche 8 หลายเดือนก่อน +2

    ужОссс

  • @ne4to777
    @ne4to777 8 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  8 หลายเดือนก่อน

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

  • @VA-tb5fy
    @VA-tb5fy 4 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  4 หลายเดือนก่อน +1

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

  • @JohnDoe-eo9lc
    @JohnDoe-eo9lc 8 หลายเดือนก่อน +1

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

  • @fresonn
    @fresonn 9 หลายเดือนก่อน +1

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

  • @TahomaID
    @TahomaID 8 หลายเดือนก่อน +1

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

    • @xlok1e-it
      @xlok1e-it  8 หลายเดือนก่อน

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

  • @paulmalys
    @paulmalys 4 วันที่ผ่านมา

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

  • @crypto_has_you
    @crypto_has_you 2 หลายเดือนก่อน

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