#state_management — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #state_management, aggregated by home.social.
-
Как избежать утечек памяти во Flutter
Утечки памяти — одна из тех проблем, которые долго могут оставаться незаметными в мобильном приложении, а затем приводить к росту потребления ресурсов, снижению производительности и нестабильной работе интерфейса. Чаще всего причиной становятся ошибки в управлении жизненным циклом объектов, подписок и контроллеров. В данной статье рассмотрим, какие ошибки чаще всего приводят к утечкам памяти во Flutter, как их обнаруживать и какие практики помогают избежать подобных проблем в реальных проектах.
https://habr.com/ru/articles/1035256/
#Flutter #memory_leaks #утечки_памяти #dispose #Flutter_DevTools #StreamSubscription #state_management #tracker #производительность
-
Как избежать утечек памяти во Flutter
Утечки памяти — одна из тех проблем, которые долго могут оставаться незаметными в мобильном приложении, а затем приводить к росту потребления ресурсов, снижению производительности и нестабильной работе интерфейса. Чаще всего причиной становятся ошибки в управлении жизненным циклом объектов, подписок и контроллеров. В данной статье рассмотрим, какие ошибки чаще всего приводят к утечкам памяти во Flutter, как их обнаруживать и какие практики помогают избежать подобных проблем в реальных проектах.
https://habr.com/ru/articles/1035256/
#Flutter #memory_leaks #утечки_памяти #dispose #Flutter_DevTools #StreamSubscription #state_management #tracker #производительность
-
Как избежать утечек памяти во Flutter
Утечки памяти — одна из тех проблем, которые долго могут оставаться незаметными в мобильном приложении, а затем приводить к росту потребления ресурсов, снижению производительности и нестабильной работе интерфейса. Чаще всего причиной становятся ошибки в управлении жизненным циклом объектов, подписок и контроллеров. В данной статье рассмотрим, какие ошибки чаще всего приводят к утечкам памяти во Flutter, как их обнаруживать и какие практики помогают избежать подобных проблем в реальных проектах.
https://habr.com/ru/articles/1035256/
#Flutter #memory_leaks #утечки_памяти #dispose #Flutter_DevTools #StreamSubscription #state_management #tracker #производительность
-
Как избежать утечек памяти во Flutter
Утечки памяти — одна из тех проблем, которые долго могут оставаться незаметными в мобильном приложении, а затем приводить к росту потребления ресурсов, снижению производительности и нестабильной работе интерфейса. Чаще всего причиной становятся ошибки в управлении жизненным циклом объектов, подписок и контроллеров. В данной статье рассмотрим, какие ошибки чаще всего приводят к утечкам памяти во Flutter, как их обнаруживать и какие практики помогают избежать подобных проблем в реальных проектах.
https://habr.com/ru/articles/1035256/
#Flutter #memory_leaks #утечки_памяти #dispose #Flutter_DevTools #StreamSubscription #state_management #tracker #производительность
-
Scoped Store: Когда useReducer не тянет, а Redux — слишком
Когда локальный стейт в React-модуле начинает расти - разработчик инстинктивно тянется к useReducer+Context . Это работает, пока не перестаёт: ререндеры везде, провайдеры в елочку, логика размазана. В статье разбираю как этот путь выглядит в реальном продакшне на примере редактора субтитров, и почему паттерн Scoped Store на базе Context+Zustand+useRef решает эту проблему чище и проще.
https://habr.com/ru/articles/1034926/
#react #zustand #context_api #useReducer #useState #state_management #оптимизация_ререндеров #useRef #react_performance #frontend_architecture
-
Scoped Store: Когда useReducer не тянет, а Redux — слишком
Когда локальный стейт в React-модуле начинает расти - разработчик инстинктивно тянется к useReducer+Context . Это работает, пока не перестаёт: ререндеры везде, провайдеры в елочку, логика размазана. В статье разбираю как этот путь выглядит в реальном продакшне на примере редактора субтитров, и почему паттерн Scoped Store на базе Context+Zustand+useRef решает эту проблему чище и проще.
https://habr.com/ru/articles/1034926/
#react #zustand #context_api #useReducer #useState #state_management #оптимизация_ререндеров #useRef #react_performance #frontend_architecture
-
Scoped Store: Когда useReducer не тянет, а Redux — слишком
Когда локальный стейт в React-модуле начинает расти - разработчик инстинктивно тянется к useReducer+Context . Это работает, пока не перестаёт: ререндеры везде, провайдеры в елочку, логика размазана. В статье разбираю как этот путь выглядит в реальном продакшне на примере редактора субтитров, и почему паттерн Scoped Store на базе Context+Zustand+useRef решает эту проблему чище и проще.
https://habr.com/ru/articles/1034926/
#react #zustand #context_api #useReducer #useState #state_management #оптимизация_ререндеров #useRef #react_performance #frontend_architecture
-
Scoped Store: Когда useReducer не тянет, а Redux — слишком
Когда локальный стейт в React-модуле начинает расти - разработчик инстинктивно тянется к useReducer+Context . Это работает, пока не перестаёт: ререндеры везде, провайдеры в елочку, логика размазана. В статье разбираю как этот путь выглядит в реальном продакшне на примере редактора субтитров, и почему паттерн Scoped Store на базе Context+Zustand+useRef решает эту проблему чище и проще.
https://habr.com/ru/articles/1034926/
#react #zustand #context_api #useReducer #useState #state_management #оптимизация_ререндеров #useRef #react_performance #frontend_architecture
-
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).
https://habr.com/ru/articles/1032830/
#react #typescript #javascript #frontend #2026 #библиотеки #npm #state_management #tooling #web_development
-
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).
https://habr.com/ru/articles/1032830/
#react #typescript #javascript #frontend #2026 #библиотеки #npm #state_management #tooling #web_development
-
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).
https://habr.com/ru/articles/1032830/
#react #typescript #javascript #frontend #2026 #библиотеки #npm #state_management #tooling #web_development
-
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).
https://habr.com/ru/articles/1032830/
#react #typescript #javascript #frontend #2026 #библиотеки #npm #state_management #tooling #web_development
-
Вынесение бизнес‑логики из BLoC в use‑cases: прагматичный взгляд на архитектуру Flutter
Начиная писать Flutter-приложение, для стейт-менеджмента часто хватает простого setState или простого решения, по типу BLoC/Cubit без излишеств. Но с течением жизни проекта ваши блоки могут начать превращаться в god objects. Внутри хендлеров могут находиться и запросы в сервисы, и валидация, и эмиттеры состояния, а для крупной страницы точно одним ивентом не обойдешься. В таких условиях разработка сильно затрудняется, становится сложно поддерживать и масштабировать проект, снижается тестируемость. Это не субъективный опыт — строгая разделенная архитектура повышает гибкость, переиспользуемость и тестируемость кода. BLoC сам по себе — паттерн с отличной дисциплиной потока данных и строгим отделением бизнес‑логики от UI, но стоит немного расслабиться, и он разрастается до god объекта. Цель этой статьи — продемонстрировать, как вынесение бизнес логики в use-cases может помочь вернуть контроль над ViewModel слоем. Это не попытка навязать единственный вариант реализации, а материал про технический компромисс, подтвержденный цифрами и опытом.
https://habr.com/ru/articles/1022838/
#flutter #dart #bloc #чистая_архитектура #use_cases #state_management #архитектура #мобильная_разработка #тестирование #dependency_injection
-
Вынесение бизнес‑логики из BLoC в use‑cases: прагматичный взгляд на архитектуру Flutter
Начиная писать Flutter-приложение, для стейт-менеджмента часто хватает простого setState или простого решения, по типу BLoC/Cubit без излишеств. Но с течением жизни проекта ваши блоки могут начать превращаться в god objects. Внутри хендлеров могут находиться и запросы в сервисы, и валидация, и эмиттеры состояния, а для крупной страницы точно одним ивентом не обойдешься. В таких условиях разработка сильно затрудняется, становится сложно поддерживать и масштабировать проект, снижается тестируемость. Это не субъективный опыт — строгая разделенная архитектура повышает гибкость, переиспользуемость и тестируемость кода. BLoC сам по себе — паттерн с отличной дисциплиной потока данных и строгим отделением бизнес‑логики от UI, но стоит немного расслабиться, и он разрастается до god объекта. Цель этой статьи — продемонстрировать, как вынесение бизнес логики в use-cases может помочь вернуть контроль над ViewModel слоем. Это не попытка навязать единственный вариант реализации, а материал про технический компромисс, подтвержденный цифрами и опытом.
https://habr.com/ru/articles/1022838/
#flutter #dart #bloc #чистая_архитектура #use_cases #state_management #архитектура #мобильная_разработка #тестирование #dependency_injection
-
Вынесение бизнес‑логики из BLoC в use‑cases: прагматичный взгляд на архитектуру Flutter
Начиная писать Flutter-приложение, для стейт-менеджмента часто хватает простого setState или простого решения, по типу BLoC/Cubit без излишеств. Но с течением жизни проекта ваши блоки могут начать превращаться в god objects. Внутри хендлеров могут находиться и запросы в сервисы, и валидация, и эмиттеры состояния, а для крупной страницы точно одним ивентом не обойдешься. В таких условиях разработка сильно затрудняется, становится сложно поддерживать и масштабировать проект, снижается тестируемость. Это не субъективный опыт — строгая разделенная архитектура повышает гибкость, переиспользуемость и тестируемость кода. BLoC сам по себе — паттерн с отличной дисциплиной потока данных и строгим отделением бизнес‑логики от UI, но стоит немного расслабиться, и он разрастается до god объекта. Цель этой статьи — продемонстрировать, как вынесение бизнес логики в use-cases может помочь вернуть контроль над ViewModel слоем. Это не попытка навязать единственный вариант реализации, а материал про технический компромисс, подтвержденный цифрами и опытом.
https://habr.com/ru/articles/1022838/
#flutter #dart #bloc #чистая_архитектура #use_cases #state_management #архитектура #мобильная_разработка #тестирование #dependency_injection
-
Вынесение бизнес‑логики из BLoC в use‑cases: прагматичный взгляд на архитектуру Flutter
Начиная писать Flutter-приложение, для стейт-менеджмента часто хватает простого setState или простого решения, по типу BLoC/Cubit без излишеств. Но с течением жизни проекта ваши блоки могут начать превращаться в god objects. Внутри хендлеров могут находиться и запросы в сервисы, и валидация, и эмиттеры состояния, а для крупной страницы точно одним ивентом не обойдешься. В таких условиях разработка сильно затрудняется, становится сложно поддерживать и масштабировать проект, снижается тестируемость. Это не субъективный опыт — строгая разделенная архитектура повышает гибкость, переиспользуемость и тестируемость кода. BLoC сам по себе — паттерн с отличной дисциплиной потока данных и строгим отделением бизнес‑логики от UI, но стоит немного расслабиться, и он разрастается до god объекта. Цель этой статьи — продемонстрировать, как вынесение бизнес логики в use-cases может помочь вернуть контроль над ViewModel слоем. Это не попытка навязать единственный вариант реализации, а материал про технический компромисс, подтвержденный цифрами и опытом.
https://habr.com/ru/articles/1022838/
#flutter #dart #bloc #чистая_архитектура #use_cases #state_management #архитектура #мобильная_разработка #тестирование #dependency_injection
-
Nexus State: Современный менеджер состояния для JavaScript-приложений
В экосистеме JavaScript-разработки управление состоянием приложений всегда оставалось одной из самых сложных задач. От глобальных переменных до сложных библиотек вроде Redux и MobX — разработчики постоянно ищут более простые и эффективные решения. Сегодня мы познакомимся с Nexus State — новой библиотекой для управления состоянием, которая сочетает простоту использования Atom-подхода с мощными функциями для реальных приложений. В этой статье мы рассмотрим архитектуру Nexus State, его возможности, и проведем объективное сравнение с существующими решениями.
-
Nexus State: Современный менеджер состояния для JavaScript-приложений
В экосистеме JavaScript-разработки управление состоянием приложений всегда оставалось одной из самых сложных задач. От глобальных переменных до сложных библиотек вроде Redux и MobX — разработчики постоянно ищут более простые и эффективные решения. Сегодня мы познакомимся с Nexus State — новой библиотекой для управления состоянием, которая сочетает простоту использования Atom-подхода с мощными функциями для реальных приложений. В этой статье мы рассмотрим архитектуру Nexus State, его возможности, и проведем объективное сравнение с существующими решениями.
-
Nexus State: Современный менеджер состояния для JavaScript-приложений
В экосистеме JavaScript-разработки управление состоянием приложений всегда оставалось одной из самых сложных задач. От глобальных переменных до сложных библиотек вроде Redux и MobX — разработчики постоянно ищут более простые и эффективные решения. Сегодня мы познакомимся с Nexus State — новой библиотекой для управления состоянием, которая сочетает простоту использования Atom-подхода с мощными функциями для реальных приложений. В этой статье мы рассмотрим архитектуру Nexus State, его возможности, и проведем объективное сравнение с существующими решениями.
-
Nexus State: Современный менеджер состояния для JavaScript-приложений
В экосистеме JavaScript-разработки управление состоянием приложений всегда оставалось одной из самых сложных задач. От глобальных переменных до сложных библиотек вроде Redux и MobX — разработчики постоянно ищут более простые и эффективные решения. Сегодня мы познакомимся с Nexus State — новой библиотекой для управления состоянием, которая сочетает простоту использования Atom-подхода с мощными функциями для реальных приложений. В этой статье мы рассмотрим архитектуру Nexus State, его возможности, и проведем объективное сравнение с существующими решениями.
-
WebSocket и RTK Query: живое общение в React-приложении
Представьте, что вы смотрите онлайн-трансляцию матча. Счёт меняется — и вы видите это мгновенно , без перезагрузки страницы. Или вы пишете коллеге в чате — сообщение появляется у него в реальном времени . Это не магия, а технология WebSocket . В этом уроке вы узнаете:
https://habr.com/ru/articles/992526/
#rtk_query #state_management #reduxtoolkit #redux_toolkit #reduxutils #reduxjs #redux #websocket #react #echo
-
WebSocket и RTK Query: живое общение в React-приложении
Представьте, что вы смотрите онлайн-трансляцию матча. Счёт меняется — и вы видите это мгновенно , без перезагрузки страницы. Или вы пишете коллеге в чате — сообщение появляется у него в реальном времени . Это не магия, а технология WebSocket . В этом уроке вы узнаете:
https://habr.com/ru/articles/992526/
#rtk_query #state_management #reduxtoolkit #redux_toolkit #reduxutils #reduxjs #redux #websocket #react #echo
-
WebSocket и RTK Query: живое общение в React-приложении
Представьте, что вы смотрите онлайн-трансляцию матча. Счёт меняется — и вы видите это мгновенно , без перезагрузки страницы. Или вы пишете коллеге в чате — сообщение появляется у него в реальном времени . Это не магия, а технология WebSocket . В этом уроке вы узнаете:
https://habr.com/ru/articles/992526/
#rtk_query #state_management #reduxtoolkit #redux_toolkit #reduxutils #reduxjs #redux #websocket #react #echo
-
WebSocket и RTK Query: живое общение в React-приложении
Представьте, что вы смотрите онлайн-трансляцию матча. Счёт меняется — и вы видите это мгновенно , без перезагрузки страницы. Или вы пишете коллеге в чате — сообщение появляется у него в реальном времени . Это не магия, а технология WebSocket . В этом уроке вы узнаете:
https://habr.com/ru/articles/992526/
#rtk_query #state_management #reduxtoolkit #redux_toolkit #reduxutils #reduxjs #redux #websocket #react #echo
-
Пациент болен: как «продать» рефакторинг лиду и продакту
Недавно я перешёл в новую команду и столкнулся с классической задачей — рефакторингом сложной продуктовой фичи. Путь от диагностики проблемы до «продажи» решения был тернист... и нереально интересен. Всеми знаниями, что из него вынес, делюсь в этой статье. Текст будет полезен не только разработчикам продуктовых команд. Участникам core-команд расскажу про общие принципы рефакторинга, а менеджерам помогу понять, чем отличается зрелое предложение о рефакторинге от обычного «хочу всё переписать». Хочу узнать про рефакторинг ВСЁ
https://habr.com/ru/companies/dododev/articles/986812/
#рефакторинг #android #kotlin #архитектура_androidприложений #state_management #технический_долг #легасикод #kotlin_flow #продуктовая_разработка #командная_работа
-
Пациент болен: как «продать» рефакторинг лиду и продакту
Недавно я перешёл в новую команду и столкнулся с классической задачей — рефакторингом сложной продуктовой фичи. Путь от диагностики проблемы до «продажи» решения был тернист... и нереально интересен. Всеми знаниями, что из него вынес, делюсь в этой статье. Текст будет полезен не только разработчикам продуктовых команд. Участникам core-команд расскажу про общие принципы рефакторинга, а менеджерам помогу понять, чем отличается зрелое предложение о рефакторинге от обычного «хочу всё переписать». Хочу узнать про рефакторинг ВСЁ
https://habr.com/ru/companies/dododev/articles/986812/
#рефакторинг #android #kotlin #архитектура_androidприложений #state_management #технический_долг #легасикод #kotlin_flow #продуктовая_разработка #командная_работа
-
Пациент болен: как «продать» рефакторинг лиду и продакту
Недавно я перешёл в новую команду и столкнулся с классической задачей — рефакторингом сложной продуктовой фичи. Путь от диагностики проблемы до «продажи» решения был тернист... и нереально интересен. Всеми знаниями, что из него вынес, делюсь в этой статье. Текст будет полезен не только разработчикам продуктовых команд. Участникам core-команд расскажу про общие принципы рефакторинга, а менеджерам помогу понять, чем отличается зрелое предложение о рефакторинге от обычного «хочу всё переписать». Хочу узнать про рефакторинг ВСЁ
https://habr.com/ru/companies/dododev/articles/986812/
#рефакторинг #android #kotlin #архитектура_androidприложений #state_management #технический_долг #легасикод #kotlin_flow #продуктовая_разработка #командная_работа
-
Пациент болен: как «продать» рефакторинг лиду и продакту
Недавно я перешёл в новую команду и столкнулся с классической задачей — рефакторингом сложной продуктовой фичи. Путь от диагностики проблемы до «продажи» решения был тернист... и нереально интересен. Всеми знаниями, что из него вынес, делюсь в этой статье. Текст будет полезен не только разработчикам продуктовых команд. Участникам core-команд расскажу про общие принципы рефакторинга, а менеджерам помогу понять, чем отличается зрелое предложение о рефакторинге от обычного «хочу всё переписать». Хочу узнать про рефакторинг ВСЁ
https://habr.com/ru/companies/dododev/articles/986812/
#рефакторинг #android #kotlin #архитектура_androidприложений #state_management #технический_долг #легасикод #kotlin_flow #продуктовая_разработка #командная_работа
-
Подходы к state management в React
У React-разработчика две беды: 1. Целевые данные изменились, а ререндера нет. 2. Целевые данные не изменились, а ререндер есть. Есть много вариантов подружить данные с интерфейсом, в рамках данной статьи я пройдусь по самым популярным из них. Выясним, как они устроены и для чего каждый из них подойдет лучше, обсудим конкретные реализации разных паттернов.
https://habr.com/ru/articles/984424/
#React #redux #zustand #mobx #valtio #jotai #state_management
-
Подходы к state management в React
У React-разработчика две беды: 1. Целевые данные изменились, а ререндера нет. 2. Целевые данные не изменились, а ререндер есть. Есть много вариантов подружить данные с интерфейсом, в рамках данной статьи я пройдусь по самым популярным из них. Выясним, как они устроены и для чего каждый из них подойдет лучше, обсудим конкретные реализации разных паттернов.
https://habr.com/ru/articles/984424/
#React #redux #zustand #mobx #valtio #jotai #state_management
-
Подходы к state management в React
У React-разработчика две беды: 1. Целевые данные изменились, а ререндера нет. 2. Целевые данные не изменились, а ререндер есть. Есть много вариантов подружить данные с интерфейсом, в рамках данной статьи я пройдусь по самым популярным из них. Выясним, как они устроены и для чего каждый из них подойдет лучше, обсудим конкретные реализации разных паттернов.
https://habr.com/ru/articles/984424/
#React #redux #zustand #mobx #valtio #jotai #state_management
-
Подходы к state management в React
У React-разработчика две беды: 1. Целевые данные изменились, а ререндера нет. 2. Целевые данные не изменились, а ререндер есть. Есть много вариантов подружить данные с интерфейсом, в рамках данной статьи я пройдусь по самым популярным из них. Выясним, как они устроены и для чего каждый из них подойдет лучше, обсудим конкретные реализации разных паттернов.
https://habr.com/ru/articles/984424/
#React #redux #zustand #mobx #valtio #jotai #state_management
-
Реактивная Архитектура: Пишем надежный Optimistic UI на чистом RxJS (Pattern Compensating Transaction)
Пользователи ненавидят спиннеры. Они хотят видеть лайк сразу после клика. Optimistic UI решает эту проблему, но создает новую: что делать, если сервер вернет ошибку? В императивном коде (Promise/async-await) откат состояния превращается в ад из try/catch и ручных мутаций переменных, порождая Race Conditions. В этой статье я покажу, как реализовать надежный паттерн Compensating Transaction на чистом RxJS . Мы построим архитектуру, где состояние это поток, который невозможно "сломать" частыми кликами или сетевыми сбоями. Никаких if/else, только чистые потоки. Построить реактивный UI
https://habr.com/ru/articles/974068/
#angular #rxjs #typescript #frontend #архитектура #паттерны_проектирования #optimistic_ui #reactive_programming #state_management #best_practices
-
Реактивная Архитектура: Пишем надежный Optimistic UI на чистом RxJS (Pattern Compensating Transaction)
Пользователи ненавидят спиннеры. Они хотят видеть лайк сразу после клика. Optimistic UI решает эту проблему, но создает новую: что делать, если сервер вернет ошибку? В императивном коде (Promise/async-await) откат состояния превращается в ад из try/catch и ручных мутаций переменных, порождая Race Conditions. В этой статье я покажу, как реализовать надежный паттерн Compensating Transaction на чистом RxJS . Мы построим архитектуру, где состояние это поток, который невозможно "сломать" частыми кликами или сетевыми сбоями. Никаких if/else, только чистые потоки. Построить реактивный UI
https://habr.com/ru/articles/974068/
#angular #rxjs #typescript #frontend #архитектура #паттерны_проектирования #optimistic_ui #reactive_programming #state_management #best_practices
-
Реактивная Архитектура: Пишем надежный Optimistic UI на чистом RxJS (Pattern Compensating Transaction)
Пользователи ненавидят спиннеры. Они хотят видеть лайк сразу после клика. Optimistic UI решает эту проблему, но создает новую: что делать, если сервер вернет ошибку? В императивном коде (Promise/async-await) откат состояния превращается в ад из try/catch и ручных мутаций переменных, порождая Race Conditions. В этой статье я покажу, как реализовать надежный паттерн Compensating Transaction на чистом RxJS . Мы построим архитектуру, где состояние это поток, который невозможно "сломать" частыми кликами или сетевыми сбоями. Никаких if/else, только чистые потоки. Построить реактивный UI
https://habr.com/ru/articles/974068/
#angular #rxjs #typescript #frontend #архитектура #паттерны_проектирования #optimistic_ui #reactive_programming #state_management #best_practices
-
Реактивная Архитектура: Пишем надежный Optimistic UI на чистом RxJS (Pattern Compensating Transaction)
Пользователи ненавидят спиннеры. Они хотят видеть лайк сразу после клика. Optimistic UI решает эту проблему, но создает новую: что делать, если сервер вернет ошибку? В императивном коде (Promise/async-await) откат состояния превращается в ад из try/catch и ручных мутаций переменных, порождая Race Conditions. В этой статье я покажу, как реализовать надежный паттерн Compensating Transaction на чистом RxJS . Мы построим архитектуру, где состояние это поток, который невозможно "сломать" частыми кликами или сетевыми сбоями. Никаких if/else, только чистые потоки. Построить реактивный UI
https://habr.com/ru/articles/974068/
#angular #rxjs #typescript #frontend #архитектура #паттерны_проектирования #optimistic_ui #reactive_programming #state_management #best_practices
-
State-менеджмент «из коробки» во Flutter: эффективная альтернатива BLoC и Riverpod
Управление состоянием — один из ключевых аспектов разработки приложений на Flutter. Часто для этой задачи выбирают тяжелые и многофункциональные решения вроде BLoC, Riverpod или GetX. Однако во многих проектах подобная инфраструктура избыточна: не каждое приложение требует сложной архитектуры и дополнительного уровня абстракции. В данной статье мы расскажем про встроенные инструменты Flutter, которые позволяют реализовать надежный и предсказуемый state-менеджмент без сторонних фреймворков. Вы узнаете, как использовать ValueNotifier и Provider для удобной работы с состоянием и когда такой подход является оптимальным.
https://habr.com/ru/articles/972360/
#flutter #state_management #ValueNotifier #provider #setstate #архитектура #мобильная_разработка #разработка_интерфейсов
-
State-менеджмент «из коробки» во Flutter: эффективная альтернатива BLoC и Riverpod
Управление состоянием — один из ключевых аспектов разработки приложений на Flutter. Часто для этой задачи выбирают тяжелые и многофункциональные решения вроде BLoC, Riverpod или GetX. Однако во многих проектах подобная инфраструктура избыточна: не каждое приложение требует сложной архитектуры и дополнительного уровня абстракции. В данной статье мы расскажем про встроенные инструменты Flutter, которые позволяют реализовать надежный и предсказуемый state-менеджмент без сторонних фреймворков. Вы узнаете, как использовать ValueNotifier и Provider для удобной работы с состоянием и когда такой подход является оптимальным.
https://habr.com/ru/articles/972360/
#flutter #state_management #ValueNotifier #provider #setstate #архитектура #мобильная_разработка #разработка_интерфейсов
-
State-менеджмент «из коробки» во Flutter: эффективная альтернатива BLoC и Riverpod
Управление состоянием — один из ключевых аспектов разработки приложений на Flutter. Часто для этой задачи выбирают тяжелые и многофункциональные решения вроде BLoC, Riverpod или GetX. Однако во многих проектах подобная инфраструктура избыточна: не каждое приложение требует сложной архитектуры и дополнительного уровня абстракции. В данной статье мы расскажем про встроенные инструменты Flutter, которые позволяют реализовать надежный и предсказуемый state-менеджмент без сторонних фреймворков. Вы узнаете, как использовать ValueNotifier и Provider для удобной работы с состоянием и когда такой подход является оптимальным.
https://habr.com/ru/articles/972360/
#flutter #state_management #ValueNotifier #provider #setstate #архитектура #мобильная_разработка #разработка_интерфейсов
-
State-менеджмент «из коробки» во Flutter: эффективная альтернатива BLoC и Riverpod
Управление состоянием — один из ключевых аспектов разработки приложений на Flutter. Часто для этой задачи выбирают тяжелые и многофункциональные решения вроде BLoC, Riverpod или GetX. Однако во многих проектах подобная инфраструктура избыточна: не каждое приложение требует сложной архитектуры и дополнительного уровня абстракции. В данной статье мы расскажем про встроенные инструменты Flutter, которые позволяют реализовать надежный и предсказуемый state-менеджмент без сторонних фреймворков. Вы узнаете, как использовать ValueNotifier и Provider для удобной работы с состоянием и когда такой подход является оптимальным.
https://habr.com/ru/articles/972360/
#flutter #state_management #ValueNotifier #provider #setstate #архитектура #мобильная_разработка #разработка_интерфейсов
-
Зачем Тьюринг изобрёл Redux?
Конечно, он его не изобретал. Но если бы посмотрел сегодня сливы собесов, точно увидел бы в них свои идеи. Ведь есть же фундаментальные идеи за всей этой шелухой про синтаксис mapStateToProps ! Императивное программирование Допустим, вам поручили сделать web проигрыватель. Бизнес ставит задачи, сроки горят. Что делаем? Правильно, берём родной <audio> . решить автоматным программированием
-
Зачем Тьюринг изобрёл Redux?
Конечно, он его не изобретал. Но если бы посмотрел сегодня сливы собесов, точно увидел бы в них свои идеи. Ведь есть же фундаментальные идеи за всей этой шелухой про синтаксис mapStateToProps ! Императивное программирование Допустим, вам поручили сделать web проигрыватель. Бизнес ставит задачи, сроки горят. Что делаем? Правильно, берём родной <audio> . решить автоматным программированием
-
Зачем Тьюринг изобрёл Redux?
Конечно, он его не изобретал. Но если бы посмотрел сегодня сливы собесов, точно увидел бы в них свои идеи. Ведь есть же фундаментальные идеи за всей этой шелухой про синтаксис mapStateToProps ! Императивное программирование Допустим, вам поручили сделать web проигрыватель. Бизнес ставит задачи, сроки горят. Что делаем? Правильно, берём родной <audio> . решить автоматным программированием
-
Зачем Тьюринг изобрёл Redux?
Конечно, он его не изобретал. Но если бы посмотрел сегодня сливы собесов, точно увидел бы в них свои идеи. Ведь есть же фундаментальные идеи за всей этой шелухой про синтаксис mapStateToProps ! Императивное программирование Допустим, вам поручили сделать web проигрыватель. Бизнес ставит задачи, сроки горят. Что делаем? Правильно, берём родной <audio> . решить автоматным программированием
-
Веб. К черту фреймворки! Пишем свой starter-kit с роутером и сторами. Часть 2
Пробуем собрать свой минималистичный starter-kit. Туториал из трех частей. В предыдущей части мы реализовали причудливый конфиг на webpack + собственный роутинг. В этой мы используем магию Proxy, чтобы добавить реактивные хранилища. Реализуем их двумя (или тремя) способами. В следующей рассмотрим работу с web-компонентами.
https://habr.com/ru/articles/958026/
#эксперименты #стейтменеджер #реактивность #state_management #proxy
-
Веб. К черту фреймворки! Пишем свой starter-kit с роутером и сторами. Часть 2
Пробуем собрать свой минималистичный starter-kit. Туториал из трех частей. В предыдущей части мы реализовали причудливый конфиг на webpack + собственный роутинг. В этой мы используем магию Proxy, чтобы добавить реактивные хранилища. Реализуем их двумя (или тремя) способами. В следующей рассмотрим работу с web-компонентами.
https://habr.com/ru/articles/958026/
#эксперименты #стейтменеджер #реактивность #state_management #proxy
-
Веб. К черту фреймворки! Пишем свой starter-kit с роутером и сторами. Часть 2
Пробуем собрать свой минималистичный starter-kit. Туториал из трех частей. В предыдущей части мы реализовали причудливый конфиг на webpack + собственный роутинг. В этой мы используем магию Proxy, чтобы добавить реактивные хранилища. Реализуем их двумя (или тремя) способами. В следующей рассмотрим работу с web-компонентами.
https://habr.com/ru/articles/958026/
#эксперименты #стейтменеджер #реактивность #state_management #proxy
-
Веб. К черту фреймворки! Пишем свой starter-kit с роутером и сторами. Часть 2
Пробуем собрать свой минималистичный starter-kit. Туториал из трех частей. В предыдущей части мы реализовали причудливый конфиг на webpack + собственный роутинг. В этой мы используем магию Proxy, чтобы добавить реактивные хранилища. Реализуем их двумя (или тремя) способами. В следующей рассмотрим работу с web-компонентами.
https://habr.com/ru/articles/958026/
#эксперименты #стейтменеджер #реактивность #state_management #proxy
-
Попытка написать свою реализацию встроенных хуков состояния в React + создание простого стейт менеджера
Не так давно я смотрел ничем не примечательный ролик про техническое интервью и услышал фразу от интервьюируемого фразу: «Ну можно написать свой useReducer или useState» — и мне захотелось вдруг попробовать ибо я никогда в серьез не задумывался как они работают под капотом и принялся за дело.
https://habr.com/ru/articles/881668/
#react #usestate #usereducer #hook #store #state_management #typescript #javascript
-
Попытка написать свою реализацию встроенных хуков состояния в React + создание простого стейт менеджера
Не так давно я смотрел ничем не примечательный ролик про техническое интервью и услышал фразу от интервьюируемого фразу: «Ну можно написать свой useReducer или useState» — и мне захотелось вдруг попробовать ибо я никогда в серьез не задумывался как они работают под капотом и принялся за дело.
https://habr.com/ru/articles/881668/
#react #usestate #usereducer #hook #store #state_management #typescript #javascript