

Rocket Ship
Simon Grimm
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.
Episodes
Mentioned books

Nov 5, 2024 • 60min
#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.devBritta Evans-FentonBritta X: https://x.com/13rittaBritta LinkedIn: https://www.linkedin.com/in/britta-evans-fenton/LinksAccessibility Cheat Sheet: https://scanqr.to/5e270983Crafting an Inclusive Shopify Point of Sale: https://www.youtube.com/watch?v=IoFnQQj4g1AAccessibilityInfo API: https://reactnative.dev/docs/accessibilityinfoTakeawaysAccessibility 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.

Oct 22, 2024 • 39min
#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.devLinkshttps://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/TakeawaysReanimated 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.

Oct 8, 2024 • 50min
#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.devMariusz StaniszMariusz X: https://x.com/staszekscp_Mariusz GitHub: https://github.com/staszekscpLinksMariusz 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-brownfieldTakeawaysBrownfield 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.

Sep 24, 2024 • 48min
#050 - New Arch, JSI, Native Modules & Rust with Oscar Franco
Oscar Franco, a freelance system engineer and creator of popular React Native libraries, dives deep into React Native's new architecture. He explains the transition from the traditional bridge to the groundbreaking JSI and Fabric components. Oscar outlines the differences between Turbo Modules, Expo Modules, and Nitro Modules, highlighting performance benefits and challenges in migrating existing applications. He also shares insights on utilizing Rust for better tooling and memory safety, along with his fastest SQLite library, OP-SQLite, enhancing performance in mobile applications.

Sep 10, 2024 • 47min
#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.devSteve GaliliSteve X: https://x.com/vanGalileaSteve website: https://stevegalili.com/Steve GitHub: https://github.com/vanGalilea/LinksMyWheels' 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/TakeawaysThe 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.

Aug 27, 2024 • 1h 2min
#048 - MLKit & The React Native Paradox with Gant Laborde
Gant Laborde, CIO at Infinite Red and a tech enthusiast from New Orleans, shares insights into the React Native Paradox and the tension with Flutter's development. He dives into his journey of writing a sci-fi novel inspired by tech and travel. Gant discusses the future of AI in mobile apps, highlighting Google's ML Kit for enhancing user experiences. He encourages developers to experiment with AI, fostering creativity and innovation in their projects. The conversation wraps up with a recap of ideas from the Chain React conference.

Aug 13, 2024 • 56min
#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.devRory BainRory X: https://x.com/rorybainRory GitHub: https://github.com/rorydbainLinksBuilding 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/swrTakeawaysThe 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.

Jul 30, 2024 • 45min
#046 - Developing React Native TV Apps with Giovanni Laquidara
In this conversation, Simon Grimm interviews Giovanni Laquidara, a developer advocate at Amazon, about TV app development with React Native. Giovanni shares his experience working with React Native at Amazon and explains how React Native can be used to develop TV apps. He also discusses the challenges and considerations when developing for TV, such as the 10-foot UI, navigation, and remote control interaction. Giovanni recommends using separate repositories for different TV platforms and emphasizes the importance of designing for readability and accessibility in TV apps. Building TV apps with React Native requires handling fragmentation, focus management, and performance considerations. Integration with TV remotes can be challenging due to different key mappings. Testing on various platforms is crucial. TV apps often focus on streaming media, but there are opportunities for educational, fitness, and gaming apps. The developer experience is improving, and AI services may be integrated into TV apps in the future.Learn React Native - https://galaxies.devGiovanni LaquidaraGiovanni LinkedIn: https://www.linkedin.com/in/glaquidara/Giovanni Twitter: https://x.com/giolaqLinksGiovanni App.js talk: https://www.youtube.com/live/s0wn7qpBoB8?t=12161sBuild Expo apps for TV: https://docs.expo.dev/guides/building-for-tv/React Native tvOS Github: https://github.com/react-native-tvos/react-native-tvosIgniteTV template: https://github.com/react-native-tvos/IgniteTVTakeawaysReact Native can be used to develop TV apps for platforms like Android TV, Fire TV, and tvOS.Developing for TV requires considering the 10-foot UI, where users are typically three meters away from the screen.TV app navigation should be easy and seamless, with a focus on simplicity and avoiding complex interactions.Separate repositories are recommended for different TV platforms due to the fragmentation and differences in SDKs.Designing for readability and accessibility is crucial in TV app development. Building TV apps with React Native requires handling fragmentation, focus management, and performance considerations.Testing on various platforms is crucial for TV app development.TV apps often focus on streaming media, but there are opportunities for educational, fitness, and gaming apps.The developer experience for TV app development is improving.AI services may be integrated into TV apps in the future.Deployment to app stores follows similar processes as mobile apps.

Jul 16, 2024 • 44min
#045 - React Native Apps for Seafarers with Gabriel Dierks
In this conversation, Gabriel Dierks, a lead mobile engineer at Kadmos, discusses the challenges and solutions related to mobile app development for seafarers. He also shares insights on the technology stack, release pipelines, and user experience considerations. The conversation covers topics such as the specific niche of the shipping industry, the challenges faced by seafarers, the technology stack used at Kadmos, and the release pipeline for app updates. The conversation dives further into app deployment, versioning, fingerprint comparison, Huawei App Gallery, and mobile app integration. It also delves into the challenges of integrating Huawei push service, and the connection between the web application and the mobile app for card activation. The discussion highlights the unique market focus of Kadmos and the challenges of catering to a different market.Learn React Native - https://galaxies.devGabriel DierksGabriel Twitter: https://x.com/GarioTVLinksApp.js talk: https://www.youtube.com/live/MdCn0Iq0ucU?si=8-AJoLnOsC8StM6w&t=26324Kadmos: https://www.kadmos.io/Huawei App Gallery: https://appgallery.huawei.com/TakeawaysInsights into the challenges and solutions of mobile app development for seafarersUnderstanding the technology stack and release pipeline for app updatesConsiderations for user experience in the shipping industry niche Insights into the deployment process for mobile apps, including versioning and fingerprint comparison.Challenges and considerations for integrating with the Huawei App Gallery and Huawei push service.The connection between web application and mobile app for card activation and the unique market focus of Kadmos.The impact of market differences on app development and the importance of a seamless fintech experience for users.

Jul 2, 2024 • 47min
#044 - Yoga, Layouting and New Architecture with Delphine Bugner
Delphine Bugner, Mobile Tech Lead at BAM, discusses the inner workings of Yoga in React Native. Yoga is responsible for positioning components on the screen based on their dimensions and styling props. Delphine emphasizes the importance of understanding how things work under the hood and why they were designed that way. She shares her uncommon journey into becoming a React Native tech lead and her passion for exploring the technical aspects of technology. She also discusses the architecture of Yoga and how it works under the hood, including the translation of JSX into native views, the creation of shadow nodes and Yoga nodes, and the communication between JavaScript and native code. The conversation concludes with a discussion about the future of Yoga and its alignment with React on the web.Learn React Native - https://galaxies.devDelphine BugnerDelphine Twitter: https://twitter.com/DelphineBugnerDelphine Github: https://github.com/delphinebugnerLinksDelphine "The Yoga Enigma" talk in Berlin: https://www.youtube.com/watch?v=LU3vK3IbprYYoga: https://www.yogalayout.dev/TakeawaysYoga is responsible for positioning components on the screen based on their dimensions and styling props in React Native.Understanding how things work under the hood and why they were designed that way is important for developers.Yoga was created as a replacement for CSS in React Native and provides a common platform-agnostic layouting solution.The architecture of Yoga involves the translation of JSX into native views, the creation of shadow nodes and Yoga nodes, and the communication between JavaScript and native code.The new architecture in React Native improves code maintenance and performance.View flattening is a concept in Yoga that minimizes unnecessary containers in the view hierarchy.Debugging Yoga can be done by using breakpoints in C++ to understand the algorithm and identify the source of bugs. The new architecture in React Native brings more conformity with the web and allows for features like suspense and transitions that were not possible before.Working with native modules in React Native is not as difficult as it may seem, and developers can use tools like Bob or Create React Native Library CLI to simplify the process.Expo provides a more maintained and active ecosystem compared to the community libraries, making it a good choice for new projects.Yoga is continuously evolving to align React Native with the web, and future updates will offer more configuration options for developers.


