Home / Companies / Expo / Blog / September 2025

September 2025 Summaries

8 posts from Expo

Filter
Month: Year:
Post Summaries Back to Blog
Leo Picado, a Staff Engineer at Zenjob, shares his experience of transitioning from native iOS development, despite his deep personal and professional connection to it, to a unified React Native platform with Expo. This decision was driven by the need to address the inefficiencies and limitations of maintaining separate iOS and Android codebases, such as duplicated efforts, inconsistent user experiences, and slow release cycles. By migrating to React Native, Zenjob was able to unify its development process, allowing product teams to own features end-to-end without relying on specialized mobile engineers for every change. The integration of Expo further streamlined the process by enhancing development speed and enabling over-the-air updates, thus reducing time-to-market and improving engineering satisfaction. This transition not only improved operational efficiency but also transformed mobile development from a bottleneck into a company-wide capability, allowing for faster, more consistent feature delivery across platforms.
Sep 30, 2025 1,718 words in the original blog post.
Daniel Williams, a seasoned frontend developer, discusses the benefits and setup process of using Storybook 9 for React Native within an Expo app. Storybook is highlighted as a tool that allows developers to build, test, and document UI components in isolation, facilitating a component-first workflow that aids in visual testing and maintaining design consistency across large projects. The post details the installation and configuration steps necessary for integrating Storybook into an Expo project, emphasizing its ability to streamline workflows by allowing developers to navigate directly to specific UI states and share those states with team members. Additionally, the post explores the use of Storybook for automated testing and its capabilities for sharing components via TestFlight for iOS and internal testing on Android. With the release of Storybook 9, new features such as simplified configuration, a lighter UI mode, and enhanced controls are introduced, making it a powerful tool for React Native developers to efficiently iterate on their design systems.
Sep 25, 2025 1,837 words in the original blog post.
Organizing a codebase with a clear folder structure is crucial for both human developers and AI tools to enhance productivity and maintainability, particularly in an Expo Router setup. The blog discusses strategies for achieving this, such as using a /src folder to separate app code from configuration files and creating a /components folder for reusable elements. It emphasizes the importance of file-based routing and suggests creating a /screens folder to manage complex UI code separately from components. Additionally, the text recommends designating a /utils folder for miscellaneous utilities and separating server code into a /server or /api folder for better management and to prevent route collisions. The document also highlights the benefits of using platform-specific file extensions to manage code for different targets and suggests colocating styles and unit tests within files for easier access and maintenance. Adopting these organizational practices can significantly improve the scalability and readability of a codebase.
Sep 23, 2025 1,369 words in the original blog post.
The Expo team has promoted the new file system module, initially released in SDK 52 as expo-file-system/next, to a stable version in SDK 54, encouraging users to migrate from the older API, which remains available under expo-file-system/legacy for a limited time. The updated module introduces a more object-oriented approach with File and Directory classes, simplifying operations by eliminating the need to manually concatenate path strings and allowing for method chaining. It enhances developer experience through improved code suggestions and supports various data inputs, including strings, base64, and binary data. The module integrates the Blob interface, facilitating compatibility with existing packages and enabling seamless use with expo/fetch for downloading and uploading files. Additionally, the API incorporates Android's SAF and iOS's Security Scoped Resources, providing built-in file selection capabilities while maintaining compatibility with expo-document-picker. Although the Web platform poses challenges due to its limited file access capabilities, the Expo team is considering unifying the File API across iOS, Android, and Web, seeking community feedback to inform this potential development. The team encourages user feedback and participation in discussions regarding the new API's features and functionality.
Sep 16, 2025 1,046 words in the original blog post.
Expo has introduced @expo/app-integrity, a library designed to enhance app security by integrating platform app attestation services into Expo projects, specifically for Android and iOS devices. It uses Google Play Integrity and Apple App Attest APIs to verify the authenticity of app instances, thereby preventing unauthorized access by modified clients, emulators, or scripts. On Android, it follows the Play Integrity request flow, while on iOS, it employs the App Attest process, both involving server-side verification of integrity tokens or keys to decide whether to allow, limit, or block requests. The library is currently in its alpha stage, available as part of the SDK 54 release, and invites user feedback and contributions to help refine its functionality. Users are encouraged to apply integrity checks selectively to high-risk actions like transactions or content access, starting small and expanding as necessary.
Sep 15, 2025 403 words in the original blog post.
Expo UI integrates modern native UI frameworks, namely SwiftUI for iOS and Jetpack Compose for Android, into React Native, allowing developers to utilize platform-specific primitives without re-implementing components. This integration enables the use of advanced features like iOS's Gauge and the Liquid Glass effect, making it easier to create complex and visually appealing UIs. With its incremental approach, Expo UI supports a seamless transition by allowing SwiftUI and Jetpack Compose to coexist with existing React Native components, without the need for a complete app rewrite. The recent updates in SDK 54 enhance its capabilities by introducing a <Host> container for SwiftUI, supporting modifiers for flexible styling, and enabling full-app development with Expo UI primitives. While SwiftUI is currently the primary focus, support for Jetpack Compose is in development, with community contributions playing a vital role in its growth. Expo UI's flexible nature accommodates diverse design philosophies, allowing developers to choose the best tools for creating universal yet deeply native experiences across platforms.
Sep 12, 2025 1,323 words in the original blog post.
Expo Router v6 introduces features designed to enhance the native feel of apps developed with React, focusing on complex native APIs and server capabilities to manage advanced web use cases. Notable additions include <Link.Preview> and <Link.Menu> for iOS apps, enabling intuitive controls like link previews and context menus without extra imports, delivering a native-like experience. The update also introduces NativeTabs, currently in beta, which promise improved control and responsiveness for iOS and Android, leaning towards native implementations over universal TypeScript. There's an emphasis on using platform-specific icons and colors for a seamless aesthetic. Additionally, the release features experimental web modals replicating iOS modal behavior, and server middleware support aimed at future server-side rendering (SSR) capabilities. The update also highlights performance improvements, better error handling, and reduced warnings, ensuring that apps built with Expo Router v6 are both visually appealing and functionally robust across multiple platforms.
Sep 11, 2025 769 words in the original blog post.
Expo SDK 54 introduces significant updates, including the integration of React Native 0.81, Reanimated v4, and support for Android API level 36 and iOS 26 features, while also marking the last version to support React Native's Old Architecture. The update includes precompiled React Native for iOS builds, potentially speeding up the build process, though some libraries may require adjustments. Reanimated v4 introduces changes that require a careful approach for some projects, and the default integration of Android edge-to-edge support simplifies UI configurations. The upgrade also brings a new approach to handling unhandled promise rejections, aligning them with web browser behavior, and updates to expo-file-system. Developers are encouraged to carefully review the changelog for breaking changes and use development builds to ease the transition. Adopting the New Architecture is advised, but not simultaneously with the SDK upgrade to better isolate issues. For troubleshooting, Expo provides a range of resources, including guides and community support forums, and emphasizes the importance of minimal reproductions for reporting issues.
Sep 10, 2025 1,753 words in the original blog post.