56,966 blogs · [ { "id": "01a0d842-3842-73e6-97ad-c778a9041a4d", "title": "What if your app could fix itself?", "url": "https://expo.dev/blog/agent-fixes-bugs-on-eas-simulator", "published_at": "2026-09-22T20:45:00+00:00" }, { "id": "01a0b0cc-acc9-725a-b2e4-e77a5b64531f", "title": "You don't need a Mac to develop iOS apps", "url": "https://expo.dev/blog/build-ios-apps-on-windows-with-cloud-simulators", "published_at": "2026-09-14T13:15:30+00:00" }, { "id": "01a0b0cc-acc9-725a-b2e4-e77a5bbf3f0b", "title": "Why Expo is a great fit for new and existing apps", "url": "https://expo.dev/blog/why-expo-is-a-great-fit-for-new-and-existing-react-native-apps", "published_at": "2026-09-11T16:00:00+00:00" }, { "id": "01a08c9d-c2ab-72e3-b5cc-c140b3e4e460", "title": "Can you go 24 hours using only Expo apps?", "url": "https://expo.dev/blog/24-hours-of-expo", "published_at": "2026-09-10T13:15:54+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8e396c599", "title": "An early look at Expo Modules 2.0", "url": "https://expo.dev/blog/an-early-look-at-expo-modules-2-0", "published_at": "2026-09-08T16:15:09+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8e44ee804", "title": "12 AEO practices to make your documentation AI-ready", "url": "https://expo.dev/blog/aeo-practices-to-make-your-documentation-ai-ready", "published_at": "2026-09-03T15:45:01+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8e496f44f", "title": "Pasting images into TextInput should not be this hard", "url": "https://expo.dev/blog/pasting-images-into-textinput-should-not-be-this-hard", "published_at": "2026-08-28T12:30:14+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8e4f728d5", "title": "Inside SWSH's automated mobile release pipeline with Expo", "url": "https://expo.dev/blog/inside-swsh-automated-mobile-release-pipeline-with-expo", "published_at": "2026-08-26T13:15:35+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8e5cca701", "title": "Introducing Observe: Performance monitoring for Expo apps, now generally available", "url": "https://expo.dev/blog/introducing-observe", "published_at": "2026-08-25T12:45:11+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8e67f0b53", "title": "Building a native-first social platform with Expo", "url": "https://expo.dev/blog/building-a-native-first-social-platform-with-expo", "published_at": "2026-08-18T13:15:51+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8e6fd920e", "title": "How to build a resilient activity tracker with Expo", "url": "https://expo.dev/blog/how-to-build-a-resilient-activity-tracker-with-expo", "published_at": "2026-08-17T13:45:54+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8e7e1f5de", "title": "Convex is now a one-command backend for Expo apps", "url": "https://expo.dev/blog/convex-is-a-backend-for-expo-apps", "published_at": "2026-08-10T22:30:00+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8e8582e03", "title": "Fable 5 vs GPT-5.6 Sol: I spent $2,000 and 2 billion tokens to find out who wins", "url": "https://expo.dev/blog/fable-5-vs-gpt-5-6-sol-expo-apps", "published_at": "2026-08-05T15:00:00+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8e8a21c79", "title": "How Posh went from manual weekly mobile releases to continuous delivery with Expo", "url": "https://expo.dev/blog/posh-manual-weekly-releases-to-continuous-delivery-with-expo", "published_at": "2026-07-23T13:15:17+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8e9669e51", "title": "From Expo Router to Detour: Deferred deep linking the right way", "url": "https://expo.dev/blog/deferred-deep-linking-the-right-way", "published_at": "2026-07-22T13:15:00+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8ea06145d", "title": "Install dev and production side by side with app variants", "url": "https://expo.dev/blog/app-variants-side-by-side", "published_at": "2026-07-21T13:30:16+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8eaa79277", "title": "How to grow usage and revenue for your mobile app", "url": "https://expo.dev/blog/how-to-grow-usage-and-revenue-for-your-mobile-app", "published_at": "2026-07-14T13:15:14+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8eb7ca106", "title": "How to build mobile apps with AI: the three tools that actually matter", "url": "https://expo.dev/blog/how-to-build-mobile-apps-with-ai-the-three-tools-that-actually-matter", "published_at": "2026-07-13T13:00:51+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8ec1cb3b7", "title": "Building balanced mobile layouts: nesting tabs and drawers with Expo Router", "url": "https://expo.dev/blog/nesting-tabs-and-drawers-with-expo", "published_at": "2026-07-11T14:30:12+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8eca0cf2b", "title": "A hell of a time to be a builder", "url": "https://expo.dev/blog/a-hell-of-a-time-to-be-a-builder", "published_at": "2026-07-06T13:15:57+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8ecda5aa7", "title": "How Tapaya added in-store card payments to a POS app in an afternoon", "url": "https://expo.dev/blog/how-add-in-store-card-payments-to-a-pos-app", "published_at": "2026-07-01T13:30:44+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8ed0884c2", "title": "You built an app. Now help the world’s best mobile teams build theirs.", "url": "https://expo.dev/blog/you-built-an-app-now-help-the-world-s-best-mobile-teams-build-theirs", "published_at": "2026-06-29T13:00:06+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8edf5bd4a", "title": "How to make the case for a mobile app at your company", "url": "https://expo.dev/blog/how-to-make-the-case-for-a-mobile-app-at-your-company", "published_at": "2026-06-25T20:30:31+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8ee40c368", "title": "How to apply professional design principles in AI app development", "url": "https://expo.dev/blog/how-to-apply-professional-design-principles-in-ai-app-development", "published_at": "2026-06-23T13:00:56+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8eec4c6d6", "title": "iOS widgets and Live Activities are stable in Expo SDK 56", "url": "https://expo.dev/blog/ios-widgets-and-live-activities-in-expo", "published_at": "2026-06-18T14:15:00+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8ef4e2984", "title": "Best CI/CD for mobile apps in 2026: a practical comparison", "url": "https://expo.dev/blog/best-ci-cd-for-mobile-apps", "published_at": "2026-06-13T13:45:14+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8f04c29ed", "title": "Faster iOS Builds with Precompiled XCFrameworks", "url": "https://expo.dev/blog/faster-ios-builds-with-precompiled-xcframeworks", "published_at": "2026-06-11T12:45:00+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8f09f9c38", "title": "How a Kotlin compiler plugin cut Android time to first render by 30%", "url": "https://expo.dev/blog/how-a-kotlin-compiler-plugin-cut-android-time-to-first-render", "published_at": "2026-06-10T13:15:22+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8f17dd014", "title": "Moving away from @expo/vector-icons", "url": "https://expo.dev/blog/moving-away-from-expo-vector-icons", "published_at": "2026-06-09T13:15:11+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8f1e98428", "title": "What happened at AppJS 2026? Highlights, new products, and plans for the future", "url": "https://expo.dev/blog/expo-highlights-new-products-and-plans-for-the-future", "published_at": "2026-06-05T20:00:59+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8f2de174d", "title": "Talking to JSI in Swift: what changed in SDK 56", "url": "https://expo.dev/blog/talking-to-jsi-in-swift", "published_at": "2026-06-04T13:15:49+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8f391f500", "title": "Native code in Expo SDK 56: inline modules and type generation", "url": "https://expo.dev/blog/native-code-expo-sdk-56", "published_at": "2026-06-02T15:00:29+00:00" }, { "id": "01a08216-8307-71ef-b5e4-aef8f47275bd", "title": "Expo Router v56: Decoupling from React Navigation", "url": "https://expo.dev/blog/expo-router-v56-decoupling-from-react-navigation", "published_at": "2026-05-28T14:00:05+00:00" }, { "id": "01a08216-8308-70ac-9a9c-67557924cb53", "title": "Worklet integration in Expo UI: synchronously controlling SwiftUI and Compose state", "url": "https://expo.dev/blog/worklet-integration-in-expo-ui-synchronously-controlling-swiftui-and-compose-state", "published_at": "2026-05-27T13:30:15+00:00" }, { "id": "01a08216-8308-70ac-9a9c-6755793796e4", "title": "Expo UI is now stable: SwiftUI and Jetpack Compose from a single import", "url": "https://expo.dev/blog/expo-ui-stable-sdk-56", "published_at": "2026-05-26T13:15:16+00:00" }, { "id": "01a08216-8308-70ac-9a9c-675579d6e218", "title": "How to upgrade to Expo SDK 56", "url": "https://expo.dev/blog/upgrading-to-sdk-56", "published_at": "2026-05-22T14:00:11+00:00" }, { "id": "01a08216-8308-70ac-9a9c-67557aca5f17", "title": "Best way to build a mobile app that makes money in 2026", "url": "https://expo.dev/blog/best-way-to-build-a-mobile-app-that-makes-money-in-2026", "published_at": "2026-05-20T21:00:12+00:00" }, { "id": "01a08216-8308-70ac-9a9c-67557afc6379", "title": "ASO Skills: ASO in Your AI Workflow", "url": "https://expo.dev/blog/aso-skills-aso-in-your-ai-workflow", "published_at": "2026-05-19T13:15:24+00:00" }, { "id": "01a08216-8308-70ac-9a9c-67557ba6da4a", "title": "From React web to Native in one week", "url": "https://expo.dev/blog/from-react-web-to-native-in-one-week", "published_at": "2026-05-14T16:30:12+00:00" }, { "id": "01a08216-8308-70ac-9a9c-67557c8a9e53", "title": "Build fast, no matter what: how Expo is optimizing for speed (and how you can, too)", "url": "https://expo.dev/blog/build-fast-no-matter-what-how-expo-is-optimizing-for-speed", "published_at": "2026-05-13T13:00:03+00:00" }, { "id": "01a08216-8308-70ac-9a9c-67557d44085a", "title": "How to ship an AI mobile app fast with Expo", "url": "https://expo.dev/blog/how-to-ship-an-ai-mobile-app-fast-with-expo", "published_at": "2026-05-07T15:30:42+00:00" }, { "id": "01a08216-8308-70ac-9a9c-67557e1e7159", "title": "Shipping a performance-first video feed: How Tendbble built a real-time social app with Expo", "url": "https://expo.dev/blog/shipping-a-performance-first-video-feed-how-tendbble-built-a-real-time-social-app-with-expo", "published_at": "2026-05-06T15:30:01+00:00" }, { "id": "01a08216-8308-70ac-9a9c-67557eed138e", "title": "The real cost of React Native animations: benchmarking every approach", "url": "https://expo.dev/blog/the-real-cost-of-react-native-animations-benchmarking-every-approach", "published_at": "2026-04-28T13:30:00+00:00" }, { "id": "01a08216-8308-70ac-9a9c-67557f0c08c0", "title": "App Store Connect minimum SDK requirements update", "url": "https://expo.dev/blog/app-store-connect-minimum-sdk-26", "published_at": "2026-04-27T19:00:23+00:00" }, { "id": "01a08216-8308-70ac-9a9c-67557f4c7f01", "title": "From Istanbul to #1 in the US App Store: why FERASET bet its AI app studio on Expo", "url": "https://expo.dev/blog/from-istanbul-to-1-in-the-us-app-store-why-feraset-bet-its-ai-app-studio-on-expo", "published_at": "2026-04-23T13:30:00+00:00" }, { "id": "01a08216-8308-70ac-9a9c-675580058884", "title": "How Hipcamp upgraded Expo SDK versions with Claude Code", "url": "https://expo.dev/blog/how-hipcamp-upgraded-expo-sdk-versions-with-claude-code", "published_at": "2026-04-21T13:15:32+00:00" }, { "id": "01a08216-8308-70ac-9a9c-6755805556a7", "title": "I joined Expo.", "url": "https://expo.dev/blog/seth-webster-joined-expo", "published_at": "2026-04-20T15:30:47+00:00" }, { "id": "01a08216-8308-70ac-9a9c-6755814fb259", "title": "What Expo’s Series B funding means for you", "url": "https://expo.dev/blog/what-expo-s-series-b-funding-means-for-you", "published_at": "2026-04-16T14:30:29+00:00" }, { "id": "01a08216-8308-70ac-9a9c-67558245b69f", "title": "How to keep your OTA updates lean and fast", "url": "https://expo.dev/blog/how-to-keep-your-ota-updates-lean-and-fast", "published_at": "2026-04-14T13:15:39+00:00" }, { "id": "01a08216-8308-70ac-9a9c-675582f49eaf", "title": "Build an AI QA Agent for Expo Apps with EAS Workflows in minutes today", "url": "https://expo.dev/blog/build-an-ai-qa-agent-for-expo-apps-with-eas-workflows-in-minutes-today", "published_at": "2026-04-02T13:15:00+00:00" }, { "id": "01a08216-8308-70ac-9a9c-6755834d81ee", "title": "How Fig keeps millions eating safely with a five-engineer team and Expo", "url": "https://expo.dev/blog/how-fig-keeps-millions-eating-safely-with-a-five-engineer-team-and-expo", "published_at": "2026-03-31T13:30:29+00:00" }, { "id": "01a08216-8308-70ac-9a9c-67558380bd52", "title": "From skeptic to convert: how Fieldy adopted Expo for their AI wearable", "url": "https://expo.dev/blog/how-fieldy-adopted-expo-for-their-ai-wearable", "published_at": "2026-03-24T13:45:00+00:00" }, { "id": "01a08216-8308-70ac-9a9c-675583d43ff8", "title": "5 proven strategies to increase adoption of your B2B mobile app", "url": "https://expo.dev/blog/5-proven-strategies-to-increase-adoption-of-your-b2b-mobile-app", "published_at": "2026-03-19T13:45:10+00:00" }, { "id": "01a08216-8308-70ac-9a9c-6755849b1023", "title": "Expo UI in SDK 55: Jetpack Compose now available for React Native apps", "url": "https://expo.dev/blog/expo-ui-in-sdk-55-jetpack-compose-now-available-for-react-native-apps", "published_at": "2026-03-17T13:15:49+00:00" } ] posts Claim your blog
Back to Expo Blog
Blog · corpus.blog/blogs/expo.dev/posts

Expo Blog

expo.dev

2026