Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 30

Фреймворк Steroids подходит для создания полноценного SPA приложения с продуманной архитектурой

управление состоянием, в том числе с использованием Redux, React Context;

Вы сделали 11 ошибок в слове плохой. Вместо SPA приложения с плохой архитектурой, вы по ошибке написали с продуманной.

Очнитесь, все адекватные люди последние 9 лет используют MobX в связке с React. В противном случае это просто очередной говнокод.
React нужно использовать по назначению, рендер html и жизненный цикл компонента, а управление состоянием, как глобальным, так и локальным - MobX.

Осильте уже что-то сложнее MobX. Внезапно будет и Redux не плох, если применять его к месту и руками.

Я использую RxJS и Inversify в связке с react и это работает. А Redux, это просто очень много размазанного по системе бойлерплейта. Может быть я чего-то не понимаю, но для меня дебажить и писать новые фичи с Redux сложнее и дольше.

RxJS + Inversify позволяет хранить структуру данных вместе с методами их обработки. Соблюдается принцип high cohesion. Я вижу в одном месте связанные логически вещи и инкапсулирую состояние. Появляется иерархия сервисов. От простых для работы с localstorage, до сложных бизнес сценариев (например многошаговые формы, я могу создать сервис для всех этапов, и сервисы для конкретного шага, что позволяет выстроить нормальные и слабозависимые друг от друга шаги и отдать их разным разработчикам).

Я использую RxJS и Inversify в связке с react

В принципе если машину толкать руками она тоже будет ехать (это RxJS и Inversify), только вопрос зачем?) Когда можно заправить ее бензином и завести (это MobX).

RxJS + Inversify позволяет хранить структуру данных вместе с методами их обработки.

Прикольно) MobX тоже) Как бы by design) Ну и так далее по тексту) Он покрывает все кейсы которые только захотите реализовать, с 0 оверхедом по коду и с максимально возможной читаемостью и понятностью кода. Ибо по сути он тупо нативный.

Лично мне кажется, что так больше контроля на потоком данных и соблюдается принципы low coupling и high cohesion. Ну вот как-то по субъективным ощущениям это работает луше.

Лично мне кажется, что так больше контроля на потоком данных и

Вам кажется. Больше контроля быть не может априори, ибо ровно ноль ограничений накладывает MobX.

соблюдается принципы low coupling и high cohesion

Хоспадя, что за новая мода пошла, увидели low coupling и high cohesion, теперь из каждого утюга о них поют. Жаль только с реальной жизнью всё это не контачит. Так что забудьте про эти глупости. Самое главное о чем стоить думать это KISS(Keep it simple stupid), а всё остальное второстепенно. Ну и принципы с MobX можно соблюдать какие душе угодно, всё по той же причине, отсутствие ограничений.

А вот с RxJS только write only once вырви глаз код, который поддерживать без слёз нереально можно соблюдать.

Ну вот как-то по субъективным ощущениям это работает лучше.

Это вам точно кажется)

React + mobx = Angular. Почему его тогда бы и не использовать? ))

Вы только что описани ООП и классы, от которых почему то реакт отказался. Почему?????

Я использовал как MobX, так и Redux. И ещё кучу менеджеров состояний. И мне было всегда удобно, не превращался код в кашу. Что я делаю не так? Как закривить руки, чтобы прямо в кашу?

Я использовал как MobX, так и Redux. И ещё кучу менеджеров состояний. 

Я тоже.

И мне было всегда удобно, не превращался код в кашу

Ага, а я живу на Марсе. Разница в коде и в том, как принято его писать используя Redux и Mobx просто колоссальная, это вообще небо и земля.

Что я делаю не так? Как закривить руки, чтобы прямо в кашу?

Всё просто, вы либо на самом деле не работали на проектах где есть redux и т.п., либо дальше Hello world ваши проекты не уходили. Потому что только тот кто реально не работал с redux и mobx не видит разницу. а уж тем более тот, кто говорит что проект где redux это не говнокод с кашей, так он вообще в принципе не работал на проекте с redux. Либо его представления о хорошем коде диаметрально противоположны хорошему коду, поэтому эта каша и говнокод не кажется кашей и говнокодом.

Плюс у вас написано, что вы Fullstack-программист, а front-end. Это тоже объясняет ваш ход мыслей.

Зачем? KISS, Keep It Simple, Stupid

KISS, Keep It Simple, Stupid

Вот вот, это самый главный и важный принцип в разработке любого ПО.

Тогда надо на Го переходить

Осильте уже что-то сложнее MobX

Зачем? А главное нафига?) Что-бы что? Нет ни одного кейса, где применение Redux и т.п. будет лучше, чем MobX. Уж тем более с точки зрения красоты, читаемости и понятности кода.

вы прямо Фьюзор описали

рендер html и жизненный цикл компонента, а управление состоянием, как глобальным, так и локальным - MobX

только в нем можно любой стейт менеджер подключить на пропсу { mount }

ну и раз нет состояния - то становится не нужен ре-рендеринг и хуки, жизненный цикл компонента сжимется в 4 состояния: create, mount, update, unmount

Очнитесь, все адекватные люди последние 9 лет используют MobX в связке с React.

Адекватные люди имеют это из коробки со Vue

Почему? По моему, как раз на Angular

Опять тут навязывают всякие структуры, чтобы говнокод случайно не написали, сделайте просто, чтобы собиралось без геморроя и без всяких топорных /app & /pages

Структуры никто не навязывает, но есть описание и примеры как можно делать (и которые мы у себя используем как правила). Но привязки к директориям (app & /pages ...) здесь нет

upd: и да, если не дать примера как делать — будут делать говнокод :) Либо прогеры будут крутые, но каждый напишет по своему.. и опять получится говнокод)

А, ну тогда совсем хорошо

Нафига redux/rtk когда есть Zustand

Нафига redux/rtk когда есть Zustand

Zustand - полу мера, да он немного получше redux/rtk, но ему далеко до MobX. А какой смыл использовать ни рыбу ни мясо, когда можно взять отличный инструмент и не страдать.

отличный инструмент и не страдать

при этом вы продолжаете использовать react)))

при этом вы продолжаете использовать react)))

Так React доставляет мне ровно 0 неудобств, только даёт плюсы, а удобнее JSX'a пока ничего не придумали. Я же его использую по назначению, как view. Для всего остального есть MobX) Поэтому мне и без разницы какой версией реакта пользоваться, 16, 17, 18, 19, 20, ..100 ) Всё что нужно для полноценной разработки любого приложения есть в 16 версии. Почему именно 16? Просто потому что useEffect удобнее чем componentDidMount, componentDidUpdate, componentWillUnmount. А аналог constructor это useState(() => {...})

Посмотрите ради интереса alpine, vue, svelte... Я после таких тулов, на проектах с реакт, как будто ем костлявую рыбу)) Не говоря уже о фундаментально устаревших вещах как virtual dom

Просто потому что useEffect 

ну вот тут оно же)) люди живут без этого)

Посмотрите ради интереса alpine, vue, svelte... Я после таких тулов, на проектах с реакт, как будто ем костлявую рыбу)

Я всё это видел много лет назад, и vue 2 и vue 3, и svelte и angular и inferno и т.д. и т.п.. Что только я не видел за последние 13 лет. И пробовал создавать проекты на них. Но react + mobx по сей день максимально удобны для разработки.

Не говоря уже о фундаментально устаревших вещах как virtual dom

Дайте мне копию синтаксиса React и MobX, а под капотом не будет virtual dom, да и на самом деле пофигу что там под капотом, если по реальным замерам оно будет реально работать быстрее, есть меньше памяти и т.п. То я сразу же на это пересяду без задних мыслей) Но увы, такого пока нет) А самому писать лень, ибо и так всё более чем устраивает мои потребности)

ну вот тут оно же)) люди живут без этого)

Я в своё время реализовывал его и для классовых компонентов, это легко

export class MyComponent extends BaseComponent {
  constructor() {
    this.useEfftct(() => {...});
    this.useEfftct(() => {...}, () => [this.props.name]);
  }
}

Чем Ангуляр плох? Вопрос без стеба, где фатальный недостаток?

Гляньте на Ангуляр... Ничего удобнее не придумали

Гляньте на Ангуляр... Ничего удобнее не придумали

Видел, кровь из глаз до сих пор течет

Зарегистрируйтесь на Хабре, чтобы оставить комментарий