# .NET Conf

Published articles for .NET Conf.

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

## How to Build an Endpoint Data Loss Prevention Strategy for Your Development Team

DevFeed: [How to Build an Endpoint Data Loss Prevention Strategy for Your Development Team](<https://devfeed.tech/articles/how-to-build-an-endpoint-data-loss-prevention-strategy-for-your-development-team-26899.md>)

Original publisher: [Read original article](<https://www.freecodecamp.org/news/build-an-endpoint-data-loss-prevention-strategy-for-your-dev-team/>)

Author: Alex Tray

Published: 2026-09-15T21:03:09Z

Content type: tutorial

Language: en

Sources: [freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More](<https://devfeed.tech/sources/freecodecamp-programming-tutorials-python-javascript-git-more.md>)

Topics: [data loss prevention](<https://devfeed.tech/topics/data-loss-prevention.md>), [Development](<https://devfeed.tech/topics/development.md>), [Access Control](<https://devfeed.tech/topics/access-control.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [access-control](<https://devfeed.tech/tags/access-control.md>), [cybersecurity](<https://devfeed.tech/tags/cybersecurity.md>), [cybersecurityawareness](<https://devfeed.tech/tags/cybersecurityawareness.md>), [data-loss-prevention](<https://devfeed.tech/tags/data-loss-prevention.md>), [data-protection](<https://devfeed.tech/tags/data-protection.md>), [database](<https://devfeed.tech/tags/database.md>), [development](<https://devfeed.tech/tags/development.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [endpoint-security](<https://devfeed.tech/tags/endpoint-security.md>), [hardcoded-credentials](<https://devfeed.tech/tags/hardcoded-credentials.md>), [it-security](<https://devfeed.tech/tags/it-security.md>), [net-conf](<https://devfeed.tech/tags/net-conf.md>), [remote-access](<https://devfeed.tech/tags/remote-access.md>), [secrets](<https://devfeed.tech/tags/secrets.md>), [sensitive-data](<https://devfeed.tech/tags/sensitive-data.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

A tutorial for development teams on building endpoint data loss prevention strategies. It covers auditing laptops for secrets and sensitive data, removing unnecessary copies, rotating exposed credentials, and establishing access controls.

### Source excerpt

A developer's laptop holds more sensitive data than most people realize: API keys, database credentials, staging environment secrets, and sometimes entire copies of production data pulled down "just f

## Share your .NET story with the community

DevFeed: [Share your .NET story with the community](<https://devfeed.tech/articles/share-your-net-story-with-the-community-21635.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/dotnet/share-your-dotnet-story/>)

Author: Luis Quintanilla

Published: 2026-09-14T17:05:00Z

Content type: article

Language: en

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

Topics: [.NET](<https://devfeed.tech/topics/net.md>), [.NET Conf](<https://devfeed.tech/topics/net-conf.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [blog](<https://devfeed.tech/tags/blog.md>), [community](<https://devfeed.tech/tags/community.md>), [conference](<https://devfeed.tech/tags/conference.md>), [customer-stories](<https://devfeed.tech/tags/customer-stories.md>), [developer-stories](<https://devfeed.tech/tags/developer-stories.md>), [developers](<https://devfeed.tech/tags/developers.md>), [development](<https://devfeed.tech/tags/development.md>), [modernization](<https://devfeed.tech/tags/modernization.md>), [net](<https://devfeed.tech/tags/net.md>), [net-conf](<https://devfeed.tech/tags/net-conf.md>), [performance](<https://devfeed.tech/tags/performance.md>), [post](<https://devfeed.tech/tags/post.md>), [virtual-event](<https://devfeed.tech/tags/virtual-event.md>)

### AI overview

Microsoft invites teams to share how they use .NET to solve practical problems for possible inclusion in .NET Conf 2026 and other .NET channels. Submissions may describe applications, system modernization, performance, security, efficiency, modern C#, or practical AI-powered capabilities.

### Source excerpt

Share how your team uses .NET to solve real problems and help us bring more community stories to .NET Conf 2026 and other .NET channels. The post Share your .NET story with the community appeared first on .NET Blog.

## JDK 27 Runtime Updates Release Notes

DevFeed: [JDK 27 Runtime Updates Release Notes](<https://devfeed.tech/articles/jdk-27-runtime-updates-release-notes-15132.md>)

Original publisher: [Read original article](<https://inside.java/2026/09/12/jdk-27-runtime-updates/>)

Author: Billy Korando

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

Content type: release

Language: en

Sources: [Inside Java](<https://devfeed.tech/sources/inside-java.md>)

Topics: [JDK 27](<https://devfeed.tech/topics/jdk-27.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Java](<https://devfeed.tech/topics/java.md>)

Tags: [env-file-security](<https://devfeed.tech/tags/env-file-security.md>), [gc](<https://devfeed.tech/tags/gc.md>), [jdk-27](<https://devfeed.tech/tags/jdk-27.md>), [memory](<https://devfeed.tech/tags/memory.md>), [net-conf](<https://devfeed.tech/tags/net-conf.md>), [passwords](<https://devfeed.tech/tags/passwords.md>), [performance](<https://devfeed.tech/tags/performance.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>)

### AI overview

This article reviews runtime updates in JDK 27, including G1GC becoming the default garbage collector in all cases, Compact Object Headers being enabled by default, and improved JFR redaction and filtering for sensitive information such as passwords and API keys.

### Source excerpt

Let's review the performance updates, new runtime features, and other changes to existing features that are in the JDK 27 release!

## .NET Conf 2026 Community Days Call for Presenters Is Open

DevFeed: [.NET Conf 2026 Community Days Call for Presenters Is Open](<https://devfeed.tech/articles/net-conf-2026-community-days-call-for-presenters-is-open-2947.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/dotnet/dotnet-conf-2026-community-days-call-for-presenters/>)

Author: Javier Lozano, Chris Sfanos, Jon Galloway

Published: 2026-09-08T20:30:00Z

Content type: news

Language: en

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

Topics: [.NET](<https://devfeed.tech/topics/net.md>)

Tags: [call-for-presenters](<https://devfeed.tech/tags/call-for-presenters.md>), [community](<https://devfeed.tech/tags/community.md>), [conference](<https://devfeed.tech/tags/conference.md>), [net](<https://devfeed.tech/tags/net.md>), [net-conf](<https://devfeed.tech/tags/net-conf.md>), [virtual-event](<https://devfeed.tech/tags/virtual-event.md>)

### AI overview

The .NET Conf 2026 Community Days call for presenters invites proposals for community-led sessions about building with .NET and software development practices.

### Source excerpt

Submit your session proposal for the community-led .NET Conf 2026 Community Days by October 6, 2026. The post .NET Conf 2026 Community Days Call for Presenters Is Open appeared first on .NET Blog.

## .NET Conf 2026 - Save the Date

DevFeed: [.NET Conf 2026 - Save the Date](<https://devfeed.tech/articles/net-conf-2026-save-the-date-2948.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/dotnet/dotnet-conf-2026/>)

Author: Jon Galloway

Published: 2026-08-25T16:28:27Z

Content type: news

Language: en

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

Topics: [.NET Conf](<https://devfeed.tech/topics/net-conf.md>), [.NET](<https://devfeed.tech/topics/net.md>), [C# 15](<https://devfeed.tech/topics/c-sharp-15.md>), [ASP.NET Core](<https://devfeed.tech/topics/asp-net-core.md>), [Blazor](<https://devfeed.tech/topics/blazor.md>), [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [Aspire](<https://devfeed.tech/topics/aspire.md>), [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>)

Tags: [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [blazor](<https://devfeed.tech/tags/blazor.md>), [c-sharp-15](<https://devfeed.tech/tags/c-sharp-15.md>), [community](<https://devfeed.tech/tags/community.md>), [conference](<https://devfeed.tech/tags/conference.md>), [event](<https://devfeed.tech/tags/event.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [net](<https://devfeed.tech/tags/net.md>), [net-11](<https://devfeed.tech/tags/net-11.md>), [net-conf](<https://devfeed.tech/tags/net-conf.md>), [speakers](<https://devfeed.tech/tags/speakers.md>), [union-types](<https://devfeed.tech/tags/union-types.md>), [virtual-event](<https://devfeed.tech/tags/virtual-event.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

Microsoft announces .NET Conf 2026, a free online event running November 10-12, featuring community sessions and the launch of .NET 11. The article previews updates across .NET, including C# 15 union types, .NET MAUI, ASP.NET Core, Blazor, OpenAPI, Aspire, and the official MCP C# SDK.

### Source excerpt

.NET Conf returns November 10-12, 2026, with three days of sessions, community, and the launch of .NET 11. The post .NET Conf 2026 - Save the Date appeared first on .NET Blog.

## Swift Testing explained with code examples

DevFeed: [Swift Testing explained with code examples](<https://devfeed.tech/articles/swift-testing-explained-with-code-examples-11484.md>)

Original publisher: [Read original article](<https://www.avanderlee.com/swift-testing/modern-unit-test/>)

Author: Antoine van der Lee

Published: 2026-08-17T08:51:15Z

Content type: tutorial

Language: en

Sources: [SwiftLee](<https://devfeed.tech/sources/swiftlee.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [examples](<https://devfeed.tech/tags/examples.md>), [net-conf](<https://devfeed.tech/tags/net-conf.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swift-testing](<https://devfeed.tech/tags/swift-testing.md>), [testing](<https://devfeed.tech/tags/testing.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

This tutorial introduces Swift Testing, the modern Swift testing framework built around expressive macros such as @Test, #expect, and #require. It explains how Swift Testing replaces XCTest, reduces repetitive boilerplate, defines tests globally, and organizes them with structs, traits, and tags.

### Source excerpt

Swift Testing is the modern framework for writing tests in Swift, built around expressive macros like @Test, #expect, and #require. It's the successor to XCTest and the default testing framework for new projects in Xcode. Instead of dozens of assertion methods, you work with a single expressive macro that tells you exactly why a test ... -> The post Swift Testing explained with code examples appeared first on SwiftLee.

## SCIM Deprovisioning Is a Promise Your App Probably Breaks

DevFeed: [SCIM Deprovisioning Is a Promise Your App Probably Breaks](<https://devfeed.tech/articles/scim-deprovisioning-is-a-promise-your-app-probably-breaks-16056.md>)

Original publisher: [Read original article](<https://workos.com/blog/scim-deprovisioning-promise-your-app-breaks>)

Author: WorkOS

Published: 2026-08-06T01:29:36Z

Content type: article

Language: en

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

Topics: [Security](<https://devfeed.tech/topics/security.md>), [API](<https://devfeed.tech/topics/api.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Internet Engineering Task Force (IETF)](<https://devfeed.tech/topics/ietf.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [http](<https://devfeed.tech/tags/http.md>), [identity](<https://devfeed.tech/tags/identity.md>), [idp](<https://devfeed.tech/tags/idp.md>), [ietf](<https://devfeed.tech/tags/ietf.md>), [json](<https://devfeed.tech/tags/json.md>), [net-conf](<https://devfeed.tech/tags/net-conf.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [schema](<https://devfeed.tech/tags/schema.md>), [security](<https://devfeed.tech/tags/security.md>), [standards](<https://devfeed.tech/tags/standards.md>), [state](<https://devfeed.tech/tags/state.md>), [token](<https://devfeed.tech/tags/token.md>)

### AI overview

This article explains that SCIM deprovisioning updates identity state but does not automatically invalidate an application's sessions, refresh tokens, or API keys. It describes how identity providers commonly use soft deactivation and why applications must explicitly handle the resulting offboarding state.

### Source excerpt

SCIM tells you a user is gone, but sessions, refresh tokens, and API keys often outlive deprovisioning. Here's why offboarding needs more than a user row.

## Effortless Data Fetching: Introducing Apollo Connectors for REST APIs

DevFeed: [Effortless Data Fetching: Introducing Apollo Connectors for REST APIs](<https://devfeed.tech/articles/effortless-data-fetching-introducing-apollo-connectors-for-rest-apis-23280.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/effortless-data-fetching-introducing-apollo-connectors-for-rest-apis>)

Author: Robert Walters

Published: 2024-12-05T14:00:17Z

Content type: tutorial

Language: en

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

Topics: [Apollo Connectors](<https://devfeed.tech/topics/apollo-connectors.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [React](<https://devfeed.tech/topics/react.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [apollo-connectors](<https://devfeed.tech/tags/apollo-connectors.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [net-conf](<https://devfeed.tech/tags/net-conf.md>), [react](<https://devfeed.tech/tags/react.md>), [rest-apis](<https://devfeed.tech/tags/rest-apis.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

This tutorial demonstrates how Apollo Connectors can fetch data from REST APIs without custom GraphQL resolvers. It walks through a React currency-converter application using the Apollo GraphQL client, CurrencyAPI, Apollo Studio, and Rover CLI.

### Source excerpt

Writing resolvers for REST APIs has been a rite of passage for developers working with GraphQL, but what if there were an easier way? Meet Apollo Connectors. As shown in Figure 1, Apollo Connectors mitigate the need to write code that connects to and returns data from REST APIs, reducing code surface area and time so you can focus on the business problem you're trying to solve.

## Kotlin's Flow in ViewModels: it's complicated

DevFeed: [Kotlin's Flow in ViewModels: it's complicated](<https://devfeed.tech/articles/kotlin-s-flow-in-viewmodels-it-s-complicated-25882.md>)

Original publisher: [Read original article](<https://bladecoder.medium.com/kotlins-flow-in-viewmodels-it-s-complicated-556b472e281a?source=rss-54910f05af37------2>)

Author: Christophe Beyls

Published: 2021-08-28T10:42:09Z

Content type: tutorial

Language: en

Sources: [Stories by Christophe Beyls on Medium](<https://devfeed.tech/sources/stories-by-christophe-beyls-on-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.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>), [androiddev](<https://devfeed.tech/tags/androiddev.md>), [architecture-components](<https://devfeed.tech/tags/architecture-components.md>), [background-work](<https://devfeed.tech/tags/background-work.md>), [caching](<https://devfeed.tech/tags/caching.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [flow](<https://devfeed.tech/tags/flow.md>), [google](<https://devfeed.tech/tags/google.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [livedata](<https://devfeed.tech/tags/livedata.md>), [net-conf](<https://devfeed.tech/tags/net-conf.md>), [state](<https://devfeed.tech/tags/state.md>), [ui](<https://devfeed.tech/tags/ui.md>), [viewmodel](<https://devfeed.tech/tags/viewmodel.md>)

### AI overview

This article explains the challenges of loading UI data in Android applications when screen lifecycles and configuration changes are involved. It outlines goals such as caching valid data, pausing background work when screens are inactive, and avoiding unnecessary interruptions during configuration changes, then discusses ViewModel and LiveData as tools for addressing them.

### Source excerpt

LiveData is still your friend Loading UI data in Android applications can be challenging. The lifecycles of the various screens need to be taken into account, as well as configuration changes leading to the destruction and recreation of Activities. The individual screens of an app constantly toggle between interactive and hidden as the user navigates further and back in an app, switches from one app to another, or the device screen gets locked or unlocked. Each component needs to play fair and only perform active work when given the ball. Configuration changes happen on various occasions: when changing the device orientation, switching the app to multi-window mode or resizing its window size, switching to dark or light mode, changing the default locale or font sizes, and more. Goals of efficiency To achieve efficient data loading in Activities and Fragments leading to the best user experience, the following should be considered: Caching: data that has been loaded successfully and is still valid should be delivered immediately and not loaded a second time. In particular, when an existing Activity or Fragment becomes visible again, or after an Activity gets recreated on configuration change; Avoiding background work: when an Activity or Fragment becomes invisible (moves from the STARTED to the STOPPED state), any ongoing loading work should be paused or canceled in order to save resources. This is especially important for endless streams of data like location updates or periodic refreshes of any kind; No work interruption during configuration changes: this is an exception to the second goal. During configuration changes, an Activity gets replaced by a new instance of it while preserving its state, so canceling ongoing work when the old instance is destroyed to immediately restart it when the new instance is created would be counter-productive. Today: ViewModel and LiveData To help developers reach these goals with code of manageable complexity, Google released the fir

## The Instagram ads Facebook won't show you

DevFeed: [The Instagram ads Facebook won't show you](<https://devfeed.tech/articles/the-instagram-ads-facebook-won-t-show-you-1857.md>)

Original publisher: [Read original article](<https://signal.org/blog/the-instagram-ads-you-will-never-see/>)

Published: 2021-05-04T00:00:00Z

Content type: opinion

Language: en

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

Topics: [data](<https://devfeed.tech/topics/data.md>), [Instagram](<https://devfeed.tech/topics/instagram.md>), [Internet](<https://devfeed.tech/topics/internet.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [ads](<https://devfeed.tech/tags/ads.md>), [data](<https://devfeed.tech/tags/data.md>), [facebook](<https://devfeed.tech/tags/facebook.md>), [instagram](<https://devfeed.tech/tags/instagram.md>), [net-conf](<https://devfeed.tech/tags/net-conf.md>), [platform](<https://devfeed.tech/tags/platform.md>), [technology](<https://devfeed.tech/tags/technology.md>), [visibility](<https://devfeed.tech/tags/visibility.md>)

### AI overview

The article describes an attempt to buy targeted Instagram ads that would show viewers personal data Facebook collects and uses for advertising. Facebook denied the ads, illustrating the article's argument that the platform sells visibility into people's lives while limiting transparency about how their data is used.

### Source excerpt

Companies like Facebook aren't building technology for you, they're building technology for your data. They collect everything they can from FB, Instagram, and WhatsApp in order to sell visibility into people and their lives. This isn't exactly a secret, but the full picture is hazy to most - dimly concealed within complex, opaquely-rendered systems and fine print designed to be scrolled past. The way most of the internet works today would be considered intolerable if translated into comprehensible real world analogs, but it endures because it is invisible. Read more...

## Integration verbosity and good layering

DevFeed: [Integration verbosity and good layering](<https://devfeed.tech/articles/integration-verbosity-and-good-layering-20941.md>)

Original publisher: [Read original article](<https://jakewharton.com/integration-verbosity-and-good-layering/>)

Published: 2021-04-07T00:00:00Z

Content type: article

Language: en

Sources: [Jake Wharton](<https://devfeed.tech/sources/jake-wharton.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [XML](<https://devfeed.tech/topics/xml.md>), [Dagger](<https://devfeed.tech/topics/dagger.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>)

Tags: [abstraction](<https://devfeed.tech/tags/abstraction.md>), [dagger](<https://devfeed.tech/tags/dagger.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [design](<https://devfeed.tech/tags/design.md>), [env-file-security](<https://devfeed.tech/tags/env-file-security.md>), [integrations](<https://devfeed.tech/tags/integrations.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [net-conf](<https://devfeed.tech/tags/net-conf.md>)

### AI overview

The article argues that integration verbosity can be a consequence of good layering. General-purpose libraries such as view binding, Dagger, SQLDelight, and RecyclerView must leave higher-level integration and configuration decisions to their callers, enabling more flexible libraries and platforms.

### Source excerpt

One of my favorite non-features from building view binding is that it lacks integration with activities or fragments. If you use view binding with activities or fragments, however, this fact might be to your disdain. Every activity using view binding is forced to do something along the lines of: override fun onCreate(savedInstanceState: Bundle) { super.onCreate(savedInstanceState) val binding = ProfileViewBinding.inflate(layoutInflater) setContentView(binding.root) // Do stuff with 'binding' } This is textbook verbosity, and some would argue boilerplate. It only gets worse with fragments (due to their poor design and to no specific fault of view binding which works the same as any View reference). View binding exists at a different layer of abstraction than is appropriate for integration with higher-level components like activities or fragments. It serves as a type-safe representation of a schema declared in an XML file and that's it. It has no more knowledge of activities and fragments than the associated R.layout.profile_view integer does. Higher-level libraries like androidx.activity and androidx.fragment have integrations with those R.layout integers. If you're upset that view binding has no turn-key solution for activities and fragments then this is the tree you should be barking up. View binding wasn't built with verbosity in mind. Hell, it's not even that verbose. It ended up this way because it's the design the layer of abstraction it operates at demands. The same pattern occurs in some of my other favorite libraries. Dagger offers you nothing and requires that you build up the dependency injectors, their hierarchy, and their lifecycle entirely yourself. SQLDelight makes you specify database info in the build configuration and a database driver in the runtime API. RecylerView requires at minimum an adapter subtype and to choose and configure a layout manager. The layer at which these tools operate is sufficiently general such that their good design requires

## Using Android Architecture Components with Firebase Realtime Database (Part 3)

DevFeed: [Using Android Architecture Components with Firebase Realtime Database (Part 3)](<https://devfeed.tech/articles/using-android-architecture-components-with-firebase-realtime-database-part-3-16248.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2017/12/using-android-architecture-components_22>)

Author: Doug Stevenson

Published: 2017-12-22T00:00:00Z

Content type: tutorial

Language: en

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

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Realtime Database](<https://devfeed.tech/topics/realtime-database.md>), [Firebase](<https://devfeed.tech/topics/firebase.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-architecture](<https://devfeed.tech/tags/android-architecture.md>), [architecture-components](<https://devfeed.tech/tags/architecture-components.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [net-conf](<https://devfeed.tech/tags/net-conf.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance](<https://devfeed.tech/tags/performance.md>), [realtime-database](<https://devfeed.tech/tags/realtime-database.md>), [threading](<https://devfeed.tech/tags/threading.md>), [viewmodel](<https://devfeed.tech/tags/viewmodel.md>)

### AI overview

This tutorial explains how lifecycle-aware Android Architecture Components work with Firebase Realtime Database. It focuses on LiveData and ViewModel, threading for expensive data manipulation, and the performance cost of removing and re-adding database listeners during Activity configuration changes.

### Source excerpt

News, tutorials, and updates from the Firebase team.