You’re probably already heard of “Development Builds” - it’s the workflow you need to adopt in order to use any native functionality outside of the built-in APIs in the Expo Go Sandbox. From SDK 51 onwards, each new version of Expo Go will only support the latest Expo SDK. This makes it all the more important not to rely on Expo Go in production apps as you'd need to immediately upgrade the app to the latest SDK in order to continue developing on iPhone devices.In this talk we’ll explore why development builds are necessary as well as beneficial, the best way to get started with them, and how to leverage the built-in functionality - continuous native generation, config plugins, expo modules - to get the most out of the workflow. (edited)
Say you want an Apple Photos-style image previewer for your app. Where would you start? You might start brainstorming a complex mix of JS libraries for zooming, panning shared element transitions, pop ups and more. And weeks later, after thousands of lines of gesture logic and an imperfect solution, you'll wonder if there was a simpler way. In this talk, we'll demystify the use of native code in React Native. I'll show you how I built a beautiful image previewer in just a few hours by wrapping an existing Swift library, showing you how you could make your own. We'll explore a simpler mindset for solving complex UI problems in React Native, shifting the default from, "which JS libraries could I use" to "what is the best native implementation"?
James and Charlie have talked about iteration speed, what it is and how they build it into the frameworks they create at Expo, increasing the speed of receiving constant feedback. They also focus on how Expo & EAS makes CI/CD easier, presenting what continuous development looks like end to end with Expo, and highlighting some features that might make your development even faster. At the end, Charlie has done an overview of a few excellent apps built with Expo, showcasing their capabilities and features.
Have you heard the announcements from ReactConf? The recommended way to build React Native applications is now to use a React Native Framework!In the last few years, React Native has evolved from being just a hackathon project to being a huge ecosystem of tools and libraries. Our goal is for you to be able to build 5 star mobile applications with the blink of an eye, and we believe that the best way to do that is through a React Native Framework. Either if you're using a framework like Expo or the Community CLI without a Framework, or if you're developing libraries for React Native, you might be wondering how changes to React Native Frameworks will affect you. But don't worry - we've got your back! In this talk, we'll explain why we believe Frameworks are the key to a brighter future for React Native and what it means for you as a React Native developer.
In this talk, we'll talk through lessons we've learned building a macOS and Windows desktop app with React Native. We'll cover how we built native macOS modules using Expo modules, how we overcame the biggest pain points when developing for "out of tree" platforms, and how we added support for other Windows (and in the future, Linux) using react-native-web and Electron.This is the story of building Expo Orbit, a utility desktop app that accelerates your development workflow by connecting the three different environments where you interact with Expo tools and services: web, desktop, and mobile. You can click a button on the website that opens the desktop app, which in turn launches an app on a mobile device or emulator. You'll learn how we built this app in less than 3 months using the tools available today with Expo.
Learn how Starlink is using real-time 3D to build more intuitive and engaging UI in React Native, and explore how you can bring 3D to your app.
Expo's been hard at work to create a first-look at data fetching, server rendering, and streaming in universal Expo Router apps. Expo also open sourced a new tool that we’ve used internally for reducing bundle size in our apps.
Discover how a single team can rapidly deploy high-performance animated apps and games across multiple platforms using React Native and Skia. This talk delves into the journey from concept to launch, highlighting the speed and efficiency of these technologies in creating engaging user experiences. Learn how to overcome the challenges of real-time feedback and smooth animations synced with audio, ensuring no lag even in the most rhythm-intensive scenarios.
We all know how important feature flagging is and there is an abundance of services and tools available to solve this for the client-side. However, what happens when you scale beyond these off-the-shelf tools? In this talk, we will talk about how we built a remote configuration platform for the Chime React Native app to integrate with our suite of in-house feature flagging and experimentation platforms.
Documentation of brownfield integration in React Native is very limited. It forces developers to reach out to X posts, outdated articles, and YouTube videos which are often ~5 years old. Moreover, they mostly focus on fundamental knowledge, forcing developers to explore the topic on themselves. However, it doesn't mean we cannot do any advanced integrations with it.During this talk, Mariusz would like to share the findings from his long brownfield journey, during which he's connected two big standalone apps. By the time of the conference it should be already available on production for ~12 million users. He's going to give some tips, and point out the most crucial problems that have appeared, and how he has solved them.
Modern apps require a lot of data work. Global context, persisted state, and coordinated UI updates are difficult enough; throw in client-server sync, real-time collaboration, and support for intermittent connections and it can consume a tremendous amount of effort…even to achieve a halfway-decent solution.Prisma has changed the way Now developers interact with their data; now, learn how we're bringing our expertise to bear on these problems—so you can focus on what makes your app unique and let us handle the heavy data lifting to give you a best-in-class, connected, collaborative mobile experience.
Kadmos is probably one of the very few companies (especially in Germany!) that is using EAS Updates with the useUpdates hook on an almost daily basis. Together with maintaining our own runtime and bundle version history this allows us to deliver extremely fast and reliable to our Testing, Staging and Production apps. In my talk I want to emphasise on my experience with EAS and Expo in general with focus on the power of OTA updates via EAS. Our product is a salary and remittance tool for seafarers globally, which comes with the challenges of a big need for product stability, low network connectivity as well as broad availability in various app stores.
React Native calls it all the time, it’s calculating the position and size of everything on screen, yet it’s controlled with the simplest flex rules - how well do you know Yoga, the layout engine of React Native? Using the story of a small bug seen on many projects - a text not wrapping properly in its container -, the talk illustrates how Yoga’s algorithm works, step by step. It aims to solve a triple mystery: finding the bug's origin, first; second, understanding how the layouting works in React Native, under the hood; last but no least, why Yoga was designed like that, making it unique compared to classic CSS - and deeply anchored in the mobile world.
As libraries like Reanimated and Skia continue to offer increasingly sophisticated capabilities, so does our understanding of the graphic and animation techniques we need to employ in our apps. In this talk, will review five fundamental animation techniques that are essential for delightful user experiences. Number three will surprise you...
In 2023 again, developer experience related topics rank at the top of pain points in the State of React Native survey. Over the years, numerous attempts have been made to address this problem, but in many aspects, tools available for native developers or on the web, are far more superior than one at React Native developers disposal. Thankfully, this topic has recently gained a lot of attention, with several new ideas being in the works. In this presentation, I’ll talk about how those difference ideas converge in a unified IDE for React Native that my team is building. I will touch upon some interesting challenges from building the IDE, present current state of things and our vision for the future of tools accelerating development in the React ecosystem.
React Native powers a large number of experiences in Microsoft apps across multiple surfaces including mobile, desktop, Xbox, and AR/VR. In this session, we will explore the different ways Microsoft leverages React Native's flexible nature to power these experiences and how it became an important technological strategy for future applications at Microsoft.
Developers frequently face the challenge of improving the real-time iOS app engagement. Live Activities, offering real-time updates on the lock screen, emerges as a solution, yet its integration in React-Native posed challenges—until now. This talk unveils a seamless approach using Expo to implement Live Activities. We'll dissect the journey from conceptualization to execution, emphasizing the fusion of Expo's developer experience and the dynamic capabilities of Live Activities. Learn to craft captivating user experiences by marrying React-Native's flexibility with iOS's cutting-edge features, transforming user interaction without the complexities traditionally involved.
What’s it like shipping a React Native app to a platform that isn’t IOS or Android? What about shipping it to six platforms? Grab a remote and some popcorn, since in this talk we dive into the world of Smart TV app development and some React Native patterns you can use to build many-platform apps.
TVs are smarter than ever and apps are increasingly complex - it's time to expand beyond mobile screens. In this session, we'll explore how to build media streaming apps with React Native.Whether complementing an existing mobile app or building a new TV-first experience, we’ll cover the details for managing remote control input, focus management, and how to utilize native functionality for Smart TV devices and APIs with TurboModules.
In this talk, we dive into the journey of improving the Shopify App's performance, a critical tool serving millions of merchants worldwide. We will share our insights into defining performance goals, identifying and tackling performance bottlenecks, leveraging cache, and continuously monitoring and optimizing performance. Through this talk, we aim to inspire and equip others with practical strategies to enhance their app performance, thereby significantly improving the overall user experience.
React native is built for developing and releasing at pace, being able to deliver features across multiple platforms to all your users at the same time. But when react native projects grow from a solo contributor to having tens or hundreds of developers adding new features, we need a new set of tools and an architecture that can support this. This is a topic which often comes as an afterthought for projects. Thinking about this early on saves times and let every react native project scale, whether you are at a large company already or a project that intends to grow.
1Have you ever wondered how React Native magically lets us create native experiences with JavaScript? The foundation of React Native’s ability to communicate from JavaScript to native platforms is JavaScript Interface (JSI), an interface that lets us access and manipulate the JavaScript runtime. In this talk, I’ll be talking about how React Native uses the JavaScript runtime to power its capabilities, and the APIs that React Native developers can use to leverage the JavaScript runtime in their own libraries and applications.1
In this talk, Krystof will dive into how Sentry's Debug IDs make a real difference in React Native debugging, what they are, and how you can use them today. He'll share insights into how Debug IDs simplify the debugging of challenging production issues, making our lives a bit easier and our source maps much more manageable. This talk will provide valuable knowledge on how to enhance your debugging practices both for beginners and React Native veterans. You will understand what Debug IDs are, how are they created, and how to use them in your application both with and without the Sentry SDK.
Building apps quick in Expo is a given, but building AI apps is the future. In this talk, we'll be sharing the magic spells necessary to get an AI app up and running in Expo in 15 minutes. We will utilize industry shortcuts and standards. Ignite has been around since the beginning of React Native, and it's still here with 200+ contributors. Moreover, we'll unravel the potential of Ignite CLI in turbocharging your development workflow. Learn how to leverage Ignite's boilerplates and plugins to scaffold your AI app, allowing you to focus on innovation rather than boilerplate code.