# reactive

Reactive processing is a programming paradigm for building non-blocking, asynchronous applications with back-pressure.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Closing the IPv6 First-Packet Gap with GRAND

DevFeed: [Closing the IPv6 First-Packet Gap with GRAND](<https://devfeed.tech/articles/closing-the-ipv6-first-packet-gap-with-grand-11450.md>)

Original publisher: [Read original article](<https://labs.ripe.net/author/pouria/closing-the-ipv6-first-packet-gap-with-grand/>)

Author: Seyed Pouria Mousavizadeh Tehrani

Published: 2026-09-04T13:32:29Z

Content type: article

Language: en

Sources: [RIPE Labs](<https://devfeed.tech/sources/ripe-labs.md>)

Topics: [Network](<https://devfeed.tech/topics/network.md>), [Internet](<https://devfeed.tech/topics/internet.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Latency](<https://devfeed.tech/topics/latency.md>)

Tags: [competition](<https://devfeed.tech/tags/competition.md>), [internet](<https://devfeed.tech/tags/internet.md>), [ipv6](<https://devfeed.tech/tags/ipv6.md>), [latency](<https://devfeed.tech/tags/latency.md>), [network](<https://devfeed.tech/tags/network.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [reactive](<https://devfeed.tech/tags/reactive.md>)

### AI overview

The article explains an IPv6 Neighbour Discovery asymmetry: a host can reach its router immediately after configuring an address, while the router may not yet know how to reach the host. This can delay or drop the first return packets. GRAND addresses the gap by having the host proactively advertise its address, and the article describes an implementation of this mechanism in FreeBSD.

### Source excerpt

There is a subtle asymmetry in IPv6 Neighbour Discovery: a host knows how to reach its router before the router necessarily knows how to reach the host. GRAND fixes that asymmetry by making the host proactively advertise its address, and I implemented that mechanism in FreeBSD.

## Styling Mastery and Declarative Form Submissions

DevFeed: [Styling Mastery and Declarative Form Submissions](<https://devfeed.tech/articles/styling-mastery-and-declarative-form-submissions-18913.md>)

Original publisher: [Read original article](<https://blog.angular.dev/styling-mastery-and-declarative-form-submissions-743bb9bd0b0e?source=rss----447683c3d9a3---4>)

Author: Angular

Published: 2026-08-28T11:01:01Z

Content type: article

Language: en

Sources: [Angular](<https://devfeed.tech/sources/angular.md>)

Topics: [Angular](<https://devfeed.tech/topics/angular.md>), [Forms](<https://devfeed.tech/topics/forms.md>), [CSS](<https://devfeed.tech/topics/css.md>), [reactive](<https://devfeed.tech/topics/reactive.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [css](<https://devfeed.tech/tags/css.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [forms](<https://devfeed.tech/tags/forms.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [reactive-forms](<https://devfeed.tech/tags/reactive-forms.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

An Angular community roundup featuring resources on component CSS and styling architecture, Reactive Forms validation and data structures, and declarative form submissions with the formRoot directive in Angular v21.

### Source excerpt

The Angular ecosystem continues to evolve with powerful new form primitives, styling best practices, and AI-assisted workflows. This week, our global community experts bring us deep dives into component CSS and declarative form handling. Check out this week's expert-led resources: Mastering CSS in Angular (Spanish with English Subtitles) Alejandro Cuba Ruiz (@zorphdark), Raul Jiménez, and Rafael Mestre (@mestre_dev) team up for a fantastic discussion on styling architecture. Learn best practices for managing component styles, encapsulation, and modern CSS patterns in Angular apps. Watch the discussion: https://youtu.be/YrY3tgbkJkY Free Book Chapter: Deep Dive into Reactive Forms (German) Johannes Hoppe (@johanneshoppe) , Ferdinand Malcher (@fmalcher01), and Danny Koppenhagen have released another valuable free excerpt from their upcoming book! This chapter provides an incredibly thorough guide to managing complex validation and data structures using traditional Reactive Forms. Read the free chapter: https://angular-buch.com/material/reactive-forms Signal Forms: Declarative Submission with formRoot (French) Modeste Assiongbon (@rblmdst) continues his exceptional French-language coverage of Angular v21. This installment walks through how to utilize the new formRoot directive to handle form submissions in a clean, declarative manner. Watch the French tutorial: https://youtu.be/um7SYqXcGA8 Keep the knowledge moving! Use #AngularSparkles to share your favorite tutorials and level up your fellow developers. Styling Mastery and Declarative Form Submissions 🎨🤖 was originally published in Angular Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.

## Angular Forms, Web AI, and Architecture Community Features

DevFeed: [Angular Forms, Web AI, and Architecture Community Features](<https://devfeed.tech/articles/the-forms-evolution-web-ai-and-architectural-vision-18914.md>)

Original publisher: [Read original article](<https://blog.angular.dev/the-forms-evolution-web-ai-and-architectural-vision-4f96634b0ae3?source=rss----447683c3d9a3---4>)

Author: Angular

Published: 2026-08-14T13:01:03Z

Content type: article

Language: en

Sources: [Angular](<https://devfeed.tech/sources/angular.md>)

Topics: [Angular](<https://devfeed.tech/topics/angular.md>), [Forms](<https://devfeed.tech/topics/forms.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Web](<https://devfeed.tech/topics/web.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Development](<https://devfeed.tech/topics/development.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [angular](<https://devfeed.tech/tags/angular.md>), [angular-newsletter](<https://devfeed.tech/tags/angular-newsletter.md>), [angular-weekly](<https://devfeed.tech/tags/angular-weekly.md>), [coding](<https://devfeed.tech/tags/coding.md>), [forms](<https://devfeed.tech/tags/forms.md>), [state](<https://devfeed.tech/tags/state.md>), [state-management](<https://devfeed.tech/tags/state-management.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

This Angular community roundup covers the evolution of form state management from template-driven approaches to the reactive Signal Forms API, client-side machine learning in browsers, Angular v21 architecture, pragmatic AI use, developer tooling, and coding challenges involving Signal Forms and form arrays.

### Source excerpt

The Angular ecosystem continues to push forward with deeper AI integration and modern form architectures. This week, our community experts track the complete evolution of form handling, explore client-side AI, and dive into tactical discussions about developer craftsmanship in the age of AI. Catch up with these incredible community features! From Template-Driven to Signal-Driven Angular Forms Sonu Kapoor @SonuKapoor1978 charts the complete architectural evolution of forms in Angular. Learn how form state management has progressed from legacy template-driven approaches all the way to the highly reactive, modern Signal Forms API. Read the full article: https://www.codemag.com/Article/264041/From-Template-Driven-to-Signal-Driven-The-Complete-Evolution-of-Angular-Forms What's New in Web AI? Christian Liebel (@christianliebel) l breaks down the latest advancements in client-side machine learning. Discover how you can leverage powerful Web AI capabilities directly inside browser environments to build faster, privacy-focused web experiences. Watch the conference talk: https://www.youtube.com/watch?v=jFd8FomARsw The Dev Life Podcast: Angular v21 Architecture, Pragmatic AI, and Tooling Lessons Brooke Avery @JediBravery and Matthew Christiansen drop three stellar episodes of The Dev Life podcast covering architecture and real-world AI strategies. First, they host Sander Elias to map out v21 vision and velocity from an architect's lens. Next, legendary author Dave Thomas drops by to discuss developer craftsmanship as a "Pragmatic Agent." Finally, Alfredo Perez joins the show to share favorite tools and hard-earned lessons from using AI in the trenches. Listen to Ep. 11 (Modern Angular Architecture): https://www.youtube.com/watch?v=r0bKFy96UMM Listen to Ep. 13 (The Pragmatic Agent): https://www.youtube.com/watch?v=-rGMJdbH-yA Listen to Ep. 16 (AI in the Trenches): https://www.youtube.com/watch?v=bg38uSYpM8c Hands-On Code Challenges: Signal Forms and Form Arrays Ready to practic

## Where I'm Writing Now: The Complete 14-Part BlocSignal Series on DEV.to

DevFeed: [Where I'm Writing Now: The Complete 14-Part BlocSignal Series on DEV.to](<https://devfeed.tech/articles/where-i-m-writing-now-the-complete-14-part-blocsignal-series-on-dev-to-23055.md>)

Original publisher: [Read original article](<https://medium.com/flutter-community/where-im-writing-now-the-complete-14-part-blocsignal-series-on-dev-to-2b27b47b00c8?source=rss----86fb29d7cc6a---4>)

Author: Randal L. Schwartz

Published: 2026-08-10T16:00:59Z

Content type: opinion

Language: en

Sources: [Flutter Community - Medium](<https://devfeed.tech/sources/flutter-community-medium.md>)

Topics: [Flutter](<https://devfeed.tech/topics/flutter.md>), [Dart](<https://devfeed.tech/topics/dart.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [bloc](<https://devfeed.tech/tags/bloc.md>), [blocsignal](<https://devfeed.tech/tags/blocsignal.md>), [dart](<https://devfeed.tech/tags/dart.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [dev](<https://devfeed.tech/tags/dev.md>), [developer-community](<https://devfeed.tech/tags/developer-community.md>), [development](<https://devfeed.tech/tags/development.md>), [flutter](<https://devfeed.tech/tags/flutter.md>), [series](<https://devfeed.tech/tags/series.md>), [signal](<https://devfeed.tech/tags/signal.md>), [state-management](<https://devfeed.tech/tags/state-management.md>), [tracing](<https://devfeed.tech/tags/tracing.md>), [writing](<https://devfeed.tech/tags/writing.md>)

### AI overview

The author announces that DEV.to and the Google Developer Experts organization on DEV.to are now the primary publishing hubs for new technical writing. The article presents a 14-part BlocSignal series covering Dart and Flutter state management, architecture, interoperability, dependency injection, tracing, and web development.

### Source excerpt

If you've been following my articles here on Medium over the years, thank you! I wanted to share a quick update on where I'm primarily publishing my new technical deep dives, architectural guides, and Flutter/Dart tutorials. Going forward, my primary writing hub is DEV.to (@randalschwartz) and the official Google Developer Experts (GDE) organization on DEV.to. DEV.to provides a vibrant developer community, native Dart syntax highlighting, and a built-in Series feature that links connected articles into structured, multi-part curricula. 🚀 The New Series: BlocSignal Architecture & Practice Over the last month, my team and I launched BlocSignal -- a production-grade state management framework for Dart and Flutter that bridges BLoC's enterprise discipline with Signals' 0ms synchronous reactivity. We've published a comprehensive 14-part series on DEV.to covering everything from core state machine philosophy and Riverpod/Provider interop to dependency injection, OpenTelemetry tracing, and Jaspr web development. Here is the complete roadmap of all 14 articles available to read right now on DEV.to: 🏛 1. Core Architecture & Philosophy Introducing BlocSignal: Unidirectional Data Flow Meets Reactive Signals The origin story: bridging BLoC semantics with Rody Davis's signals v7 primitives for 0ms microtask queue latency. BLoC meets Signals: How to Pitch BlocSignal to Your Dev Leads How to navigate technical team reviews and explain the enterprise value of synchronous signal graphs. How We Achieved Full BLoC API & Protocol Parity in BlocSignal 0.2.0 A deep dive into BlocProvider, BlocBuilder, BlocListener, BlocConsumer, and context.select parity. Beyond ProviderNotFound: How BlocSignal Rethinks State Location and Synchronous Propagation Solving scope lookups and understanding why synchronous signal updates prevent frame tearing. From Raw Signals to BlocSignal: Taming Reactivity for Enterprise Scale How encapsulating signals inside Cubit/Bloc containers stops global signal "spagh

## Angular Weekly: Tutorials and Guides on Reactive Flows, AI Agents, SignalStore Events, and SSR

DevFeed: [Angular Weekly: Tutorials and Guides on Reactive Flows, AI Agents, SignalStore Events, and SSR](<https://devfeed.tech/articles/reactive-flows-ai-agents-and-state-events-this-week-s-angular-masterclass-18907.md>)

Original publisher: [Read original article](<https://blog.angular.dev/angular-weekly-july-17-2026-05440da623ad?source=rss----447683c3d9a3---4>)

Author: Angular

Published: 2026-07-17T10:01:04Z

Content type: news

Language: en

Sources: [Angular](<https://devfeed.tech/sources/angular.md>)

Topics: [Angular](<https://devfeed.tech/topics/angular.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Forms](<https://devfeed.tech/topics/forms.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [Server-side rendering](<https://devfeed.tech/topics/server-side-rendering.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [angular](<https://devfeed.tech/tags/angular.md>), [angular-weekly](<https://devfeed.tech/tags/angular-weekly.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [forms](<https://devfeed.tech/tags/forms.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [server-side-rendering](<https://devfeed.tech/tags/server-side-rendering.md>)

### AI overview

This Angular community roundup highlights tutorials and guides on Modern Angular, Claude Code for Angular development, NgRx SignalStore events, signal-driven error monitoring, accessible Signal Forms, reactive flows, and Angular 21 server-side rendering.

### Source excerpt

The Angular ecosystem is moving incredibly fast, bringing together fully reactive architectures, smart AI agents, and robust state management. Whether you're starting from scratch or optimizing enterprise applications, our community has you covered with exceptional resources this week! Dive into these latest expert-led contributions: Modern Angular from Scratch (French) Modeste Assiongbon (@rblmdst) has launched an extensive, practical step-by-step tutorial series designed to help the French-speaking community master Modern Angular (v19+) completely from zero. Start the playlist: https://www.youtube.com/playlist?list=PLnBtvYS1AbOy9MbzptICj-qH4rIat7j9M Claude Code: The AI Agent for Angular Developers Johannes Hoppe (@johanneshoppe) explores how to integrate Claude Code into your development pipeline. Learn how this specialized command-line AI agent acts as a powerful companion for both seasoned developers and newcomers. Read the blog post: https://angular.schule/blog/2026-02-claude-code NgRx SignalStore Events Plugin (English & Spanish) Arcadio Quintero (@oidacra) introduces a game-changing plugin for managing SignalStore events. Discover how to handle side effects cleanly and pass explicit event signals directly into your application state. Read the English guide: https://arcadioquintero.com/en/blog/ngrx-signalstore-events-plugin Read the Spanish guide: https://arcadioquintero.com/es/blog/ngrx-signalstore-events-plugin Signal-Driven Error Monitoring in Angular Sonu Kapoor (@SonuKapoor1978) breaks down how to detect and debug reactive failures. This guide shows you how to implement Signal-driven error monitoring to catch bugs gracefully across your asynchronous streams. Read the technical deep-dive: https://blog.appsignal.com/2026/02/19/signal-driven-error-monitoring-detecting-and-debugging-reactive-failures-in-angular.html Angular v21 Signal Forms: FocusBoundControl (French) Modeste Assiongbon (@rblmdst) delivers a targeted tutorial focusing on form accessibility an

## How We Cut Kafka Consumer Deployment Costs by 83%

DevFeed: [How We Cut Kafka Consumer Deployment Costs by 83%](<https://devfeed.tech/articles/how-we-cut-kafka-consumer-deployment-costs-by-83-28062.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2026-06-12-how-we-cut-kafka-consumer-deployment-costs-by-83/>)

Author: ZhongLi Shen He creates fantastic software as a backend engineer GitHub profile Linkedin profile

Published: 2026-06-12T00:00:00Z

Content type: tutorial

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [Kafka](<https://devfeed.tech/topics/kafka.md>), [Deployer](<https://devfeed.tech/topics/deployer.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [backpressure](<https://devfeed.tech/tags/backpressure.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [java](<https://devfeed.tech/tags/java.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [library](<https://devfeed.tech/tags/library.md>), [performance](<https://devfeed.tech/tags/performance.md>), [reactive](<https://devfeed.tech/tags/reactive.md>)

### AI overview

This post explains how trivago investigated PSE-kafka's low CPU usage, slow Kafka polling, and consumer lag. The investigation found that replacing the in-house KafkaReceiverFlux with spring-kafka removed the lag, while the team continued looking for a suitable fix that preserved pull-based consumption and backpressure. The changes ultimately cut infrastructure costs by 83% and ended a run of 19 P1 incidents.

### Source excerpt

This post walks through a layered performance investigation that cut PSE-kafka's infrastructure costs by 83% and ended a run of 19 P1 incidents.PSE-kafka (price-search-engine-kafka) i...

## Announcing Angular v22

DevFeed: [Announcing Angular v22](<https://devfeed.tech/articles/announcing-angular-v22-18908.md>)

Original publisher: [Read original article](<https://blog.angular.dev/announcing-angular-v22-c52bb83a4664?source=rss----447683c3d9a3---4>)

Author: Angular

Published: 2026-06-03T16:14:58Z

Content type: release

Language: en

Sources: [Angular](<https://devfeed.tech/sources/angular.md>)

Topics: [Angular](<https://devfeed.tech/topics/angular.md>), [Forms](<https://devfeed.tech/topics/forms.md>), [aria](<https://devfeed.tech/topics/aria.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [angular material](<https://devfeed.tech/topics/angular-material.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [angular-material](<https://devfeed.tech/tags/angular-material.md>), [angular-release](<https://devfeed.tech/tags/angular-release.md>), [angular-v22](<https://devfeed.tech/tags/angular-v22.md>), [new-features](<https://devfeed.tech/tags/new-features.md>), [quality](<https://devfeed.tech/tags/quality.md>), [reactive-forms](<https://devfeed.tech/tags/reactive-forms.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

Angular v22 is released with updates focused on stability and developer ergonomics. The release moves Signal Forms, Angular Aria, and the Asynchronous Reactivity APIs to production-ready status. Signal Forms also receive documentation, community feedback updates, and Angular Material and Angular Aria integration support.

### Source excerpt

Today, we are thrilled to announce the release of Angular v22. We continue to be proud of the work we do with each release. Our goal is to maintain a high quality stream of features and improvements that make the workflows for developers smooth no matter how they build Angular applications. Angular is the solid foundation upon which you can build what's next on the web. This release features updates across stability, ergonomics and more. We want Angular to be a sort of launch pad that you can use as you build your next great application. There's some great features to discuss, so let's dive in. Production Ready is the Name of the Game On the Angular team, we take a lot of joy and pride in our ability to update our APIs to bring great new features to Angular. When bringing new features to the table, we typically release a feature as experimental or developer preview. This gives the team time to gather feedback and iterate on new features. During this time, features will undergo refinement with the intention of delivering the best possible version to the community. This is great except that it means some features will not be production ready even though developers are excited and ready to use them immediately. In this release, we're excited to be bringing 3 significant Angular features to production-ready, stable status: Signal Forms, Angular Aria and the Asynchronous Reactivity APIs. Signal Forms: Composable, Reactive and Ready to go We designed Signal Forms to be the new, robust forms API. Signal forms combine the best parts of Reactive forms, the value of strongly typed forms, as well as the things developers love about template driven forms and reactivity of signals. We put all of that together to make a reactive, composable and declarative form solution. When we launched Signal Forms in v21, we received strong signals (pun intended) from teams inside and outside of Google that we were on the right track. Since then, we've updated Signal Forms by: Adding a complet

## strace-ui, Bonsai\_term, and the TUI renaissance

DevFeed: [strace-ui, Bonsai\_term, and the TUI renaissance](<https://devfeed.tech/articles/strace-ui-bonsai-term-and-the-tui-renaissance-20213.md>)

Original publisher: [Read original article](<https://blog.janestreet.com/strace-ui-bonsai-term-and-the-tui-renaissance/>)

Author: James Somers

Published: 2026-05-26T00:00:00Z

Content type: article

Language: en

Sources: [Jane Street](<https://devfeed.tech/sources/jane-street.md>)

Topics: [Text-based user interface](<https://devfeed.tech/topics/tui.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [debug](<https://devfeed.tech/topics/debug.md>), [tracing](<https://devfeed.tech/topics/tracing.md>), [OCaml](<https://devfeed.tech/topics/ocaml.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Bonsai](<https://devfeed.tech/topics/bonsai-rx.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [debugging](<https://devfeed.tech/tags/debugging.md>), [framework](<https://devfeed.tech/tags/framework.md>), [functional](<https://devfeed.tech/tags/functional.md>), [library](<https://devfeed.tech/tags/library.md>), [ocaml](<https://devfeed.tech/tags/ocaml.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [threads](<https://devfeed.tech/tags/threads.md>), [trace](<https://devfeed.tech/tags/trace.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

The article introduces strace-ui, an interactive terminal UI that makes strace output easier to inspect by formatting data, assigning short identifiers to processes and threads, and supporting interactive filtering and navigation. It also discusses how OCaml and the Bonsai framework have made interactive terminal UI development more practical.

### Source excerpt

We've always found strace useful but somewhat hard to work with. Its output is often inscrutable, it's hard to follow subprocesses or threads, and if you want to filter syscalls you have to rerun the trace with a flag for each one. What you want in debugging is a tool for exploring, refining, etc., but strace can make this difficult.

## Realtime PostgreSQL: From Data Connect to SQL Connect

DevFeed: [Realtime PostgreSQL: From Data Connect to SQL Connect](<https://devfeed.tech/articles/realtime-postgresql-from-data-connect-to-sql-connect-16662.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2026/04/whats-new-sql-connect>)

Author: Cynthia Wang

Published: 2026-04-29T00:00:00Z

Content type: news

Language: en

Sources: [Firebase Blog](<https://devfeed.tech/sources/firebase-blog.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Firebase](<https://devfeed.tech/topics/firebase.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>)

Tags: [admin-sdk](<https://devfeed.tech/tags/admin-sdk.md>), [caching](<https://devfeed.tech/tags/caching.md>), [cloud-functions](<https://devfeed.tech/tags/cloud-functions.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [full-text-search](<https://devfeed.tech/tags/full-text-search.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [realtime](<https://devfeed.tech/tags/realtime.md>), [sdks](<https://devfeed.tech/tags/sdks.md>), [sql](<https://devfeed.tech/tags/sql.md>), [sql-connect](<https://devfeed.tech/tags/sql-connect.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

Firebase announces that Firebase Data Connect is becoming Firebase SQL Connect, with a renewed focus on PostgreSQL and expanded SQL capabilities. The update includes Realtime Query Updates, Offline Caching, raw SQL alongside GraphQL, and lower-friction access for prototypes and testing.

### Source excerpt

News, tutorials, and updates from the Firebase team.

## How we rebuilt the foundations of component instances

DevFeed: [How we rebuilt the foundations of component instances](<https://devfeed.tech/articles/how-we-rebuilt-the-foundations-of-component-instances-9812.md>)

Original publisher: [Read original article](<https://www.figma.com/blog/how-we-rebuilt-the-foundations-of-component-instances/>)

Author: Naomi Jung

Published: 2026-03-17T20:00:00Z

Content type: article

Language: en

Sources: [Figma Blog](<https://devfeed.tech/sources/figma-blog.md>)

Topics: [Figma](<https://devfeed.tech/topics/figma.md>), [Design system](<https://devfeed.tech/topics/design-system.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [component](<https://devfeed.tech/tags/component.md>), [design-systems](<https://devfeed.tech/tags/design-systems.md>), [figma](<https://devfeed.tech/tags/figma.md>), [reactive](<https://devfeed.tech/tags/reactive.md>)

### AI overview

Figma describes replacing the decade-old Instance Updater architecture for component instances with a reactive foundation. The change made common operations in large design systems up to 50% faster and supports more dynamic features as components become more complex.

### Source excerpt

By replacing a decade-old architecture with a reactive foundation, we made common operations in large design systems up to 50% faster and unlocked a new way to build dynamic features.

## What's new in Svelte: March 2026

DevFeed: [What's new in Svelte: March 2026](<https://devfeed.tech/articles/what-s-new-in-svelte-march-2026-3103.md>)

Original publisher: [Read original article](<https://svelte.dev/blog/whats-new-in-svelte-march-2026>)

Author: Dani Sandoval

Published: 2026-03-01T00:00:00Z

Content type: release

Language: en

Sources: [Svelte blog](<https://devfeed.tech/sources/svelte-blog.md>)

Topics: [Svelte](<https://devfeed.tech/topics/svelte.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Frameworks](<https://devfeed.tech/topics/frameworks.md>), [Netlify](<https://devfeed.tech/topics/netlify.md>), [Vite](<https://devfeed.tech/topics/vite.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [frameworks](<https://devfeed.tech/tags/frameworks.md>), [netlify](<https://devfeed.tech/tags/netlify.md>), [performance](<https://devfeed.tech/tags/performance.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [releases](<https://devfeed.tech/tags/releases.md>), [svelte](<https://devfeed.tech/tags/svelte.md>)

### AI overview

Svelte's March 2026 update covers new features and fixes in Svelte, SvelteKit, and the Svelte CLI. Highlights include TrustedHTML support, server-side error boundaries, improved navigation scroll information, Vite 8 support, Netlify adapter changes, configurable redirects, and a new official better-auth addon.

### Source excerpt

This month, we got a ton of new features across Svelte, SvelteKit and even the Svelte CLI. Plus, the State of JS 2025 is out and Svelte continues to hold the top spot among reactive frameworks in terms of positive sentiment. So, without further ado, let's dive in! What's new in Svelte createContext can now be used when instantiating components programmatically (svelte@5.50.0, Docs, #17575) {@html} expressions now support TrustedHTML (svelte@5.52.0, #17701) Comments are now allowed in HTML tags (svelte@5.53.0/svelte-language-server@0.17.28, #17671) Error boundaries now work on the server (svelte@5.53.0, Docs, #17672) For a full list of changes - including all the important bugfixes that went into the releases this month - check out the Svelte compiler's CHANGELOG What's new in SvelteKit hydratable's injected script now works with CSP (kit@2.51.0, #15048) Navigation callbacks (beforeNavigate, onNavigate, and afterNavigate) now include scroll position information via the scroll property on from and to targets. This enables use cases like animating transitions based on the target scroll position when using browser back/forward navigation (kit@2.51.0, Docs, #15248) Vite 8 is now supported (kit@2.53.0, #15024) The match function can map a path back to a route id and params (kit@2.52.0, Docs, #14997) Breaking (Netlify Adapter): platform.context now uses modern Netlify Functions - previously this was the AWS Lambda-style context. If you were using this in your app (unlikely), you will need to update your code to read from new fields. (adapter-netlify@6.0.0, More details, Docs, #15203) redirects can now be configured in netlify.toml - removing the limitation of only being able to configure redirects via the _redirects file (adapter-netlify@6.0.0, #15203) better-auth is now an official addon in the Svelte CLI (sv@0.12.0, #898) Looking for more details on the many bug fixes and performance optimizations from this month? Check out the SvelteKit / Adapter CHANGELOGs. Community S

## afterRenderEffect, afterNextRender, afterEveryRender & Renderer2

DevFeed: [afterRenderEffect, afterNextRender, afterEveryRender & Renderer2](<https://devfeed.tech/articles/afterrendereffect-afternextrender-aftereveryrender-renderer2-37458.md>)

Original publisher: [Read original article](<https://www.angularspace.com/afterrendereffect-afternextrender-aftereveryrender-renderer2/>)

Author: Eduard Krivanek

Published: 2025-09-16T11:29:19Z

Content type: tutorial

Language: en

Sources: [Daniel Glejzner](<https://devfeed.tech/sources/daniel-glejzner.md>)

Topics: [Angular](<https://devfeed.tech/topics/angular.md>), [Document Object Model (DOM)](<https://devfeed.tech/topics/dom.md>), [Server-side rendering](<https://devfeed.tech/topics/server-side-rendering.md>), [reactive](<https://devfeed.tech/topics/reactive.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [articles](<https://devfeed.tech/tags/articles.md>), [browser](<https://devfeed.tech/tags/browser.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [rxjs](<https://devfeed.tech/tags/rxjs.md>), [ssr](<https://devfeed.tech/tags/ssr.md>), [state](<https://devfeed.tech/tags/state.md>)

### AI overview

This Angular tutorial compares effect, afterRenderEffect, afterNextRender, afterEveryRender, and Renderer2. It explains how effects respond to signal dependencies, how they interact with server-side rendering, when browser-only work should run, and how cleanup helps prevent leaks from listeners, intervals, and external libraries.

### Source excerpt

Recently I've been playing around with some Angular functionalities, which are: effect, afterRenderEffect, afterNextRender, afterEveryRender and Renderer2. You don't see them used much compared to signals or computed. Maybe only effect is more common, however how and when to use the rest? I wanted to write

## Migrating to Angular Signals

DevFeed: [Migrating to Angular Signals](<https://devfeed.tech/articles/migrating-to-angular-signals-37469.md>)

Original publisher: [Read original article](<https://www.angularspace.com/migrating-to-angular-signals/>)

Author: Armen Vardanyan

Published: 2025-08-27T10:43:56Z

Content type: tutorial

Language: en

Sources: [Daniel Glejzner](<https://devfeed.tech/sources/daniel-glejzner.md>)

Topics: [Angular](<https://devfeed.tech/topics/angular.md>), [reactive](<https://devfeed.tech/topics/reactive.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [articles](<https://devfeed.tech/tags/articles.md>), [optional](<https://devfeed.tech/tags/optional.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [rxjs](<https://devfeed.tech/tags/rxjs.md>), [state](<https://devfeed.tech/tags/state.md>), [state-management](<https://devfeed.tech/tags/state-management.md>)

### AI overview

This tutorial examines migrating Angular applications to Signals for state management and reactivity. It explains that RxJS is expected to become optional rather than unsupported, while Signals can handle many tasks.

### Source excerpt

Today, everyone, everywhere in the Angular community is talking about Signals. They are the new way to manage state and reactivity in Angular applications, promising a better way to build logic and a very much improved change detection. However, many are hesitant. And this is understandable! Not only are signals

## TanStack DB with Sync - the future of real-time UI

DevFeed: [TanStack DB with Sync - the future of real-time UI](<https://devfeed.tech/articles/tanstack-db-with-sync-the-future-of-real-time-ui-5810.md>)

Original publisher: [Read original article](<https://neon.com/blog/tanstack-db-and-electricsql>)

Author: Andre Landgraf

Published: 2025-08-07T00:14:47Z

Content type: article

Language: en

Sources: [Blog -- Neon Docs](<https://devfeed.tech/sources/blog-neon-docs.md>)

Topics: [real-time](<https://devfeed.tech/topics/real-time.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Server](<https://devfeed.tech/topics/server.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Figma](<https://devfeed.tech/topics/figma.md>)

Tags: [building](<https://devfeed.tech/tags/building.md>), [community](<https://devfeed.tech/tags/community.md>), [data](<https://devfeed.tech/tags/data.md>), [database](<https://devfeed.tech/tags/database.md>), [developers](<https://devfeed.tech/tags/developers.md>), [figma](<https://devfeed.tech/tags/figma.md>), [frameworks](<https://devfeed.tech/tags/frameworks.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [replication](<https://devfeed.tech/tags/replication.md>), [server](<https://devfeed.tech/tags/server.md>), [sync](<https://devfeed.tech/tags/sync.md>), [ui](<https://devfeed.tech/tags/ui.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

The article explains why scalable real-time applications are difficult to build with conventional client-request, server-response web frameworks. It presents sync engines as dedicated services that synchronize distributed client state, connect to databases, use Postgres logical replication to detect changes, and push updates to subscribed clients. ElectricSQL is described as a Postgres-native sync engine that moves real-time logic out of the backend, reducing application complexity and boilerplate while enabling collaborative, multi-device, and multi-user interfaces.

### Source excerpt

Multiplayer UIs aren't new. Tools like Figma and Google Docs have brought collaborative, real-time experiences to millions of users. But for most developers, building robust and scalable real-time applications has always been out of reach. Real-time is hard. The benefits are obvi...

## VanillaCreamJS adds reactive capabilities to native JavaScript without build or compilation steps

DevFeed: [VanillaCreamJS adds reactive capabilities to native JavaScript without build or compilation steps](<https://devfeed.tech/articles/vanillacreamjs-superpowers-for-native-javascript-17875.md>)

Original publisher: [Read original article](<https://www.codemotion.com/magazine/backend/vanillacreamjs-superpowers-for-native-javascript/>)

Author: Riccardo Degni

Published: 2025-06-10T15:36:07Z

Content type: article

Language: en

Sources: [Backend Job: skill, salary and insights - Codemotion Magazine](<https://devfeed.tech/sources/backend-job-skill-salary-and-insights-codemotion-magazine.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Library](<https://devfeed.tech/topics/library.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Document Object Model (DOM)](<https://devfeed.tech/topics/dom.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [frameworks](<https://devfeed.tech/tags/frameworks.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [library](<https://devfeed.tech/tags/library.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

This developer article introduces VanillaCreamJS, a JavaScript library that adds reactive state binding and DOM-update capabilities to native JavaScript without build tools or compilation. It describes installation, the $ function, reactive properties, bulk updates, refs, and support for deep reactivity with arrays, objects, and matrices.

### Source excerpt

VanillaCreamJS is a JavaScript library that literally gives "superpowers" to native JavaScript, enabling powerful and modern capabilities like reactivity without the need for build tools or compilation steps. It's a one-of-a-kind technology because it: VanillaCreamJS is created and maintained by Riccardo Degni, a senior Italian web developer. 👉 https://www.riccardodegni.com/projects/vanillacreamjs 📦 Installation Simply include VanillaCreamJS via... Read more The post VanillaCreamJS: Superpowers for Native JavaScript appeared first on Codemotion Magazine.

## Turning Any Android Callback into a Flow with callbackFlow

DevFeed: [Turning Any Android Callback into a Flow with callbackFlow](<https://devfeed.tech/articles/turning-any-android-callback-into-a-flow-with-callbackflow-25119.md>)

Original publisher: [Read original article](<http://michaelevans.org/blog/2025/03/22/turning-any-android-callback-into-a-flow-with-callbackflow/>)

Author: Michael Evans

Published: 2025-03-23T03:10:16Z

Content type: tutorial

Language: en

Sources: [Gadget Habit](<https://devfeed.tech/sources/gadget-habit.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Coroutines](<https://devfeed.tech/topics/coroutines.md>), [Firebase](<https://devfeed.tech/topics/firebase.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [API](<https://devfeed.tech/topics/api.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [realtime-database](<https://devfeed.tech/tags/realtime-database.md>)

### AI overview

This tutorial explains how to use Kotlin's callbackFlow to adapt callback- or listener-based Android APIs into reactive Flow streams. Using Firebase Realtime Database as an example, it shows how to emit updates, propagate cancellation errors, and remove listeners when collection ends.

### Source excerpt

If you've been working with Android for any amount of time, you've probably run into APIs that expose their results using callbacks or listeners. Whether it's something like LocationManager, a custom SDK, or a third-party service like Firebase, you're often stuck adapting old-school async patterns into your modern reactive code. This approach is especially helpful in apps using Jetpack Compose, coroutines, or unidirectional data flow. Fortunately, Kotlin's callbackFlow makes this much easier. In this post, we'll show how to wrap a listener-based API using callbackFlow, so you can collect updates as a Flow. We'll use the Firebase Realtime Database as an example, but this pattern works for nearly anything. The Problem: Listeners Aren't Reactive Here's the classic way of listening to changes in the Firebase Realtime Database: 1 2 3 4 5 6 7 8 9 10 11 val postListener = object : ValueEventListener { override fun onDataChange(dataSnapshot: DataSnapshot) { val post = dataSnapshot.getValue<Post>() // update UI } override fun onCancelled(error: DatabaseError) { Log.w(TAG, "loadPost:onCancelled", error.toException()) } } postReference.addValueEventListener(postListener) This works fine -- but it's imperative and not easily composable with things like StateFlow, LiveData, or Jetpack Compose. Let's fix that. The Fix: Wrap It with callbackFlow Kotlin's callbackFlow is designed for exactly this kind of situation -- where you need to bridge a listener-based API into a reactive stream. Here's what it looks like for Firebase: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 fun Query.asFlow(): Flow<DataSnapshot> = callbackFlow { val listener = object : ValueEventListener { override fun onDataChange(snapshot: DataSnapshot) { trySend(snapshot).isSuccess // emit each snapshot into the Flow } override fun onCancelled(error: DatabaseError) { close(error.toException()) // cancel the flow on error } } // Start listening for updates addValueEventListener(listener) // Suspend until the flow is closed

## jOOQ 3.20 released with ClickHouse, Databricks, and much more DuckDB support, new modules, Oracle type hierarchies, more spatial support, decfloat and synonym support, hidden columns, Scala 3, Kotlin 2, and much more

DevFeed: [jOOQ 3.20 released with ClickHouse, Databricks, and much more DuckDB support, new modules, Oracle type hierarchies, more spatial support, decfloat and synonym support, hidden columns, Scala 3, Kotlin 2, and much more](<https://devfeed.tech/articles/jooq-3-20-released-with-clickhouse-databricks-and-much-more-duckdb-support-new-modules-oracle-type-hierarchies-more-spatial-support-decfloat-and-synonym-support-hidden-co-28953.md>)

Original publisher: [Read original article](<https://blog.jooq.org/jooq-3-20-released-with-clickhouse-databricks-and-much-more-duckdb-support-new-modules-oracle-type-hierarchies-more-spatial-support-decfloat-and-synonym-support-hidden-columns-scala-3-kotlin/>)

Author: lukaseder

Published: 2025-02-20T10:27:54Z

Content type: release

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [databricks](<https://devfeed.tech/topics/databricks.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [DuckDB](<https://devfeed.tech/topics/duckdb.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Oracle Database](<https://devfeed.tech/topics/oracle-database.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Scala](<https://devfeed.tech/topics/scala.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [jpa](<https://devfeed.tech/topics/jpa.md>)

Tags: [array](<https://devfeed.tech/tags/array.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [databricks](<https://devfeed.tech/tags/databricks.md>), [decfloat](<https://devfeed.tech/tags/decfloat.md>), [dirty-tracking](<https://devfeed.tech/tags/dirty-tracking.md>), [dml-join](<https://devfeed.tech/tags/dml-join.md>), [duckdb](<https://devfeed.tech/tags/duckdb.md>), [hidden-columns](<https://devfeed.tech/tags/hidden-columns.md>), [jdk-21](<https://devfeed.tech/tags/jdk-21.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [jooq-3-20](<https://devfeed.tech/tags/jooq-3-20.md>), [jooq-development](<https://devfeed.tech/tags/jooq-development.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [json](<https://devfeed.tech/tags/json.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-2](<https://devfeed.tech/tags/kotlin-2.md>), [merge](<https://devfeed.tech/tags/merge.md>), [modules](<https://devfeed.tech/tags/modules.md>), [oracle](<https://devfeed.tech/tags/oracle.md>), [oracle-plsql-types](<https://devfeed.tech/tags/oracle-plsql-types.md>), [r2dbc](<https://devfeed.tech/tags/r2dbc.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [scala](<https://devfeed.tech/tags/scala.md>), [scala-3](<https://devfeed.tech/tags/scala-3.md>), [sequences](<https://devfeed.tech/tags/sequences.md>), [spatial](<https://devfeed.tech/tags/spatial.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

jOOQ 3.20 introduces experimental ClickHouse and Databricks SQL dialects, improves DuckDB support, adds new integration modules, and expands support for Oracle type hierarchies, spatial features, decfloat, synonyms, hidden columns, Scala 3, and Kotlin 2.

### Source excerpt

New dialects: jOOQ 3.20 ships with 2 new experimental dialects: ClickHouse is a fast-moving SQL dialect with a historic vendor-specific syntax that is gradually migrated to a more standards compliant alternative, which is why our support is still experimental. A lot of behaviours differ from what one would expect elsewhere, including NULL handling, which is ... Continue reading jOOQ 3.20 released with ClickHouse, Databricks, and much more DuckDB support, new modules, Oracle type hierarchies, more spatial support, decfloat and synonym support, hidden columns, Scala 3, Kotlin 2, and much more ->

## How to break the cycle of firefighting and build engineering excellence

DevFeed: [How to break the cycle of firefighting and build engineering excellence](<https://devfeed.tech/articles/how-to-break-the-cycle-of-firefighting-and-build-engineering-excellence-35231.md>)

Original publisher: [Read original article](<https://jes.al/2025/01/how-break-cycle-of-firefighting/>)

Author: jesalg

Published: 2025-01-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Jesal Gadhia](<https://devfeed.tech/sources/jesal-gadhia.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [systems](<https://devfeed.tech/topics/systems.md>), [reactive](<https://devfeed.tech/topics/reactive.md>)

Tags: [career](<https://devfeed.tech/tags/career.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [engineering-excellence](<https://devfeed.tech/tags/engineering-excellence.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [leadership](<https://devfeed.tech/tags/leadership.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [prevent](<https://devfeed.tech/tags/prevent.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

This article explains how engineering leaders can break out of reactive firefighting by using systems thinking. It introduces the iceberg model, distinguishing visible events from recurring patterns and deeper causes, and argues that identifying persistent patterns can support more proactive engineering practices.

### Source excerpt

Exercise better foresight by identifying patterns, pinpointing what makes them persist, and understanding what could prevent it in the future

## Advent of Svelte

DevFeed: [Advent of Svelte](<https://devfeed.tech/articles/advent-of-svelte-3027.md>)

Original publisher: [Read original article](<https://svelte.dev/blog/advent-of-svelte>)

Author: The Svelte team

Published: 2024-12-01T00:00:00Z

Content type: article

Language: en

Sources: [Svelte blog](<https://devfeed.tech/sources/svelte-blog.md>)

Topics: [Svelte](<https://devfeed.tech/topics/svelte.md>), [Advent of Code](<https://devfeed.tech/topics/advent-of-code.md>), [Code](<https://devfeed.tech/topics/code.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [browser](<https://devfeed.tech/tags/browser.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [new-feature](<https://devfeed.tech/tags/new-feature.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [svelte](<https://devfeed.tech/tags/svelte.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

Svelte Society's Advent of Svelte presents a daily series of Svelte, SvelteKit, and website improvements released through Christmas. The documented updates include error boundaries, simpler each blocks, exported snippets, configurable form default values, reactive media-query helpers, modern Spring and Tween state alternatives, an accessible hierarchical tutorial menu, binding transformations, documentation links for warnings and errors, and awaited asynchronous SvelteKit startup setup.

### Source excerpt

Last December, Svelte Society presented an advent calendar's worth of festive Svelte-themed code challenges. This year, we're turning it around: you get to relax while we take on a challenge. We've set ourselves a goal of releasing one thing a day from here until Christmas, whether it's a new feature in Svelte or SvelteKit or an improvement to the website. Follow @svelte.dev and @sveltesociety.dev and check back every day to see what we've been cooking up. Day 1: error boundaries This is a long-awaited and much-requested feature, that allows you to isolate and recover from errors that occur during rendering. docs tutorial Day 2: each without as If you just want to render something in an {#each ...} block n times, and don't care about the value, you can now omit the as part. docs demo Day 3: exported snippets You can now export snippets from a component's <script module>, for use in other components, as long as those snippets don't reference anything belonging to the component instance. docs demo Day 4: form control default values When you reset a form, the value of each <input> element reverts to its defaultValue. This is normally the empty string, but you can now control it directly in your template. docs demo Day 5: MediaQuery, prefersReducedMotion and createSubscriber It's a three-in-one kind of day. new MediaQuery(...) gives you an object with a reactive current property that's true when the media query matches. prefersReducedMotion is an instance of MediaQuery that matches if the user has expressed a preference for reduced motion, helping you build accessible apps. Under the hood, both are using the createSubscriber mechanism, which gives you an easy way to set up event listeners when a value is read inside an effect. createSubscriber docs MediaQuery docs prefersReducedMotion docs demo Day 6: Spring and Tween We now have modern state-based alternatives to the spring and tweened stores of old. Smooth! Tween tutorial Spring tutorial docs demo Day 7: better tutori

## Modernizing Your Android App's Data Storage: SharedPreferences to DataStore

DevFeed: [Modernizing Your Android App's Data Storage: SharedPreferences to DataStore](<https://devfeed.tech/articles/modernizing-your-android-app-s-data-storage-sharedpreferences-to-datastore-25117.md>)

Original publisher: [Read original article](<http://michaelevans.org/blog/2024/10/10/modernizing-your-android-apps-data-storage-sharedpreferences-to-datastore/>)

Author: Michael Evans

Published: 2024-10-10T15:53:57Z

Content type: tutorial

Language: en

Sources: [Gadget Habit](<https://devfeed.tech/sources/gadget-habit.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [migration](<https://devfeed.tech/topics/migration.md>), [schema-evolution](<https://devfeed.tech/topics/schema-evolution.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Coroutines](<https://devfeed.tech/topics/coroutines.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [flow-api](<https://devfeed.tech/tags/flow-api.md>), [migration](<https://devfeed.tech/tags/migration.md>), [pitfalls](<https://devfeed.tech/tags/pitfalls.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [schema-evolution](<https://devfeed.tech/tags/schema-evolution.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This tutorial explains how to migrate Android app data from SharedPreferences to Proto DataStore. It covers dependencies, schema definition, serialization, repository design, migration testing, schema evolution, error handling, performance, and testing practices.

### Source excerpt

SharedPreferences has long been a staple for storing small pieces of data and user preferences in Android apps. However, it has notable limitations, such as a lack of type safety, no support for safe schema evolution, and potential performance issues on the main thread. Google introduced Proto DataStore as a modern and robust alternative, offering: Strong typing with Protocol Buffers Safe schema evolution Built-in migration support Flow API for reactive programming Coroutines support for main-thread safety In this post, we'll walk through the process of migrating your existing SharedPreferences data to Proto DataStore without data loss, including best practices and common pitfalls to avoid. Step 1: Add Dependencies First, add the necessary dependencies to your app's build.gradle file: 1 2 3 4 5 6 7 8 9 dependencies { def datastore_version = "1.0.0" // Proto DataStore implementation "androidx.datastore:datastore:$datastore_version" // Protocol Buffers implementation "com.google.protobuf:protobuf-javalite:3.18.0" } Step 2: Define Your Proto DataStore Schema Create a new .proto file in app/src/main/proto/my_data.proto to define your data schema: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 syntax = "proto3"; option java_package = "com.example.app"; option java_multiple_files = true; message UserPreferences { // Define your fields with unique numbers string user_name = 1; bool notifications_enabled = 2; string theme = 3; // Optional: Add a version field for future schema evolution int32 schema_version = 999; } Note the schema_version field - this helps manage schema evolution as your app grows. Step 3: Create a Proto DataStore Serializer The serializer handles reading and writing your protocol buffer messages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 object UserPreferencesSerializer : Serializer<UserPreferences> { override val defaultValue: UserPreferences = UserPreferences.getDefaultInstance() override suspend fun readFrom(input: InputStream): UserPreferences { try { return UserPrefere

## Bringing Signals to Lit Labs

DevFeed: [Bringing Signals to Lit Labs](<https://devfeed.tech/articles/bringing-signals-to-lit-labs-3523.md>)

Original publisher: [Read original article](<https://lit.dev/blog/2024-10-08-signals/>)

Author: Lit Team

Published: 2024-10-08T00:00:00Z

Content type: release

Language: en

Sources: [Lit Blog](<https://devfeed.tech/sources/lit-blog.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Web Components](<https://devfeed.tech/topics/web-components.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [polyfill](<https://devfeed.tech/topics/polyfill.md>)

Tags: [compatibility](<https://devfeed.tech/tags/compatibility.md>), [components](<https://devfeed.tech/tags/components.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [polyfill](<https://devfeed.tech/tags/polyfill.md>), [reactive](<https://devfeed.tech/tags/reactive.md>)

### AI overview

Lit Labs announced @lit-labs/signals, a package that integrates the polyfill for the TC39 Signals proposal with Lit. It enables shared observable signals for reactive state management, automatic component updates, targeted re-renders, and interoperability across libraries and frameworks.

### Source excerpt

The new Signals package integrates the TC39 Signals proposal with Lit

## Orbit Multiplatform wins Kotlin Foundation Grant: A Journey and a Look Ahead

DevFeed: [Orbit Multiplatform wins Kotlin Foundation Grant: A Journey and a Look Ahead](<https://devfeed.tech/articles/orbit-multiplatform-wins-kotlin-foundation-grant-a-journey-and-a-look-ahead-27030.md>)

Original publisher: [Read original article](<https://appmattus.medium.com/orbit-multiplatform-wins-kotlin-foundation-grant-a-journey-and-a-look-ahead-6b949cf8133e?source=rss-be40b368c57e------2>)

Author: Matthew Dolan

Published: 2024-10-02T13:30:16Z

Content type: article

Language: en

Sources: [Stories by Matthew Dolan on Medium](<https://devfeed.tech/sources/stories-by-matthew-dolan-on-medium.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Coroutines](<https://devfeed.tech/topics/coroutines.md>), [Library](<https://devfeed.tech/topics/library.md>), [kotlin-coroutines](<https://devfeed.tech/topics/kotlin-coroutines.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Android](<https://devfeed.tech/topics/android.md>), [RxJava](<https://devfeed.tech/topics/rxjava.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [development](<https://devfeed.tech/tags/development.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-coroutines](<https://devfeed.tech/tags/kotlin-coroutines.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [mvi](<https://devfeed.tech/tags/mvi.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [orbit](<https://devfeed.tech/tags/orbit.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [rxjava](<https://devfeed.tech/tags/rxjava.md>)

### AI overview

The article announces that the Kotlin Foundation awarded a grant to Orbit Multiplatform and reviews the open-source library's evolution. It describes Orbit 1's reactive, RxJava-inspired architecture and debugging and maintenance challenges, then explains the redesign leading to Orbit 2, including Kotlin coroutines, structured concurrency, composition, direct function calls, and a simplified DSL.

### Source excerpt

We're thrilled to announce that the Kotlin Foundation has awarded Orbit Multiplatform a grant! This recognition is a tremendous honour and a chance to reflect on Orbit's journey and share our vision for the future. Orbit's Origins Orbit began as an open-source project over five years ago, in September 2019. It was one of the first libraries I co-created with Mikołaj Leszczyński, and its development has been a journey of constant learning and evolution. The Early Days: Orbit 1 I first encountered Orbit when I joined the Android team at Babylon Health in July 2018. Mikołaj had already developed the initial version of Orbit, heavily inspired by RxJava and talks such as Jake Wharton's Managing The Reactive World with RxJava. RxJava's influence was evident in Orbit's reactive approach, with chained operations driving the architecture. However, while this design worked well in some cases, it posed significant challenges -- especially with debugging. For instance, one event could trigger multiple others, leading to hard-to-trace bugs. Additionally, we ran into issues with type erasure due to the use of generics, which made it even harder to maintain the library. Here's an example of the syntax from Orbit 1: data class State(val total: Int = 0) data class AddAction(val number: Int) class CalculatorMiddleware: Middleware<State, Unit> by middleware(State(), { perform("addition") .on<AddAction>() .withReducer { state, action -> state.copy(state.total + action.number) } }) While the initial approach was a valuable learning experience, it became clear that Orbit needed a shift. The Transition: Kotlin Coroutines and Orbit 2 In October 2018, Kotlin 1.3 introduced coroutines, offering an opportunity to rethink Orbit's architecture. Coroutines brought structured concurrency to Kotlin, making asynchronous programming more straightforward and less error-prone. However, it wasn't until May 2020 that we began redesigning Orbit's syntax to leverage coroutines. By August 2020, we released

## How derivedStateOf Works in Jetpack Compose's Snapshot System

DevFeed: [How derivedStateOf Works in Jetpack Compose's Snapshot System](<https://devfeed.tech/articles/how-derivedstateof-works-a-deep-d-er-ive-30529.md>)

Original publisher: [Read original article](<https://blog.zachklipp.com/how-derivedstateof-works-a-deep-d-er-ive/>)

Author: Zach Klippenstein

Published: 2024-07-16T16:58:52Z

Content type: tutorial

Language: en

Sources: [Zach Klippenstein's Blog](<https://devfeed.tech/sources/zach-klippenstein-s-blog.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Library](<https://devfeed.tech/topics/library.md>), [factory function](<https://devfeed.tech/topics/factory-function.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [code](<https://devfeed.tech/tags/code.md>), [compose](<https://devfeed.tech/tags/compose.md>), [compose-state-series](<https://devfeed.tech/tags/compose-state-series.md>), [function](<https://devfeed.tech/tags/function.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [snapshots](<https://devfeed.tech/tags/snapshots.md>), [state](<https://devfeed.tech/tags/state.md>)

### AI overview

This tutorial explains how derivedStateOf works within Jetpack Compose's reactive snapshot system. It introduces the returned object, related concepts such as restartable functions and state dependencies, and the role of state-derived calculations, using Compose source code and examples.

### Source excerpt

Compose's snapshot system is really neat. Once you know how it works, you can do some cool tricks with it, and derivedStateOf is a rich example

## Nuxt 3.12

DevFeed: [Nuxt 3.12](<https://devfeed.tech/articles/nuxt-3-12-3425.md>)

Original publisher: [Read original article](<https://nuxt.com/blog/v3-12>)

Author: Module author; Power User Improvements

Published: 2024-06-10T00:00:00Z

Content type: release

Language: en

Sources: [The Nuxt Blog](<https://devfeed.tech/sources/the-nuxt-blog.md>)

Topics: [Nuxt.js](<https://devfeed.tech/topics/nuxt.md>), [Vite](<https://devfeed.tech/topics/vite.md>), [migration](<https://devfeed.tech/topics/migration.md>), [reactive](<https://devfeed.tech/topics/reactive.md>), [Git](<https://devfeed.tech/topics/git.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [git](<https://devfeed.tech/tags/git.md>), [migration](<https://devfeed.tech/tags/migration.md>), [nuxt](<https://devfeed.tech/tags/nuxt.md>), [performance](<https://devfeed.tech/tags/performance.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [release](<https://devfeed.tech/tags/release.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [vite](<https://devfeed.tech/tags/vite.md>)

### AI overview

Nuxt 3.12 is a release focused on preparing for Nuxt 4. It introduces a compatibility mode for testing upcoming behavior changes, documents migration guidance, improves Nuxt Scripts preview support, automatically registers project layers, fixes layer dependency loading, adds a default component and composable to new templates, and delivers performance improvements across modules, Vite startup, builds, and server component payloads.

### Source excerpt

Nuxt 3.12 is out - full of improvements and preparing the way for Nuxt 4!

[Next page](<https://devfeed.tech/topics/reactive.md?cursor=WyIyMDI0LTA2LTEwVDAwOjAwOjAwKzAwOjAwIiwgImIyYjg5ZWE1LWIzOTItNDAxYi05MmRjLWU3YmUzZWNmZGUxYiJd>)