Urgent.News

What's breaking now, across thousands of outlets.

Editions

Tech

What I Get to Forget About Riverpod Now That I Have BlocSignal

The Best Feature in Software Is What You Get to Forget In software engineering, we usually measure framework upgrades by what they add : new syntax, new macros, new features, new abstractions. But as any developer who has maintained large Flutter applications over several years knows, the most profound upgrade in developer experience isn't what new concepts you are forced to memorize— it’s the…

The most significant improvement in software engineering, particularly for frameworks, lies not in the new features or abstractions introduced, but in the mental effort developers can release from their workload. This is especially true in the Flutter ecosystem, where state management challenges have long plagued developers. Rémi Rousselet, a renowned pioneer in the field, introduced the Provider package and later Riverpod to address these critical issues in Flutter's core InheritedWidget mechanics.

Riverpod, with its global declarative provider graph and compile-time safety, addressed many longstanding problems, earning praise and advocacy from developers. However, the evolution of Riverpod through versions v1, v2, and v3 has led to an overwhelming accumulation of cognitive surface area. Developers now face the daunting task of maintaining a complex internal rules engine just to avoid subtle runtime issues, which is becoming increasingly frustrating.

The complexities involved in building real-world Flutter applications using Riverpod have included maintaining a rich set of tooling aids like custom analyzer lints, IDE plugins, and code generation watchers. Despite these aids, they only address surface-level syntax issues and do not alleviate the underlying cognitive load. The author has found BlocSignal to be a game-changer, offering a simple and efficient alternative to Riverpod.

BlocSignal combines the disciplined approach of BLoC/Cubit with the synchronous speed and fine-grained reactivity of Signals, making state management significantly cleaner. By switching to BlocSignal, developers can forget the complexities of build_runner and code-gen rituals, eliminating the need for part files, code-gen watchers, and extensive widget class hierarchies.

This transition allows developers to write pure Dart, enjoy instant autocomplete, and work with standard Flutter widgets seamlessly. As a result, the mental gymnastics and edge cases associated with Riverpod are forgotten, leading to a significantly cleaner and more efficient architecture.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Recurring subscription system

Introdução Desenvolvedores são seres predominantemente imaginativos, pensantes, incansáveis na busca para resolver este ou aquele problema.

Loupe: a debug overlay that lives inside your React Native app

The last bug I chased in a React Native app only showed up on a real device, on cellular, in a TestFlight build. So I plugged the phone in, opened a desktop debugger, and got nothing.

  • Loupe is an on-device debug overlay for React Native apps
  • Displays network, logs, storage, and deep links within app
  • Added to production builds for testers with separate entry point

RISC-V 32-bit: What does GCC do? (Part 1)

1. Introduction and Problem Statement A good way to learn what a compiler really does when transforming C source code into a binary is to disassemble the binary and compare it with the C source code.

  • RISC-V 32-bit architecture has 32 general-purpose 32-bit registers
  • Registers include x0 (zero), x1 (ra), x2 (sp), and t0 to t6 (x5 to x7 and x28 to x31)
  • RISC-V lacks dedicated condition flag registers, using direct register comparisons for branches

More from Friday 21 August →