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

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

https://habr.com/ru/articles/1035256/

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

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

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

Хабр

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 проектах, а именно связку React Context+useState+useReducer и...

Хабр

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 или...

Хабр

Вынесение бизнес‑логики из 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, его возможности, и проведем объективное сравнение с существующими решениями.

https://habr.com/ru/articles/996812/

#state_management

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

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

Хабр

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-приложении

Автор : Станислав Павенко GitHub-репозиторий 💡 Необходимые навыки до начала изучения! Уметь писать код на HTML / CSS ; Понимать, что такое шифрование данных и чем отличаются HTTP vs HTTPS ; Уметь...

Хабр

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

Недавно я перешёл в новую команду и столкнулся с классической задачей — рефакторингом сложной продуктовой фичи. Путь от диагностики проблемы до «продажи» решения был тернист... и нереально интересен. Всеми знаниями, что из него вынес, делюсь в этой статье. Текст будет полезен не только разработчикам продуктовых команд. Участникам 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-разработчика У React-разработчика две беды: Целевые данные изменились, а ререндера не произошло. Целевые данные не изменились, а ререндер произошёл. Есть много способов подружить...

Хабр

Реактивная Архитектура: Пишем надежный 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)

Все мы любим быстрые интерфейсы. Когда пользователь нажимает "Лайк" или "Добавить в корзину", он хочет видеть результат мгновенно, а не смотреть на спиннер, ожидая ответа сервера. Это называется...

Хабр

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. Однако во многих...

Хабр