Home / Companies / Expo / Blog / May 2025

May 2025 Summaries

10 posts from Expo

Filter
Month: Year:
Post Summaries Back to Blog
Bolt.new is hosting a massive hackathon where participants are expected to create over 100,000 new AI app projects, with a focus on transitioning these apps from the Bolt sandbox to the app store. The process involves several steps, beginning with downloading the app code from Bolt.new, setting up the development environment with tools like Cursor and Node.js, and configuring the app using app.json. Deployment to the Apple App Store is facilitated by using Expo's `npx testflight` command, which builds the app, generates necessary certificates, and submits it for testing. Once the app is tested through TestFlight, developers can invite up to 10,000 beta testers and make necessary adjustments before officially submitting the app for review on the App Store. The process emphasizes the ease of transitioning AI-generated apps to production without native code, encouraging developers to share their success stories and seek further guidance through Bolt.new's resources and community support.
May 26, 2025 1,013 words in the original blog post.
Environment variables are crucial for altering program functionality without needing to rebuild or redeploy, serving as key tools in managing application runtime behavior across various environments, such as development and production. In Expo React Native apps, they allow developers to use the same codebase for different environments by merely changing the values of these variables. Although environment variables are versatile, they pose security risks when used in client-side code, as they can be accessed in plain text, making it unsafe to store secrets like API keys and passwords. However, server-side code can securely handle secrets through environment variables since the source code is hidden. Expo's EAS (Expo Application Services) provides an integrated solution for managing environment variables, offering different levels of visibility—plain text, sensitive, and secret. Expo projects require environment variables used in code to be prefixed with EXPO_PUBLIC_ to ensure clarity that these should not contain sensitive information. The system supports storing these variables in .env files, eas.json, and through EAS CLI, providing flexibility in how they are managed and deployed.
May 23, 2025 1,623 words in the original blog post.
Expo has integrated Sentry into its EAS deployments to streamline error monitoring and debugging, allowing developers to access detailed error contexts and user session replays directly within their CI/CD workflows. This integration provides comprehensive tools for tracking errors, bugs, and performance issues, offering insights such as stack traces, session replays, and UI profiling, which help developers quickly identify and resolve problems without extensive guesswork. Sentry enhances debugging by connecting replay data to error events, making it easier to understand the impact on users and pinpoint the root causes of issues, thus improving the efficiency and confidence of shipping updates. Additionally, Sentry is advancing its tools with features like Seer, an AI agent for automated debugging, and Trace Explorer for real-time span data analysis, offering developers a robust platform for maintaining high-quality app performance.
May 21, 2025 575 words in the original blog post.
Vincent de Lafontaine, CTO of App & Flow, shares insights on setting up a companion app for IoT devices using Expo, focusing on the provisioning flow necessary for connecting such devices to WiFi networks. Drawing from his experiences in building various IoT projects, Vincent details the process of using the react-native-wifi-reborn library to facilitate communication between a smartphone and an IoT device, highlighting the importance of sharing WiFi credentials securely. The article explains configuring the app through Expo and addresses security considerations, emphasizing that while the companion app plays a minimal role in security, the primary responsibility lies with the device maker. The provisioning process involves connecting a phone to the IoT device's WiFi, sending network credentials to the device, and ensuring the device connects to the main WiFi network. The overview concludes by demonstrating a basic provisioning flow using an ESP32 as an example, showcasing the app's capability to manage the device's connectivity effectively.
May 15, 2025 2,499 words in the original blog post.
Tuneo is a guitar tuner application that exemplifies the capabilities of React Native's New Architecture by combining a high-level TypeScript/JSX orchestration with low-level native modules in C++, Swift, and Kotlin. This hybrid approach allows it to address challenges typically associated with native-only applications, such as real-time audio signal processing, by utilizing TurboModules for direct native communication. The app achieves the low-latency performance needed for live microphone access and accurate pitch detection without compromising the rapid development workflow of React Native. AI tools played a significant role in overcoming hurdles related to the complexities of native development, facilitating tasks like implementing the YIN algorithm for pitch detection and translating code between Python and C++. Expo and React Native streamline the integration and management of native modules, enabling Tuneo to offer high performance and user-friendly features. The app is open-source, ad-free, and tracker-free, inviting contributions and suggestions for future enhancements, which may include supporting more instruments and exploring alternative pitch detection algorithms.
May 14, 2025 1,917 words in the original blog post.
SDK 53 introduces an experimental feature that enhances the speed of npx expo run:[android|ios] by using a remote build cache based on project fingerprints, allowing developers to skip recompiling the same code and share cached builds with their team. By configuring experiments.buildCacheProvider in the app config, the system searches for a matching build on a remote server and downloads it if available, otherwise compiling locally and uploading it for future use. This process, which automatically benefits team members sharing the same cache, is particularly useful for larger applications or frequent branch changes. The feature can be customized with different build cache providers, including the EAS build provider, which compiles locally on a cache miss, and GitHub Releases for hosting custom caches. Currently, the number of cached builds is limited per billing cycle on various plans, but adjustments are anticipated as the feature matures towards a stable release.
May 08, 2025 404 words in the original blog post.
Expo Router v5 introduces numerous advancements aimed at enhancing stability, performance, and full-stack functionality for universal app development. The latest release emphasizes improved error logging, first-class server deployment support, and newly stable API routes, facilitating easier production builds and deployments through EAS Hosting. It incorporates React Server Functions and Components to enable server-driven UI, enhanced authentication processes, and seamless integration with React 19+ features such as the owner stack system and improved state management. The update also includes improved linting rules, server redirects, and optimized in-app navigation, offering secure environment variables and client-side routing enhancements. Expo Router v5 further refines navigation with anchor routes, smarter push strategies, and supports modern web APIs like Streams API and ESM syntax, ensuring improved performance and maintainability. These features collectively aim to provide a robust platform for building secure and efficient native and web applications with Expo.
May 05, 2025 1,739 words in the original blog post.
Expo has introduced a new BackgroundTask library with SDK 53, replacing the deprecated expo-background-fetch library, to enhance app performance by managing background tasks more efficiently. This new library utilizes modern system-supported APIs, specifically BGTaskScheduler on iOS and WorkManager on Android, which are designed for improved reliability and power management. The library allows tasks such as downloading updates or refreshing API data to run when an app is backgrounded, ensuring users experience fast startups and up-to-date content. Developers can define JavaScript tasks that execute in the background using expo-task-manager, ensuring seamless integration and minimal impact on battery life. This update aligns with modern application expectations and simplifies maintenance by relying on stable, current APIs, setting the foundation for future advancements in background task capabilities. Migration to expo-background-task is straightforward, requiring only minor adjustments, and it promises a more reliable and efficient user experience.
May 01, 2025 764 words in the original blog post.
A recent U.S. District Court ruling in the Epic Games v. Apple case mandates that developers must be allowed to include external payment links for digital goods and services in iOS apps, altering the traditional requirement for using iOS's in-app purchases (IAP) system and its 30% fee. This decision, particularly impactful with a 27% fee difference when comparing to common external payment processors, introduces new rules in the Apple App Store review guidelines, significantly benefiting developers by allowing them to advertise and link to third-party payment flows without additional charges. Expo, a framework that supports integrating web and mobile app development, offers developers the tools to seamlessly implement these changes, enabling high-conversion payment flows across iOS, Android, and web from a single TypeScript codebase. This shift empowers developers to manage their payment experiences fully, retain more revenue, and provide users with flexible payment options, enhancing the monetization strategy while maintaining cross-platform performance.
May 01, 2025 651 words in the original blog post.
Maps have been an integral part of mobile devices since the early versions of iOS and Android, and users have developed specific expectations for their functionality. React-native-maps has traditionally been the preferred solution for integrating maps in React Native applications, but its transition from Airbnb's stewardship to community maintenance poses challenges. In response, Expo has introduced expo-maps, an alpha-stage library built on SwiftUI and Jetpack Compose, offering a seamless native map experience with features like markers, annotations, and smooth controls, using Apple Maps for iOS and Google Maps for Android. While aiming to enhance developer experience by focusing on essential map functionalities, expo-maps does not intend to cover every niche feature and requires iOS 17 as the minimum OS version, reflecting a trade-off for using the latest platform capabilities. The Expo team encourages feedback and contributions to help shape the library as it evolves to support a wide array of use cases in React Native applications.
May 01, 2025 933 words in the original blog post.