Rocket Ship

Rocket Ship

By Simon GrimmTechnologyEducation
Download on the App Store

Rocket Ship episodes

  • #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/13ritta
    • Britta LinkedIn: https://www.linkedin.com/in/britta-evans-fenton/

    Links

    • Accessibility Cheat Sheet: https://scanqr.to/5e270983
    • Crafting an Inclusive Shopify Point of Sale: https://www.youtube.com/watch?v=IoFnQQj4g1A
    • AccessibilityInfo API: https://reactnative.dev/docs/accessibilityinfo

    Takeaways

    • 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
  • #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-v5
    • https://zeego.dev/
    • https://docs.expo.dev/build-reference/variables/
    • https://podcast.galaxies.dev/episodes/051-react-native-brownfield-integration-with-mariusz-stanisz
    • https://www.youtube.com/watch?v=OT5hQbvGRW8&ab_channel=SimonGrimm
    • https://docs.expo.dev/guides/analyzing-bundles/
    • https://docs.expo.dev/review/overview/#internal-distribution-with-eas-build
    • https://docs.expo.dev/eas-update/getting-started/#configure-the-update-channel
    • https://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.


    40 min
  • #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/staszekscp

    Links

    • Mariusz AppJS Talk: https://www.youtube.com/watch?v=mOg29UnIMMA&ab_channel=SoftwareMansion
    • React Native Brownfield Docs: https://reactnative.dev/docs/integration-with-existing-apps
    • React Native Brownfield Tools: https://github.com/callstack/react-native-brownfield

    Takeaways

    • 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
  • #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/ospfranco
    • Oscar website: https://ospfranco.com/
    • Oscar GitHub: https://github.com/ospfranco
    • Oscar YouTube: https://www.youtube.com/@ospfranco

    Links

    • About the New Architecture: https://reactnative.dev/docs/the-new-architecture/landing-page
    • React Native Bridgeless Mode for Dummies: https://www.youtube.com/watch?v=K5HBIKAjZ4U
    • React Native Builder Bob: https://github.com/callstack/react-native-builder-bob
    • OP-Sqlite: https://github.com/OP-Engineering/op-sqlite

    Takeaways

    • 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
  • #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/vanGalilea
    • Steve 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-expo
    • MyWheels: https://mywheels.nl/en
    • React Native Testing: https://github.com/vanGalilea/react-native-testing
    • Mock 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
  • #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/GantLaborde
    • Gant website: https://gantlaborde.com
    • Gant GitHub: https://github.com/GantMan

    Links

    • The React Native Paradox (Chain React 2024): https://www.youtube.com/watch?v=jo2LjKJp0aA&list=PLFHvL21g9bk0XOO9XK6d6S9w1jBU6Dz_U&index=6
    • React Native Ignite: Building an AI app: https://www.youtube.com/watch?v=ivfXKYPS6Xw&list=PLSk21zn8fFZDMGB9UCnqz4WqLbnOgLnp5&index=3
    • Infinite Red React Native ML Kit template: https://github.com/infinitered/react-native-mlkit 
    • Google ML Kit: https://developers.google.com/ml-kit

    Takeaways

    • 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.
    1 hr 2 min
  • #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/rorybain
    • Rory GitHub: https://github.com/rorydbain

    Links

    • Building a multi-platform on-call mobile app: https://incident.io/hubs/building-on-call/building-a-multi-platform-on-call-mobile-app
    • Behind the Flame: Rory: https://incident.io/blog/behind-the-flame-rory
    • incident.io On-call: https://incident.io/on-call
    • Vercel SWR: https://github.com/vercel/swr

    Takeaways

    • 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
  • #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.dev

    Giovanni Laquidara

    • Giovanni LinkedIn: https://www.linkedin.com/in/glaquidara/
    • Giovanni Twitter: https://x.com/giolaq

    Links

    • Giovanni App.js talk: https://www.youtube.com/live/s0wn7qpBoB8?t=12161s
    • Build Expo apps for TV: https://docs.expo.dev/guides/building-for-tv/
    • React Native tvOS Github: https://github.com/react-native-tvos/react-native-tvos
    • IgniteTV template: https://github.com/react-native-tvos/IgniteTV

    Takeaways

    • React 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.
    45 min
  • #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.dev

    Gabriel Dierks

    • Gabriel Twitter: https://x.com/GarioTV

    Links

    • App.js talk: https://www.youtube.com/live/MdCn0Iq0ucU?si=8-AJoLnOsC8StM6w&t=26324
    • Kadmos: https://www.kadmos.io/
    • Huawei App Gallery: https://appgallery.huawei.com/

    Takeaways

    • Insights into the challenges and solutions of mobile app development for seafarers
    • Understanding the technology stack and release pipeline for app updates
    • Considerations 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.
    45 min
  • #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.dev

    Delphine Bugner

    • Delphine Twitter: https://twitter.com/DelphineBugner
    • Delphine Github: https://github.com/delphinebugner

    Links

    • Delphine "The Yoga Enigma" talk in Berlin: https://www.youtube.com/watch?v=LU3vK3IbprY
    • Yoga: https://www.yogalayout.dev/

    Takeaways

    • Yoga 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.
    47 min

About Rocket Ship

From the publisher's feed

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,…

More shows like Rocket Ship

The Knowledge Project by Shane Parrish

The Knowledge Project

2,697 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

286 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

622 Listeners

Soft Skills Engineering by Jamison Dance and Dave Smith

Soft Skills Engineering

286 Listeners

React Native Radio by Jamon Holmgren, Robin Heinze, Mazen Chami

React Native Radio

67 Listeners

Y Combinator Startup Podcast by Y Combinator

Y Combinator Startup Podcast

226 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

983 Listeners

The Diary Of A CEO with Steven Bartlett by DOAC

The Diary Of A CEO with Steven Bartlett

8,428 Listeners

Hard Fork by The New York Times

Hard Fork

5,554 Listeners

PodRocket by LogRocket

PodRocket

59 Listeners

Huberman Lab by Scicomm Media

Huberman Lab

29,190 Listeners

devtools.fm: Developer Tools, Open Source, Software Development by Andrew Lisowski, Justin Bennett

devtools.fm: Developer Tools, Open Source, Software Development

26 Listeners

Front-End Fire by TJ VanToll, Paige Niedringhaus, Jack Herrington

Front-End Fire

11 Listeners

The Every Podcast by Dan Shipper

The Every Podcast

35 Listeners

The Pragmatic Engineer by Gergely Orosz

The Pragmatic Engineer

74 Listeners