::Product·React Native

What happened at AppJS 2026? Highlights, new products, and plans for the future

A recap of the Expo talks from App.js 2026, including a full year of releases and Expo Observe, our new production performance library now in public beta.

Jon Samp

Jon Samp

Product

 What happened at AppJS 2026? Highlights, new products, and plans for the future

App.js 2026 wrapped last week in Kraków, hosted by Software Mansion. It's the largest React Native and Expo conference of the year, and this year more than 500 developers showed up for two full days of talks about the state of the ecosystem and where it's headed.

We gave a few of those talks. This post pulls together some highlights for the millions of you who couldn't be in the room.

AppJS Highlights

Why React Native and Expo are doing well in the AI era

AI changed who can build an app and how fast they can do it. React Native and Expo turned out to be well placed for that, mostly because of decisions made long before anyone was prompting a model to write an app.

The first reason why AI likes Expo is the stack itself. Building on JavaScript, TypeScript, and React means models have an enormous amount of training data to learn from. When a model writes Expo code, it isn't working from a handful of examples. It's working from years of public React and TypeScript.

Documentation is the second reason. Over the past year, the single largest source of commits to the Expo repo was docs. That work shows up directly in how well models write Expo apps, because the docs are part of what they learned from.

Then there's universality. Type a prompt into one of those little app-builder boxes ("I want an app that plays the stream from my radio station") and the model doesn't need to know what phone or computer you have. It can reach for Expo, build once, and run everywhere. That makes Expo an easy default for tools generating apps on the fly.

The last reason is the community, which is to say all of you. When you solve something hard in React Native and post about it, the next person stands on your work. So do the models reading those posts. It's a big part of why the ecosystem keeps compounding.

Problems Expo is focused on solving

So, here’s what we’re focusing on next.

Agents need to be able to check their own work. When an agent can run an app, look at it, tap through it, and tell whether what it built actually works, it can usually figure the rest out on its own. Tools from teams like Software Mansion (Argent) and Callstack (Agent Device) that let agents inspect a running app, grab screenshots, and probe behavior are the foundation for that loop.

Speed continues to matter. Now that writing code is faster for most people, the bottleneck moves to everything around it: builds, distribution, boot times. A lot of our effort this coming year will go into making those parts as fast as possible, so the only limit is how fast you can describe what you want.

We also want the easy path to be the good one. Tools like Expo Router should make a polished, native-feeling app the thing you get by default.

A year of shipping at Expo

Here's the short version of what landed over the past year.

  • Expo’s support for TV apps extends the universal app idea to the living room. You can share around 85% of your code while targeting Apple TV and Android TV.
  • Expo UI is stable as of Expo SDK 56, with a default template. It drives real SwiftUI and Jetpack Compose widgets from a single JavaScript API, so you can use an operating system primitive without writing a native module to wrap it.
  • Expo Launch is a fast way to get an app to TestFlight, the App Store, and the web through a web-based flow, without hand writing configuration files.
  • The official Expo MCP server connects your agent to your project's SDK version, config, running dev server, and Expo's cloud services. It's now free and open to anyone with an Expo account. The local simulator integration is the part worth calling out: a multimodal agent can screenshot and tap through your running app, pull React Native DevTools data, and dig into why a build or workflow failed using TestFlight and crash data.
  • The Expo skills repo collects official skills for building, deploying, and debugging Expo apps, covering UI work, deployment, SDK upgrades, DOM components, and dev clients. With deep integration into Expo Router and liquid glass, an agent can one-shot UIs that look and feel native.
  • Expo widgets gives you a simple way to build home screen widgets and live activities on iOS, which used to mean dropping into native code.
  • Expo Router v56 leans further into native navigation, with native toolbars, link transitions, and more native primitives than before. In the demo, an accessory sat above the tab bar and slid down into it on scroll to free up room for content, shared element transitions moved between screens cleanly, and a search bar collapsed the tab bar and floated above the keyboard. All of it through Expo Router's own APIs.

There is a ton more but those are the highlights worth focusing on now.

What's new in Expo SDK 56

Expo SDK 56 is about speed. Pre-compiled binaries make builds faster, and Android cold start times dropped by 40%. Hermes V1 is now the default, along with a long list of smaller improvements.

There's also a new starter app, and it makes a bigger difference than it sounds like it should. The first screen of a fresh project now looks polished out of the box, with a clean entrance animation on load and built-in animations on the explore tab.

Starting from something that already looks good changes how the whole build feels.

Terminal
npx create-expo-app@latest

A couple of things didn't make the main recap. The expo.dev dashboard and website got a full overhaul, better organized and with more data, so it's worth a look. And EAS Workflows shipped a batch of prepackaged jobs. A few examples: a GitHub comment job that reports every build and update from a workflow on your PR, an Apple device registration request job for adding devices to an ad hoc provisioning profile inside a workflow, and a require approval job that drops a human check into the middle of a workflow. With that last one, you can preview a release, hit approve, and send it on to App Store or Play Store review.

Introducing “Observe”

This was the big new announcement, so it gets its own section.

A thing we hear constantly: it's hard to know what your users actually experience. That tracks. When you develop locally you have good Wi-Fi, a solid device, and usually one device you're testing against. Your users are on every kind of device and network there is. The gap between those two realities is where performance problems hide.

Observe is a new open source library for capturing, recording, and making sense of real performance metrics and logs from your app in production.

It tracks the path from the moment someone taps your app icon to the moment they're actually using it: launch time, bundle load time, time to render, and time to interactive. Each measurement carries metadata about the device, app version, and location. Time-to-interactive metrics also carry device state, like whether the battery is full, whether the user is on Wi-Fi, and whether there were dropped frames. You can attach your own custom objects to track anything specific to a screen.

Per-screen metrics are the part developers ask for most. Telling whether one screen is slow has always been awkward, because mobile apps behave like single-page apps. But every route in an Expo Router app has a URL, and Observe uses that to report metrics per page. After a rebuild you can see cold and warm time-to-render and time-to-interactive for each screen, with Expo Router and React Navigation.

Versioning gets clearer too. React Native apps have a native layer and a JavaScript bundle on top, so it's tricky to know which version a user is on. Observe shows you. In a two-version example (1.0.0 and 1.0.1), you can see installs and users for each. An install means you've seen that user on that version at some point. A user means the latest metrics you have for them are on that version.

You can also track custom events and capture any serializable data you want.

Collecting the data is one thing. Reading it is another, and that's where agents come in. Instead of staring at a dashboard trying to find the metric that's off, you can ask questions in plain text and let an agent do the work. Observe ships with skills for installing it and for querying and interpreting metrics.

Expo Observe is in public beta. It's free for up to 10,000 monthly active users on all plans for at least three months. And then it will become a paid service. We want your feedback while we get it ready for GA.

This is an early look at what we've built so far, and there's more coming.

Terminal
npx expo install expo-observe

It's a great time to be a builder

The last talk of the conference was from Seth Webster, now at Expo, called "It's a great time to be a builder." His argument: one person with strong judgment, good taste, and the right tools can now make things that used to take ten people.

Plenty of React developers, including some people on this team, once looked at building a real mobile app and felt like it was out of reach without learning enough Objective-C or Java to ship it. React Native and Expo changed that. If AI is now opening the same door for more people, that's worth being excited about!

Go watch the talks. Software Mansion recorded the full two days, and the lineup includes some of the best people working in the space. We've linked their YouTube channel below, and a thank you to Software Mansion and every sponsor who made the conference happen.

Now go build something! And come hang with us in Portland at Chain React Conf!

AppJS

Share article