Rocket Ship

Simon Grimm
Rocket Ship

Welcome aboard the Rocket Ship, the ultimate podcast voyage into the heart of React Native development with Simon Grimm! Whether you're a seasoned mobile app developer or just starting your journey, this is your go-to destination for all things React Native and Expo.

  1. 19 NOV

    #054 - React Native Music Game with Kim Chouard (Skia, NativeWind, Expo AV)

    In this conversation, Simon Grimm interviews Kim Chouard, a developer and educator, about his journey in coding, the challenges of building a multiplatform music game using React Native, and the innovative app Odisei Play that aims to help users learn to play wind instruments. Kim shares insights on the creative aspects of coding, the evolution of React Native, and the technology stack behind Odisei Play, including audio handling and pitch recognition. The discussion highlights the importance of education, creativity, and community in the tech space. In this conversation, Kim Chouard discusses the evolving landscape of development tools, particularly focusing on AI tools and their implications for new developers. He shares insights on the Expo audio package and the challenges faced in audio synchronization within applications. The discussion also delves into the use of Skia for performance optimization in React Native applications, highlighting its capabilities and the need for better documentation. Finally, Kim emphasizes the importance of a web-first approach in React Native development, advocating for a unified community that leverages the strengths of both web and mobile development. Learn React Native - https://galaxies.dev Kim Chouard Kim X: https://x.com/KimChouardKim personal: https://chouard.kim/Kim LinkedIn: https://www.linkedin.com/in/kimchouard/Links Odisei Music's website (creator of Odisei Play): https://odiseimusic.com/Kim AppJS Talk: https://www.youtube.com/watch?v=PGvhniTxpu4&ab_channel=SoftwareMansionExpo AV: https://docs.expo.dev/versions/latest/sdk/av/Chromatic: https://www.chromatic.com/Storybook: https://storybook.js.org/Takeaways Kim's mission is to leverage games for alternative education.Coding can be a creative process, not just technical.Building a music game requires precise timing and performance.React Native's rapid evolution presents both opportunities and challenges.Odisei Play aims to make learning wind instruments accessible and fun.The app combines elements of gamification and music education.Skia is crucial for the performance of the Odisei Play app.Bluetooth technology can be optimized for real-time music applications.AI tools like Cursor can enhance coding efficiency.Community support is vital for navigating the fast-paced tech landscape. AI tools can accelerate development but may lead to inconsistencies.Expo AV is the only production-ready audio library available now, although it has some limitationNew opportunities of more robust alternatives for audio handling are on the horizon (expo-audio, react-native audio, etc.)Audio synchronization remains a significant challenge in app development.Skia provides a powerful canvas for creating high-performance applications.The integration of web technologies can enhance React Native development.Community collaboration is essential for overcoming development hurdles.Real-time audio recognition is complex and requires advanced algorithms.A web-first approach can simplify the development process for React Native.The React Native community is passionate and supportive.Future advancements in 3D and game development are on the horizon.

    1h 1m
  2. 5 NOV

    #053 - Why Accessibility in React Native matters with Britta Evans-Fenton

    In this conversation, Simon Grimm and Britta Evans-Fenton discuss the importance of accessibility in React Native and mobile development. Britta shares her personal journey into accessibility, motivated by her grandmother's experience with macular degeneration. They explore the definition of accessibility, the consequences of neglecting it, and the various tools and features available to enhance accessibility in mobile applications. The discussion emphasizes the need for inclusivity in technology and the potential legal implications of failing to comply with accessibility standards. In this conversation, Simon and Britta Evans-Fenton delve into the complexities of accessibility in React Native applications. They discuss the current state of accessibility resources, practical steps developers can take to improve accessibility in their apps, and the importance of community awareness. Britta emphasizes the need for a mindset shift among developers to prioritize accessibility, considering the growing number of users who will require these features in the future. The conversation also touches on potential improvements for accessibility tools and APIs in React Native. Learn React Native - https://galaxies.dev Britta Evans-Fenton Britta X: https://x.com/13rittaBritta LinkedIn: https://www.linkedin.com/in/britta-evans-fenton/Links Accessibility Cheat Sheet: https://scanqr.to/5e270983Crafting an Inclusive Shopify Point of Sale: https://www.youtube.com/watch?v=IoFnQQj4g1AAccessibilityInfo API: https://reactnative.dev/docs/accessibilityinfoTakeaways Accessibility is crucial for creating inclusive technology.Personal experiences can drive a passion for accessibility.Understanding accessibility benefits everyone, not just those with disabilities.The European Accessibility Act will impose fines for non-compliance.Companies can gain customers by prioritizing accessibility.Accessibility features include screen readers and voice control.There are various layers to accessibility beyond visual impairments.Developers should be aware of both iOS and Android accessibility nuances.Using accessibility tools can enhance user experience for all.Accessibility is about removing barriers for all users. There is a lack of resources on accessibility in React Native compared to web development.Many developers do not consider accessibility because they do not have disabilities themselves.Grouping components can significantly improve accessibility for users with screen readers.Accessibility labels and roles are crucial for making interactive elements understandable.Overloading elements with unnecessary labels can confuse users, especially those with partial vision.Testing apps manually can help identify accessibility issues.Keeping labels concise is essential for effective communication with screen readers.Building a community around accessibility awareness is vital for improvement.The aging population will increasingly require accessible technology.Developers should engage with local organizations to better understand accessibility needs.

    1 hr
  3. 22 OCT

    #052 - Styling, RSC, Expo, Universal Apps, EAS, Debugging, Strict DOM, React Native Q&A

    What are my top 3 libraries? Which styling solution is the best? How can we build better universal apps for web, iOS and Android? In this special Q&A episode I answered tons of your questions about the current state of React Native, Expo and the future improvements like RSC or Expo DOM components and react-strict-dom. Learn React Native - https://galaxies.dev Links https://docs.swmansion.com/react-native-reanimated/https://gorhom.dev/react-native-bottom-sheet/blog/bottom-sheet-v5https://zeego.dev/https://docs.expo.dev/build-reference/variables/https://podcast.galaxies.dev/episodes/051-react-native-brownfield-integration-with-mariusz-staniszhttps://www.youtube.com/watch?v=OT5hQbvGRW8&ab_channel=SimonGrimmhttps://docs.expo.dev/guides/analyzing-bundles/https://docs.expo.dev/review/overview/#internal-distribution-with-eas-buildhttps://docs.expo.dev/eas-update/getting-started/#configure-the-update-channelhttps://tamagui.dev/https://onestack.dev/https://www.nativewind.dev/Takeaways Reanimated is a core library for React Native projects.TypeScript is recommended for better reliability in mobile development.Secret keys should not be stored in the app's code or .env files.Using a server to store sensitive keys is a safer approach.Integrating React Native into existing apps can be challenging but rewarding.Unistyles is a powerful styling solution for React Native.Expo is widely adopted and offers many advantages for new projects.Ejecting from Expo is no longer necessary with pre-builds.Reducing app size often involves optimizing images and assets.EAS updates can streamline workflows for larger teams.

    39 min
  4. 8 OCT

    #051 - React Native Brownfield Integration with Mariusz Stanisz

    In this conversation, Simon Grimm interviews Mariusz Stanisz, a React Native developer, about the complexities and challenges of Brownfield integration in mobile applications. Mariusz shares his experiences, insights, and the potential benefits of integrating React Native into existing native applications. The discussion covers the technical aspects of integration, communication between native and React Native apps, and the future of Brownfield integration in the React Native ecosystem. Learn React Native - https://galaxies.dev Mariusz Stanisz Mariusz X: https://x.com/staszekscp_Mariusz GitHub: https://github.com/staszekscpLinks Mariusz AppJS Talk: https://www.youtube.com/watch?v=mOg29UnIMMA&ab_channel=SoftwareMansionReact Native Brownfield Docs: https://reactnative.dev/docs/integration-with-existing-appsReact Native Brownfield Tools: https://github.com/callstack/react-native-brownfieldTakeaways Brownfield integration allows for gradual migration to React Native.Challenges arise from integrating into existing large native applications.Communication between native and React Native can be achieved through various methods.Brownfield integration is not widely used, making resources scarce.The integration process can speed up development significantly.Hot Reload works well in simple applications during integration.React Native's new architecture presents both opportunities and challenges.Documentation and community support for Brownfield integration need improvement.Testing and debugging can be more complex in Brownfield scenarios.

    50 min
  5. 24 SEPT

    #050 - New Arch, JSI, Native Modules & Rust with Oscar Franco

    In this conversation, Simon Grimm interviews Oskar Franco about the new architecture in React Native. They discuss the current bridge concept, the need for a new architecture, and the three main components of the new architecture: Fabric, JSI, and CodeGen. They also talk about the challenges and benefits of migrating to the new architecture, the use of host objects, and how to create a new architecture-ready native module with JSI. In this conversation, Oscar Franco discusses different module systems in React Native, including Turbo Modules, Expo Modules, and Nitro Modules. He explains that Turbo Modules came with a new architecture and offer benefits such as code generation and lazy initialization. Expo Modules are easy to initialize but may have performance issues for certain use cases. Nitro Modules, are considered the fastest alternative. Oscar also talks about using Rust in React Native and the benefits it provides, such as memory safety and better tooling. He created the OP-SQLite library, which is claimed to be the fastest SQLite library for React Native. Learn React Native - https://galaxies.dev Oscar Franco Oscar X: https://x.com/ospfrancoOscar website: https://ospfranco.com/Oscar GitHub: https://github.com/ospfrancoOscar YouTube: https://www.youtube.com/@ospfrancoLinks About the New Architecture: https://reactnative.dev/docs/the-new-architecture/landing-pageReact Native Bridgeless Mode for Dummies: https://www.youtube.com/watch?v=K5HBIKAjZ4UReact Native Builder Bob: https://github.com/callstack/react-native-builder-bobOP-Sqlite: https://github.com/OP-Engineering/op-sqliteTakeaways The current bridge concept in React Native uses JSON serialization, which can become a bottleneck for performance.The new architecture in React Native includes Fabric, JSI, and CodeGen, which aim to improve performance and provide better interoperability between JavaScript and native code.Migrating to the new architecture can be challenging, especially for larger projects and dependencies that are not updated for the new architecture.The use of host objects allows for the creation of hybrid objects that have both native and JavaScript functionality.Creating a new architecture-ready native module with JSI can be facilitated by using tools like React Native Builder Bob.Turbo Modules offer benefits such as code generation and lazy initialization, but setting them up can be painful.Expo Modules are easy to initialize and portable, but they may have performance issues for certain use cases.Nitro Modules, developed by Marc Rousavy, are considered the fastest alternative.Rust is a memory-safe language with integrated tooling and is becoming popular for writing SDKs for React Native.OP-SQLite is a fast SQLite library for React Native that uses host objects for improved performance.

    48 min
  6. 10 SEPT

    #049 - Migrating to Expo from RNC CLI & Testing Libraries with Steve Galili

    Steve Galili, lead software engineer at MyWheels, discusses the transition from the React Native Community CLI to Expo for their car-sharing platform. He highlights the benefits of Expo, such as easier development and maintenance, and the challenges of convincing the team and management to make the switch. Steve also shares insights into the technology stack of the MyWheels app, including a back office admin tool, a B2B portal, and the core app. He mentions the future plan to migrate to Expo router and the importance of prioritizing core functionality during the migration process. Steve also shares the benefits of using Expo, such as faster builds and easier onboarding for web developers. He then highlights the importance of testing in React Native and introduces the React Native Testing repository he created. Steve expresses his excitement for React Server Components in React Native and the potential improvements they can bring to the MyWheels app. Learn React Native - https://galaxies.dev Steve Galili Steve X: https://x.com/vanGalileaSteve website: https://stevegalili.com/Steve GitHub: https://github.com/vanGalilea/Links MyWheels' Journey from RNC CLI to Expo: https://expo.dev/blog/from-rnc-cli-to-expoMyWheels: https://mywheels.nl/enReact Native Testing: https://github.com/vanGalilea/react-native-testingMock Service Worker: https://mswjs.io/Takeaways The transition from React Native Community CLI to Expo can bring benefits such as easier development and maintenance.Convincing the team and management to make the switch to Expo can be a challenge, but highlighting the issues with the current setup and the potential improvements can help.During the migration process, it's important to prioritize core functionality and make decisions based on the impact on users and other apps. Expo offers benefits such as faster builds and easier onboarding for web developers.Front-end Innovation Days provide dedicated time for developers to work on innovative projects.Testing is important in React Native, and the React Native Testing repository provides practical examples and resources.Maestro and MSW are useful tools for testing and mocking API calls in React Native.React Server Components in React Native have the potential to improve app performance and security.

    47 min
  7. 27 AUG

    #048 - MLKit & The React Native Paradox with Gant Laborde

    In this conversation, Simon Grimm interviews Gant Laborde, CIO at Infinite Red, about his role, his sci-fi novel, and the React Native Paradox. Gant explores the reasons behind React Native's success and its consistency and care as key factors. They also touch on the competition between React Native and Flutter, and the challenges faced by Google in maintaining consistency and community support. In this conversation, Gant Laborde discusses the future of AI and its integration into mobile and web projects. He highlights the importance of understanding the business logic and using AI as a feature to enhance the user experience. Gant also explains ML Kit, a Google initiative that provides pre-trained models for image and text recognition, face detection, and more. He emphasizes the need for developers to explore and experiment with AI to discover innovative ways to improve their products. Gant encourages developers to think about how AI can add value and increase the quality of life for users. Learn React Native - https://galaxies.dev Gant Laborde Gant X: https://x.com/GantLabordeGant website: https://gantlaborde.comGant GitHub: https://github.com/GantManLinks The React Native Paradox (Chain React 2024): https://www.youtube.com/watch?v=jo2LjKJp0aA&list=PLFHvL21g9bk0XOO9XK6d6S9w1jBU6Dz_U&index=6React Native Ignite: Building an AI app: https://www.youtube.com/watch?v=ivfXKYPS6Xw&list=PLSk21zn8fFZDMGB9UCnqz4WqLbnOgLnp5&index=3Infinite Red React Native ML Kit template: https://github.com/infinitered/react-native-mlkit Google ML Kit: https://developers.google.com/ml-kitTakeaways As CIO at Infinite Red, Gant's role is to drive innovation and explore new technologies for the company.The React Native Paradox refers to the success of React Native despite other technologies attempting to bring web technology to mobile.Consistency and care are key factors in the success of React Native.Flutter, while popular, faces challenges due to Google's history of discontinuing projects and lack of consistency.The community support and open-source nature of React Native contribute to its longevity and adoption.Google's focus on multiple technologies and lack of consistency can hinder the success of its projects.Long-term success in technology requires multi-generational thinking and community support. AI is becoming an integral part of mobile and web projects, and its integration should focus on enhancing the user experience and adding value to the product.ML Kit, a Google initiative, provides pre-trained models for various AI tasks such as image and text recognition, face detection, and more.Developers should explore and experiment with AI to discover innovative ways to improve their products and solve real-world problems.Understanding the business logic and the problem being solved is crucial for effectively integrating AI into projects.

    1h 2m
  8. 13 AUG

    #047 - Challenges of Building an On-call App with Rory Bain

    In this conversation, Simon interviews Rory Bain, a product engineer at Incident.io, about his experience building a multi-platform on-call mobile app using React Native. Rory shares his background in native mobile app development and his transition to React Native. They discuss the reasons for choosing React Native over frameworks like Flutter or Kotlin Multiplatform. Rory also explains the process of developing the on-call app, including the use of Expo and the challenges of implementing push notifications and critical alerts on Android. They also dive into the differences between iOS and Android development, the use of libraries like Tailwind and SWR, the challenges of CI/CD integration, and debugging issues with Expo's EAS. Learn React Native - https://galaxies.dev Rory Bain Rory X: https://x.com/rorybainRory GitHub: https://github.com/rorydbainLinks Building a multi-platform on-call mobile app: https://incident.io/hubs/building-on-call/building-a-multi-platform-on-call-mobile-appBehind the Flame: Rory: https://incident.io/blog/behind-the-flame-roryincident.io On-call: https://incident.io/on-callVercel SWR: https://github.com/vercel/swrTakeaways The on-call mobile app at Incident.io was developed using React Native and Expo, which allowed for quick prototyping and hot reloading.Choosing React Native over other frameworks like Flutter or Kotlin Multiplatform was influenced by the familiarity with JavaScript and web-based tooling, as well as the desire for a native feel on each platform.Implementing push notifications and critical alerts on Android required writing custom native modules and using data-only notifications to wake up the app and display the notifications.The use of Expo and managed projects simplified the development process and eliminated the need for developers to install Android Studio or Xcode. Building a multi-platform on-call mobile app requires considering the differences between iOS and Android development.Libraries like Tailwind and SWR can enhance the development experience and provide consistent styling and API handling across platforms.Integrating CI/CD for mobile apps can be challenging, especially when dealing with versioning and remote updates.Debugging issues with Expo's EAS may require trial and error and using local build processes to identify and resolve problems.

    56 min

About

Welcome aboard the Rocket Ship, the ultimate podcast voyage into the heart of React Native development with Simon Grimm! Whether you're a seasoned mobile app developer or just starting your journey, this is your go-to destination for all things React Native and Expo.

You Might Also Like

To listen to explicit episodes, sign in.

Stay up to date with this show

Sign in or sign up to follow shows, save episodes and get the latest updates.

Select a country or region

Africa, Middle East, and India

Asia Pacific

Europe

Latin America and the Caribbean

The United States and Canada