home.social

#state_management — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #state_management, aggregated by home.social.

  1. Как избежать утечек памяти во Flutter

    Утечки памяти — одна из тех проблем, которые долго могут оставаться незаметными в мобильном приложении, а затем приводить к росту потребления ресурсов, снижению производительности и нестабильной работе интерфейса. Чаще всего причиной становятся ошибки в управлении жизненным циклом объектов, подписок и контроллеров. В данной статье рассмотрим, какие ошибки чаще всего приводят к утечкам памяти во Flutter, как их обнаруживать и какие практики помогают избежать подобных проблем в реальных проектах.

    habr.com/ru/articles/1035256/

    #Flutter #memory_leaks #утечки_памяти #dispose #Flutter_DevTools #StreamSubscription #state_management #tracker #производительность

  2. Как избежать утечек памяти во Flutter

    Утечки памяти — одна из тех проблем, которые долго могут оставаться незаметными в мобильном приложении, а затем приводить к росту потребления ресурсов, снижению производительности и нестабильной работе интерфейса. Чаще всего причиной становятся ошибки в управлении жизненным циклом объектов, подписок и контроллеров. В данной статье рассмотрим, какие ошибки чаще всего приводят к утечкам памяти во Flutter, как их обнаруживать и какие практики помогают избежать подобных проблем в реальных проектах.

    habr.com/ru/articles/1035256/

    #Flutter #memory_leaks #утечки_памяти #dispose #Flutter_DevTools #StreamSubscription #state_management #tracker #производительность

  3. Как избежать утечек памяти во Flutter

    Утечки памяти — одна из тех проблем, которые долго могут оставаться незаметными в мобильном приложении, а затем приводить к росту потребления ресурсов, снижению производительности и нестабильной работе интерфейса. Чаще всего причиной становятся ошибки в управлении жизненным циклом объектов, подписок и контроллеров. В данной статье рассмотрим, какие ошибки чаще всего приводят к утечкам памяти во Flutter, как их обнаруживать и какие практики помогают избежать подобных проблем в реальных проектах.

    habr.com/ru/articles/1035256/

    #Flutter #memory_leaks #утечки_памяти #dispose #Flutter_DevTools #StreamSubscription #state_management #tracker #производительность

  4. Как избежать утечек памяти во Flutter

    Утечки памяти — одна из тех проблем, которые долго могут оставаться незаметными в мобильном приложении, а затем приводить к росту потребления ресурсов, снижению производительности и нестабильной работе интерфейса. Чаще всего причиной становятся ошибки в управлении жизненным циклом объектов, подписок и контроллеров. В данной статье рассмотрим, какие ошибки чаще всего приводят к утечкам памяти во Flutter, как их обнаруживать и какие практики помогают избежать подобных проблем в реальных проектах.

    habr.com/ru/articles/1035256/

    #Flutter #memory_leaks #утечки_памяти #dispose #Flutter_DevTools #StreamSubscription #state_management #tracker #производительность

  5. Scoped Store: Когда useReducer не тянет, а Redux — слишком

    Когда локальный стейт в React-модуле начинает расти - разработчик инстинктивно тянется к useReducer+Context . Это работает, пока не перестаёт: ререндеры везде, провайдеры в елочку, логика размазана. В статье разбираю как этот путь выглядит в реальном продакшне на примере редактора субтитров, и почему паттерн Scoped Store на базе Context+Zustand+useRef решает эту проблему чище и проще.

    habr.com/ru/articles/1034926/

    #react #zustand #context_api #useReducer #useState #state_management #оптимизация_ререндеров #useRef #react_performance #frontend_architecture

  6. Scoped Store: Когда useReducer не тянет, а Redux — слишком

    Когда локальный стейт в React-модуле начинает расти - разработчик инстинктивно тянется к useReducer+Context . Это работает, пока не перестаёт: ререндеры везде, провайдеры в елочку, логика размазана. В статье разбираю как этот путь выглядит в реальном продакшне на примере редактора субтитров, и почему паттерн Scoped Store на базе Context+Zustand+useRef решает эту проблему чище и проще.

    habr.com/ru/articles/1034926/

    #react #zustand #context_api #useReducer #useState #state_management #оптимизация_ререндеров #useRef #react_performance #frontend_architecture

  7. Scoped Store: Когда useReducer не тянет, а Redux — слишком

    Когда локальный стейт в React-модуле начинает расти - разработчик инстинктивно тянется к useReducer+Context . Это работает, пока не перестаёт: ререндеры везде, провайдеры в елочку, логика размазана. В статье разбираю как этот путь выглядит в реальном продакшне на примере редактора субтитров, и почему паттерн Scoped Store на базе Context+Zustand+useRef решает эту проблему чище и проще.

    habr.com/ru/articles/1034926/

    #react #zustand #context_api #useReducer #useState #state_management #оптимизация_ререндеров #useRef #react_performance #frontend_architecture

  8. Scoped Store: Когда useReducer не тянет, а Redux — слишком

    Когда локальный стейт в React-модуле начинает расти - разработчик инстинктивно тянется к useReducer+Context . Это работает, пока не перестаёт: ререндеры везде, провайдеры в елочку, логика размазана. В статье разбираю как этот путь выглядит в реальном продакшне на примере редактора субтитров, и почему паттерн Scoped Store на базе Context+Zustand+useRef решает эту проблему чище и проще.

    habr.com/ru/articles/1034926/

    #react #zustand #context_api #useReducer #useState #state_management #оптимизация_ререндеров #useRef #react_performance #frontend_architecture

  9. React stack 2026: карта лучших библиотек по категориям

    Открываете очередной React-проект в 2026 году и смотрите на белый экран package.json . Какой роутер? Vite или Next.js? shadcn/ui или Mantine? Zustand или всё-таки Redux Toolkit? React Hook Form или TanStack Form? И как вообще теперь делать таблицы — TanStack Table или AG Grid? Каждая из этих категорий за последние 2-3 года прошла через смену лидера. То что было стандартом в 2022 (Redux, Material UI, Webpack, styled-components, Formik), в 2026 либо в legacy-режиме, либо проиграло свежим конкурентам. Те кто работают в одной экосистеме годами, могут не заметить как сместились веса в соседних слоях стека — пока не открывают новый проект и не сталкиваются с тем что “стандарт”, которым они пользовались, теперь редко выбирают. Эта статья — карта актуального React-стека 2026 года , разбитая по 60+ категориям. По каждой — что выбрал бы я для нового проекта в 2026, какие есть альтернативы для специфических случаев, что считается legacy и почему. Плюс — типовые комбинации стека под разные виды проектов (SaaS dashboard, collaborative editor, real-time dashboard, streaming app, consumer landing).

    habr.com/ru/articles/1032830/

    #react #typescript #javascript #frontend #2026 #библиотеки #npm #state_management #tooling #web_development

  10. React stack 2026: карта лучших библиотек по категориям

    Открываете очередной React-проект в 2026 году и смотрите на белый экран package.json . Какой роутер? Vite или Next.js? shadcn/ui или Mantine? Zustand или всё-таки Redux Toolkit? React Hook Form или TanStack Form? И как вообще теперь делать таблицы — TanStack Table или AG Grid? Каждая из этих категорий за последние 2-3 года прошла через смену лидера. То что было стандартом в 2022 (Redux, Material UI, Webpack, styled-components, Formik), в 2026 либо в legacy-режиме, либо проиграло свежим конкурентам. Те кто работают в одной экосистеме годами, могут не заметить как сместились веса в соседних слоях стека — пока не открывают новый проект и не сталкиваются с тем что “стандарт”, которым они пользовались, теперь редко выбирают. Эта статья — карта актуального React-стека 2026 года , разбитая по 60+ категориям. По каждой — что выбрал бы я для нового проекта в 2026, какие есть альтернативы для специфических случаев, что считается legacy и почему. Плюс — типовые комбинации стека под разные виды проектов (SaaS dashboard, collaborative editor, real-time dashboard, streaming app, consumer landing).

    habr.com/ru/articles/1032830/

    #react #typescript #javascript #frontend #2026 #библиотеки #npm #state_management #tooling #web_development

  11. React stack 2026: карта лучших библиотек по категориям

    Открываете очередной React-проект в 2026 году и смотрите на белый экран package.json . Какой роутер? Vite или Next.js? shadcn/ui или Mantine? Zustand или всё-таки Redux Toolkit? React Hook Form или TanStack Form? И как вообще теперь делать таблицы — TanStack Table или AG Grid? Каждая из этих категорий за последние 2-3 года прошла через смену лидера. То что было стандартом в 2022 (Redux, Material UI, Webpack, styled-components, Formik), в 2026 либо в legacy-режиме, либо проиграло свежим конкурентам. Те кто работают в одной экосистеме годами, могут не заметить как сместились веса в соседних слоях стека — пока не открывают новый проект и не сталкиваются с тем что “стандарт”, которым они пользовались, теперь редко выбирают. Эта статья — карта актуального React-стека 2026 года , разбитая по 60+ категориям. По каждой — что выбрал бы я для нового проекта в 2026, какие есть альтернативы для специфических случаев, что считается legacy и почему. Плюс — типовые комбинации стека под разные виды проектов (SaaS dashboard, collaborative editor, real-time dashboard, streaming app, consumer landing).

    habr.com/ru/articles/1032830/

    #react #typescript #javascript #frontend #2026 #библиотеки #npm #state_management #tooling #web_development

  12. React stack 2026: карта лучших библиотек по категориям

    Открываете очередной React-проект в 2026 году и смотрите на белый экран package.json . Какой роутер? Vite или Next.js? shadcn/ui или Mantine? Zustand или всё-таки Redux Toolkit? React Hook Form или TanStack Form? И как вообще теперь делать таблицы — TanStack Table или AG Grid? Каждая из этих категорий за последние 2-3 года прошла через смену лидера. То что было стандартом в 2022 (Redux, Material UI, Webpack, styled-components, Formik), в 2026 либо в legacy-режиме, либо проиграло свежим конкурентам. Те кто работают в одной экосистеме годами, могут не заметить как сместились веса в соседних слоях стека — пока не открывают новый проект и не сталкиваются с тем что “стандарт”, которым они пользовались, теперь редко выбирают. Эта статья — карта актуального React-стека 2026 года , разбитая по 60+ категориям. По каждой — что выбрал бы я для нового проекта в 2026, какие есть альтернативы для специфических случаев, что считается legacy и почему. Плюс — типовые комбинации стека под разные виды проектов (SaaS dashboard, collaborative editor, real-time dashboard, streaming app, consumer landing).

    habr.com/ru/articles/1032830/

    #react #typescript #javascript #frontend #2026 #библиотеки #npm #state_management #tooling #web_development

  13. Вынесение бизнес‑логики из BLoC в use‑cases: прагматичный взгляд на архитектуру Flutter

    Начиная писать Flutter-приложение, для стейт-менеджмента часто хватает простого setState или простого решения, по типу BLoC/Cubit без излишеств. Но с течением жизни проекта ваши блоки могут начать превращаться в god objects. Внутри хендлеров могут находиться и запросы в сервисы, и валидация, и эмиттеры состояния, а для крупной страницы точно одним ивентом не обойдешься. В таких условиях разработка сильно затрудняется, становится сложно поддерживать и масштабировать проект, снижается тестируемость. Это не субъективный опыт — строгая разделенная архитектура повышает гибкость, переиспользуемость и тестируемость кода. BLoC сам по себе — паттерн с отличной дисциплиной потока данных и строгим отделением бизнес‑логики от UI, но стоит немного расслабиться, и он разрастается до god объекта. Цель этой статьи — продемонстрировать, как вынесение бизнес логики в use-cases может помочь вернуть контроль над ViewModel слоем. Это не попытка навязать единственный вариант реализации, а материал про технический компромисс, подтвержденный цифрами и опытом.

    habr.com/ru/articles/1022838/

    #flutter #dart #bloc #чистая_архитектура #use_cases #state_management #архитектура #мобильная_разработка #тестирование #dependency_injection

  14. Вынесение бизнес‑логики из BLoC в use‑cases: прагматичный взгляд на архитектуру Flutter

    Начиная писать Flutter-приложение, для стейт-менеджмента часто хватает простого setState или простого решения, по типу BLoC/Cubit без излишеств. Но с течением жизни проекта ваши блоки могут начать превращаться в god objects. Внутри хендлеров могут находиться и запросы в сервисы, и валидация, и эмиттеры состояния, а для крупной страницы точно одним ивентом не обойдешься. В таких условиях разработка сильно затрудняется, становится сложно поддерживать и масштабировать проект, снижается тестируемость. Это не субъективный опыт — строгая разделенная архитектура повышает гибкость, переиспользуемость и тестируемость кода. BLoC сам по себе — паттерн с отличной дисциплиной потока данных и строгим отделением бизнес‑логики от UI, но стоит немного расслабиться, и он разрастается до god объекта. Цель этой статьи — продемонстрировать, как вынесение бизнес логики в use-cases может помочь вернуть контроль над ViewModel слоем. Это не попытка навязать единственный вариант реализации, а материал про технический компромисс, подтвержденный цифрами и опытом.

    habr.com/ru/articles/1022838/

    #flutter #dart #bloc #чистая_архитектура #use_cases #state_management #архитектура #мобильная_разработка #тестирование #dependency_injection

  15. Вынесение бизнес‑логики из BLoC в use‑cases: прагматичный взгляд на архитектуру Flutter

    Начиная писать Flutter-приложение, для стейт-менеджмента часто хватает простого setState или простого решения, по типу BLoC/Cubit без излишеств. Но с течением жизни проекта ваши блоки могут начать превращаться в god objects. Внутри хендлеров могут находиться и запросы в сервисы, и валидация, и эмиттеры состояния, а для крупной страницы точно одним ивентом не обойдешься. В таких условиях разработка сильно затрудняется, становится сложно поддерживать и масштабировать проект, снижается тестируемость. Это не субъективный опыт — строгая разделенная архитектура повышает гибкость, переиспользуемость и тестируемость кода. BLoC сам по себе — паттерн с отличной дисциплиной потока данных и строгим отделением бизнес‑логики от UI, но стоит немного расслабиться, и он разрастается до god объекта. Цель этой статьи — продемонстрировать, как вынесение бизнес логики в use-cases может помочь вернуть контроль над ViewModel слоем. Это не попытка навязать единственный вариант реализации, а материал про технический компромисс, подтвержденный цифрами и опытом.

    habr.com/ru/articles/1022838/

    #flutter #dart #bloc #чистая_архитектура #use_cases #state_management #архитектура #мобильная_разработка #тестирование #dependency_injection

  16. Вынесение бизнес‑логики из BLoC в use‑cases: прагматичный взгляд на архитектуру Flutter

    Начиная писать Flutter-приложение, для стейт-менеджмента часто хватает простого setState или простого решения, по типу BLoC/Cubit без излишеств. Но с течением жизни проекта ваши блоки могут начать превращаться в god objects. Внутри хендлеров могут находиться и запросы в сервисы, и валидация, и эмиттеры состояния, а для крупной страницы точно одним ивентом не обойдешься. В таких условиях разработка сильно затрудняется, становится сложно поддерживать и масштабировать проект, снижается тестируемость. Это не субъективный опыт — строгая разделенная архитектура повышает гибкость, переиспользуемость и тестируемость кода. BLoC сам по себе — паттерн с отличной дисциплиной потока данных и строгим отделением бизнес‑логики от UI, но стоит немного расслабиться, и он разрастается до god объекта. Цель этой статьи — продемонстрировать, как вынесение бизнес логики в use-cases может помочь вернуть контроль над ViewModel слоем. Это не попытка навязать единственный вариант реализации, а материал про технический компромисс, подтвержденный цифрами и опытом.

    habr.com/ru/articles/1022838/

    #flutter #dart #bloc #чистая_архитектура #use_cases #state_management #архитектура #мобильная_разработка #тестирование #dependency_injection

  17. Nexus State: Современный менеджер состояния для JavaScript-приложений

    В экосистеме JavaScript-разработки управление состоянием приложений всегда оставалось одной из самых сложных задач. От глобальных переменных до сложных библиотек вроде Redux и MobX — разработчики постоянно ищут более простые и эффективные решения. Сегодня мы познакомимся с Nexus State — новой библиотекой для управления состоянием, которая сочетает простоту использования Atom-подхода с мощными функциями для реальных приложений. В этой статье мы рассмотрим архитектуру Nexus State, его возможности, и проведем объективное сравнение с существующими решениями.

    habr.com/ru/articles/996812/

    #state_management

  18. Nexus State: Современный менеджер состояния для JavaScript-приложений

    В экосистеме JavaScript-разработки управление состоянием приложений всегда оставалось одной из самых сложных задач. От глобальных переменных до сложных библиотек вроде Redux и MobX — разработчики постоянно ищут более простые и эффективные решения. Сегодня мы познакомимся с Nexus State — новой библиотекой для управления состоянием, которая сочетает простоту использования Atom-подхода с мощными функциями для реальных приложений. В этой статье мы рассмотрим архитектуру Nexus State, его возможности, и проведем объективное сравнение с существующими решениями.

    habr.com/ru/articles/996812/

    #state_management

  19. Nexus State: Современный менеджер состояния для JavaScript-приложений

    В экосистеме JavaScript-разработки управление состоянием приложений всегда оставалось одной из самых сложных задач. От глобальных переменных до сложных библиотек вроде Redux и MobX — разработчики постоянно ищут более простые и эффективные решения. Сегодня мы познакомимся с Nexus State — новой библиотекой для управления состоянием, которая сочетает простоту использования Atom-подхода с мощными функциями для реальных приложений. В этой статье мы рассмотрим архитектуру Nexus State, его возможности, и проведем объективное сравнение с существующими решениями.

    habr.com/ru/articles/996812/

    #state_management

  20. Nexus State: Современный менеджер состояния для JavaScript-приложений

    В экосистеме JavaScript-разработки управление состоянием приложений всегда оставалось одной из самых сложных задач. От глобальных переменных до сложных библиотек вроде Redux и MobX — разработчики постоянно ищут более простые и эффективные решения. Сегодня мы познакомимся с Nexus State — новой библиотекой для управления состоянием, которая сочетает простоту использования Atom-подхода с мощными функциями для реальных приложений. В этой статье мы рассмотрим архитектуру Nexus State, его возможности, и проведем объективное сравнение с существующими решениями.

    habr.com/ru/articles/996812/

    #state_management

  21. WebSocket и RTK Query: живое общение в React-приложении

    Представьте, что вы смотрите онлайн-трансляцию матча. Счёт меняется — и вы видите это мгновенно , без перезагрузки страницы. Или вы пишете коллеге в чате — сообщение появляется у него в реальном времени . Это не магия, а технология WebSocket . В этом уроке вы узнаете:

    habr.com/ru/articles/992526/

    #rtk_query #state_management #reduxtoolkit #redux_toolkit #reduxutils #reduxjs #redux #websocket #react #echo

  22. WebSocket и RTK Query: живое общение в React-приложении

    Представьте, что вы смотрите онлайн-трансляцию матча. Счёт меняется — и вы видите это мгновенно , без перезагрузки страницы. Или вы пишете коллеге в чате — сообщение появляется у него в реальном времени . Это не магия, а технология WebSocket . В этом уроке вы узнаете:

    habr.com/ru/articles/992526/

    #rtk_query #state_management #reduxtoolkit #redux_toolkit #reduxutils #reduxjs #redux #websocket #react #echo

  23. WebSocket и RTK Query: живое общение в React-приложении

    Представьте, что вы смотрите онлайн-трансляцию матча. Счёт меняется — и вы видите это мгновенно , без перезагрузки страницы. Или вы пишете коллеге в чате — сообщение появляется у него в реальном времени . Это не магия, а технология WebSocket . В этом уроке вы узнаете:

    habr.com/ru/articles/992526/

    #rtk_query #state_management #reduxtoolkit #redux_toolkit #reduxutils #reduxjs #redux #websocket #react #echo

  24. WebSocket и RTK Query: живое общение в React-приложении

    Представьте, что вы смотрите онлайн-трансляцию матча. Счёт меняется — и вы видите это мгновенно , без перезагрузки страницы. Или вы пишете коллеге в чате — сообщение появляется у него в реальном времени . Это не магия, а технология WebSocket . В этом уроке вы узнаете:

    habr.com/ru/articles/992526/

    #rtk_query #state_management #reduxtoolkit #redux_toolkit #reduxutils #reduxjs #redux #websocket #react #echo

  25. Пациент болен: как «продать» рефакторинг лиду и продакту

    Недавно я перешёл в новую команду и столкнулся с классической задачей — рефакторингом сложной продуктовой фичи. Путь от диагностики проблемы до «продажи» решения был тернист... и нереально интересен. Всеми знаниями, что из него вынес, делюсь в этой статье. Текст будет полезен не только разработчикам продуктовых команд. Участникам core-команд расскажу про общие принципы рефакторинга, а менеджерам помогу понять, чем отличается зрелое предложение о рефакторинге от обычного «хочу всё переписать». Хочу узнать про рефакторинг ВСЁ

    habr.com/ru/companies/dododev/

    #рефакторинг #android #kotlin #архитектура_androidприложений #state_management #технический_долг #легасикод #kotlin_flow #продуктовая_разработка #командная_работа

  26. Пациент болен: как «продать» рефакторинг лиду и продакту

    Недавно я перешёл в новую команду и столкнулся с классической задачей — рефакторингом сложной продуктовой фичи. Путь от диагностики проблемы до «продажи» решения был тернист... и нереально интересен. Всеми знаниями, что из него вынес, делюсь в этой статье. Текст будет полезен не только разработчикам продуктовых команд. Участникам core-команд расскажу про общие принципы рефакторинга, а менеджерам помогу понять, чем отличается зрелое предложение о рефакторинге от обычного «хочу всё переписать». Хочу узнать про рефакторинг ВСЁ

    habr.com/ru/companies/dododev/

    #рефакторинг #android #kotlin #архитектура_androidприложений #state_management #технический_долг #легасикод #kotlin_flow #продуктовая_разработка #командная_работа

  27. Пациент болен: как «продать» рефакторинг лиду и продакту

    Недавно я перешёл в новую команду и столкнулся с классической задачей — рефакторингом сложной продуктовой фичи. Путь от диагностики проблемы до «продажи» решения был тернист... и нереально интересен. Всеми знаниями, что из него вынес, делюсь в этой статье. Текст будет полезен не только разработчикам продуктовых команд. Участникам core-команд расскажу про общие принципы рефакторинга, а менеджерам помогу понять, чем отличается зрелое предложение о рефакторинге от обычного «хочу всё переписать». Хочу узнать про рефакторинг ВСЁ

    habr.com/ru/companies/dododev/

    #рефакторинг #android #kotlin #архитектура_androidприложений #state_management #технический_долг #легасикод #kotlin_flow #продуктовая_разработка #командная_работа

  28. Пациент болен: как «продать» рефакторинг лиду и продакту

    Недавно я перешёл в новую команду и столкнулся с классической задачей — рефакторингом сложной продуктовой фичи. Путь от диагностики проблемы до «продажи» решения был тернист... и нереально интересен. Всеми знаниями, что из него вынес, делюсь в этой статье. Текст будет полезен не только разработчикам продуктовых команд. Участникам core-команд расскажу про общие принципы рефакторинга, а менеджерам помогу понять, чем отличается зрелое предложение о рефакторинге от обычного «хочу всё переписать». Хочу узнать про рефакторинг ВСЁ

    habr.com/ru/companies/dododev/

    #рефакторинг #android #kotlin #архитектура_androidприложений #state_management #технический_долг #легасикод #kotlin_flow #продуктовая_разработка #командная_работа

  29. Подходы к state management в React

    У React-разработчика две беды: 1. Целевые данные изменились, а ререндера нет. 2. Целевые данные не изменились, а ререндер есть. Есть много вариантов подружить данные с интерфейсом, в рамках данной статьи я пройдусь по самым популярным из них. Выясним, как они устроены и для чего каждый из них подойдет лучше, обсудим конкретные реализации разных паттернов.

    habr.com/ru/articles/984424/

    #React #redux #zustand #mobx #valtio #jotai #state_management

  30. Подходы к state management в React

    У React-разработчика две беды: 1. Целевые данные изменились, а ререндера нет. 2. Целевые данные не изменились, а ререндер есть. Есть много вариантов подружить данные с интерфейсом, в рамках данной статьи я пройдусь по самым популярным из них. Выясним, как они устроены и для чего каждый из них подойдет лучше, обсудим конкретные реализации разных паттернов.

    habr.com/ru/articles/984424/

    #React #redux #zustand #mobx #valtio #jotai #state_management

  31. Подходы к state management в React

    У React-разработчика две беды: 1. Целевые данные изменились, а ререндера нет. 2. Целевые данные не изменились, а ререндер есть. Есть много вариантов подружить данные с интерфейсом, в рамках данной статьи я пройдусь по самым популярным из них. Выясним, как они устроены и для чего каждый из них подойдет лучше, обсудим конкретные реализации разных паттернов.

    habr.com/ru/articles/984424/

    #React #redux #zustand #mobx #valtio #jotai #state_management

  32. Подходы к state management в React

    У React-разработчика две беды: 1. Целевые данные изменились, а ререндера нет. 2. Целевые данные не изменились, а ререндер есть. Есть много вариантов подружить данные с интерфейсом, в рамках данной статьи я пройдусь по самым популярным из них. Выясним, как они устроены и для чего каждый из них подойдет лучше, обсудим конкретные реализации разных паттернов.

    habr.com/ru/articles/984424/

    #React #redux #zustand #mobx #valtio #jotai #state_management

  33. Реактивная Архитектура: Пишем надежный Optimistic UI на чистом RxJS (Pattern Compensating Transaction)

    Пользователи ненавидят спиннеры. Они хотят видеть лайк сразу после клика. Optimistic UI решает эту проблему, но создает новую: что делать, если сервер вернет ошибку? В императивном коде (Promise/async-await) откат состояния превращается в ад из try/catch и ручных мутаций переменных, порождая Race Conditions. В этой статье я покажу, как реализовать надежный паттерн Compensating Transaction на чистом RxJS . Мы построим архитектуру, где состояние это поток, который невозможно "сломать" частыми кликами или сетевыми сбоями. Никаких if/else, только чистые потоки. Построить реактивный UI

    habr.com/ru/articles/974068/

    #angular #rxjs #typescript #frontend #архитектура #паттерны_проектирования #optimistic_ui #reactive_programming #state_management #best_practices

  34. Реактивная Архитектура: Пишем надежный Optimistic UI на чистом RxJS (Pattern Compensating Transaction)

    Пользователи ненавидят спиннеры. Они хотят видеть лайк сразу после клика. Optimistic UI решает эту проблему, но создает новую: что делать, если сервер вернет ошибку? В императивном коде (Promise/async-await) откат состояния превращается в ад из try/catch и ручных мутаций переменных, порождая Race Conditions. В этой статье я покажу, как реализовать надежный паттерн Compensating Transaction на чистом RxJS . Мы построим архитектуру, где состояние это поток, который невозможно "сломать" частыми кликами или сетевыми сбоями. Никаких if/else, только чистые потоки. Построить реактивный UI

    habr.com/ru/articles/974068/

    #angular #rxjs #typescript #frontend #архитектура #паттерны_проектирования #optimistic_ui #reactive_programming #state_management #best_practices

  35. Реактивная Архитектура: Пишем надежный Optimistic UI на чистом RxJS (Pattern Compensating Transaction)

    Пользователи ненавидят спиннеры. Они хотят видеть лайк сразу после клика. Optimistic UI решает эту проблему, но создает новую: что делать, если сервер вернет ошибку? В императивном коде (Promise/async-await) откат состояния превращается в ад из try/catch и ручных мутаций переменных, порождая Race Conditions. В этой статье я покажу, как реализовать надежный паттерн Compensating Transaction на чистом RxJS . Мы построим архитектуру, где состояние это поток, который невозможно "сломать" частыми кликами или сетевыми сбоями. Никаких if/else, только чистые потоки. Построить реактивный UI

    habr.com/ru/articles/974068/

    #angular #rxjs #typescript #frontend #архитектура #паттерны_проектирования #optimistic_ui #reactive_programming #state_management #best_practices

  36. Реактивная Архитектура: Пишем надежный Optimistic UI на чистом RxJS (Pattern Compensating Transaction)

    Пользователи ненавидят спиннеры. Они хотят видеть лайк сразу после клика. Optimistic UI решает эту проблему, но создает новую: что делать, если сервер вернет ошибку? В императивном коде (Promise/async-await) откат состояния превращается в ад из try/catch и ручных мутаций переменных, порождая Race Conditions. В этой статье я покажу, как реализовать надежный паттерн Compensating Transaction на чистом RxJS . Мы построим архитектуру, где состояние это поток, который невозможно "сломать" частыми кликами или сетевыми сбоями. Никаких if/else, только чистые потоки. Построить реактивный UI

    habr.com/ru/articles/974068/

    #angular #rxjs #typescript #frontend #архитектура #паттерны_проектирования #optimistic_ui #reactive_programming #state_management #best_practices

  37. State-менеджмент «из коробки» во Flutter: эффективная альтернатива BLoC и Riverpod

    Управление состоянием — один из ключевых аспектов разработки приложений на Flutter. Часто для этой задачи выбирают тяжелые и многофункциональные решения вроде BLoC, Riverpod или GetX. Однако во многих проектах подобная инфраструктура избыточна: не каждое приложение требует сложной архитектуры и дополнительного уровня абстракции. В данной статье мы расскажем про встроенные инструменты Flutter, которые позволяют реализовать надежный и предсказуемый state-менеджмент без сторонних фреймворков. Вы узнаете, как использовать ValueNotifier и Provider для удобной работы с состоянием и когда такой подход является оптимальным.

    habr.com/ru/articles/972360/

    #flutter #state_management #ValueNotifier #provider #setstate #архитектура #мобильная_разработка #разработка_интерфейсов

  38. State-менеджмент «из коробки» во Flutter: эффективная альтернатива BLoC и Riverpod

    Управление состоянием — один из ключевых аспектов разработки приложений на Flutter. Часто для этой задачи выбирают тяжелые и многофункциональные решения вроде BLoC, Riverpod или GetX. Однако во многих проектах подобная инфраструктура избыточна: не каждое приложение требует сложной архитектуры и дополнительного уровня абстракции. В данной статье мы расскажем про встроенные инструменты Flutter, которые позволяют реализовать надежный и предсказуемый state-менеджмент без сторонних фреймворков. Вы узнаете, как использовать ValueNotifier и Provider для удобной работы с состоянием и когда такой подход является оптимальным.

    habr.com/ru/articles/972360/

    #flutter #state_management #ValueNotifier #provider #setstate #архитектура #мобильная_разработка #разработка_интерфейсов

  39. State-менеджмент «из коробки» во Flutter: эффективная альтернатива BLoC и Riverpod

    Управление состоянием — один из ключевых аспектов разработки приложений на Flutter. Часто для этой задачи выбирают тяжелые и многофункциональные решения вроде BLoC, Riverpod или GetX. Однако во многих проектах подобная инфраструктура избыточна: не каждое приложение требует сложной архитектуры и дополнительного уровня абстракции. В данной статье мы расскажем про встроенные инструменты Flutter, которые позволяют реализовать надежный и предсказуемый state-менеджмент без сторонних фреймворков. Вы узнаете, как использовать ValueNotifier и Provider для удобной работы с состоянием и когда такой подход является оптимальным.

    habr.com/ru/articles/972360/

    #flutter #state_management #ValueNotifier #provider #setstate #архитектура #мобильная_разработка #разработка_интерфейсов

  40. State-менеджмент «из коробки» во Flutter: эффективная альтернатива BLoC и Riverpod

    Управление состоянием — один из ключевых аспектов разработки приложений на Flutter. Часто для этой задачи выбирают тяжелые и многофункциональные решения вроде BLoC, Riverpod или GetX. Однако во многих проектах подобная инфраструктура избыточна: не каждое приложение требует сложной архитектуры и дополнительного уровня абстракции. В данной статье мы расскажем про встроенные инструменты Flutter, которые позволяют реализовать надежный и предсказуемый state-менеджмент без сторонних фреймворков. Вы узнаете, как использовать ValueNotifier и Provider для удобной работы с состоянием и когда такой подход является оптимальным.

    habr.com/ru/articles/972360/

    #flutter #state_management #ValueNotifier #provider #setstate #архитектура #мобильная_разработка #разработка_интерфейсов

  41. Зачем Тьюринг изобрёл Redux?

    Конечно, он его не изобретал. Но если бы посмотрел сегодня сливы собесов, точно увидел бы в них свои идеи. Ведь есть же фундаментальные идеи за всей этой шелухой про синтаксис mapStateToProps ! Императивное программирование Допустим, вам поручили сделать web проигрыватель. Бизнес ставит задачи, сроки горят. Что делаем? Правильно, берём родной <audio> . решить автоматным программированием

    habr.com/ru/articles/962876/

    #конечный_автомат #машина_тьюринга #state_management

  42. Зачем Тьюринг изобрёл Redux?

    Конечно, он его не изобретал. Но если бы посмотрел сегодня сливы собесов, точно увидел бы в них свои идеи. Ведь есть же фундаментальные идеи за всей этой шелухой про синтаксис mapStateToProps ! Императивное программирование Допустим, вам поручили сделать web проигрыватель. Бизнес ставит задачи, сроки горят. Что делаем? Правильно, берём родной <audio> . решить автоматным программированием

    habr.com/ru/articles/962876/

    #конечный_автомат #машина_тьюринга #state_management

  43. Зачем Тьюринг изобрёл Redux?

    Конечно, он его не изобретал. Но если бы посмотрел сегодня сливы собесов, точно увидел бы в них свои идеи. Ведь есть же фундаментальные идеи за всей этой шелухой про синтаксис mapStateToProps ! Императивное программирование Допустим, вам поручили сделать web проигрыватель. Бизнес ставит задачи, сроки горят. Что делаем? Правильно, берём родной <audio> . решить автоматным программированием

    habr.com/ru/articles/962876/

    #конечный_автомат #машина_тьюринга #state_management

  44. Зачем Тьюринг изобрёл Redux?

    Конечно, он его не изобретал. Но если бы посмотрел сегодня сливы собесов, точно увидел бы в них свои идеи. Ведь есть же фундаментальные идеи за всей этой шелухой про синтаксис mapStateToProps ! Императивное программирование Допустим, вам поручили сделать web проигрыватель. Бизнес ставит задачи, сроки горят. Что делаем? Правильно, берём родной <audio> . решить автоматным программированием

    habr.com/ru/articles/962876/

    #конечный_автомат #машина_тьюринга #state_management

  45. Веб. К черту фреймворки! Пишем свой starter-kit с роутером и сторами. Часть 2

    Пробуем собрать свой минималистичный starter-kit. Туториал из трех частей. В предыдущей части мы реализовали причудливый конфиг на webpack + собственный роутинг. В этой мы используем магию Proxy, чтобы добавить реактивные хранилища. Реализуем их двумя (или тремя) способами. В следующей рассмотрим работу с web-компонентами.

    habr.com/ru/articles/958026/

    #эксперименты #стейтменеджер #реактивность #state_management #proxy

  46. Веб. К черту фреймворки! Пишем свой starter-kit с роутером и сторами. Часть 2

    Пробуем собрать свой минималистичный starter-kit. Туториал из трех частей. В предыдущей части мы реализовали причудливый конфиг на webpack + собственный роутинг. В этой мы используем магию Proxy, чтобы добавить реактивные хранилища. Реализуем их двумя (или тремя) способами. В следующей рассмотрим работу с web-компонентами.

    habr.com/ru/articles/958026/

    #эксперименты #стейтменеджер #реактивность #state_management #proxy

  47. Веб. К черту фреймворки! Пишем свой starter-kit с роутером и сторами. Часть 2

    Пробуем собрать свой минималистичный starter-kit. Туториал из трех частей. В предыдущей части мы реализовали причудливый конфиг на webpack + собственный роутинг. В этой мы используем магию Proxy, чтобы добавить реактивные хранилища. Реализуем их двумя (или тремя) способами. В следующей рассмотрим работу с web-компонентами.

    habr.com/ru/articles/958026/

    #эксперименты #стейтменеджер #реактивность #state_management #proxy

  48. Веб. К черту фреймворки! Пишем свой starter-kit с роутером и сторами. Часть 2

    Пробуем собрать свой минималистичный starter-kit. Туториал из трех частей. В предыдущей части мы реализовали причудливый конфиг на webpack + собственный роутинг. В этой мы используем магию Proxy, чтобы добавить реактивные хранилища. Реализуем их двумя (или тремя) способами. В следующей рассмотрим работу с web-компонентами.

    habr.com/ru/articles/958026/

    #эксперименты #стейтменеджер #реактивность #state_management #proxy

  49. Попытка написать свою реализацию встроенных хуков состояния в React + создание простого стейт менеджера

    Не так давно я смотрел ничем не примечательный ролик про техническое интервью и услышал фразу от интервьюируемого фразу: «Ну можно написать свой useReducer или useState» — и мне захотелось вдруг попробовать ибо я никогда в серьез не задумывался как они работают под капотом и принялся за дело.

    habr.com/ru/articles/881668/

    #react #usestate #usereducer #hook #store #state_management #typescript #javascript

  50. Попытка написать свою реализацию встроенных хуков состояния в React + создание простого стейт менеджера

    Не так давно я смотрел ничем не примечательный ролик про техническое интервью и услышал фразу от интервьюируемого фразу: «Ну можно написать свой useReducer или useState» — и мне захотелось вдруг попробовать ибо я никогда в серьез не задумывался как они работают под капотом и принялся за дело.

    habr.com/ru/articles/881668/

    #react #usestate #usereducer #hook #store #state_management #typescript #javascript