Rocket Ship

Simon Grimm
undefined
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.
undefined
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.
undefined
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.
undefined
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.
undefined
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.
undefined
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.
undefined
Jun 18, 2024 • 52min

#043 - React Native Best Practices Template with Youssouf El Azizi

Yousouf El-Azizi, mobile tribe lead at Obytes and core team member of the GeeksBlaBla community in Morocco, discusses his path into technology and becoming a React Native developer. He also talks about his role as the leader of the mobile tribe at Obytes and the benefits of using their open-source starter template. The template, which has gained popularity on GitHub, includes Expo, TypeScript, Tailwind CSS, Husky, Lint-staged, Expo Router, React Query, React Hook Form, and localization with I18n. The conversation covers various topics related to the Obytes Starter template for React Native. The main themes include the use of Tailwind CSS, the benefits of using the template, the integration of GitHub actions for automation, the use of React Query Kit and TanStack Query for data fetching, the use of Maestro for end-to-end testing, and the importance of documentation. The conversation also touches on the negative aspects of social media and the benefits of following the right people on GitHub.Learn React Native - https://galaxies.devYoussouf El AziziYoussouf Twitter: https://twitter.com/ElaziziYoussoufYoussouf Website: https://elazizi.com/LinksObytes starter: https://starter.obytes.com/GitHub Feed is underrated: https://elazizi.com/posts/github-feed-is-underrated/TakeawaysThe mobile tribe at Obytes follows the Spotify model of managing teams, with tribes focusing on technology and squads focusing on projects.The Obytes starter template is an opinionated template that helps align teams and projects, providing a strong foundation and best practices.The template includes Expo, TypeScript, Tailwind CSS, Husky, Lint-staged, Expo Router, React Query, React Hook Form, and localization with I18n.Yousuf discusses the decision-making process behind adopting technologies for the starter template, such as Expo Router and Native Wind. The Obytes Starter template for React Native is designed to incorporate best practices and provide a solid foundation for new projects.Tailwind CSS is a popular framework for styling in React Native and is widely used in the React Native ecosystem.GitHub actions are used in the template for automation, including validation, testing, and building the app for different environments.React Query Kit and TenStack Query are used for data fetching and provide an easy way to manage queries and mutations.Maestro is used for end-to-end testing and provides a simple and intuitive way to write tests.Documentation is an important aspect of the template and guides how to use the various features and technologies.Following the right people on GitHub can be a valuable source of learning and discovering new projects and best practices.Social media platforms like Twitter can be overwhelming and cause anxiety, and it's important to be mindful of the time spent on them.
undefined
Jun 4, 2024 • 56min

#042 - React Native is alive! App.js Recap with Áron Berezkin

In this episode, Simon and Aaron recap the App.js conference and discuss the key themes and talks. They cover topics such as the state of Expo, the recommended framework for React Native, the importance of iteration speed, the introduction of Expo Orbit and Expo Atlas, the use of React Server Components, real-time 3D applications, Brownfield app integration, and local-first applications. They also highlight the challenges and benefits of using feature flagging and building native libraries. The React Native community is praised for its diversity of skills and the inspiration it provides. The future of React Native includes updates to Expo SDK, the release of React Server components, and the exploration of universal apps and low-code tools.Learn React Native - https://galaxies.devÁron BerezkinAron Twitter: https://twitter.com/AronBerezkinAron Blog: https://www.aronberezkin.com/Aron Github: https://github.com/AronBeTakeawaysExpo is the recommended framework for React Native and focuses on improving iteration speed.Expo introduced Expo Orbit, a tool for managing EAS builds, and Expo Atlas, a bundle analyzer for JavaScript bundles.Evan Bacon showcased the use of React Server Components with AI integration, demonstrating the potential of server-driven native UI.Mariusz shared his experience with Brownfield app integration, highlighting the challenges and successes of integrating React Native into existing iOS and Android applications.Søren Brammer-Schmidt and Brent Vatne discussed local-first applications and the use of Prisma for local data management and synchronization.Fernando Rojo built an open-source native library called Galleria for image viewing and zooming, emphasizing the importance of not being afraid to build native libraries. Don't be afraid to build native modules in React NativeEducate yourself about accessibility and make small changes to improve the experienceThe React Native community is diverse and inspiringUpdates to Expo SDK and the release of React Server components are expected
undefined
May 21, 2024 • 57min

#041 - The Evolution of JavaScript Frameworks with Maximilian Schwarzmüller

In this conversation, Simon Grimm interviews Maximilian Schwarzmüller, a renowned online course creator, about his experience of creating courses and his vast knowledge of various technologies. They discuss the current state of JavaScript frameworks like Angular, React, and Vue, as well as emerging frameworks like Solid.js and Svelte. They also touch on the Node.js environment and the popularity of Express. The conversation then shifts to mobile app development, with a focus on Ionic and React Native. They explore the strengths and limitations of these frameworks and their relevance in the current market. The conversation explores the pros and cons of cross-platform development frameworks, including Ionic, React Native, and Flutter. They discuss their personal preferences and experiences with each framework, highlighting the advantages and limitations of each. They also touch on the future of cross-platform development and the importance of staying up to date with the latest technologies. The conversation concludes with tips for effective learning, emphasizing the importance of building projects and solving real-world problems.Learn React Native - https://galaxies.devMaximilian SchwarzmüllerMaximilian Twitter: https://twitter.com/maxedapps Maximilian YouTube: https://www.youtube.com/@maximilian-schwarzmuellerMaximilian Podcast: https://maximilian-schwarzmueller.com/podcast/Udemy courses: https://www.udemy.com/user/academind/LinksAcademind: https://academind.com/coursesAcademind YouTube: https://www.youtube.com/@academindTakeawaysThe JavaScript framework ecosystem is evolving, with established frameworks like React and Angular continuing to innovate and improve.State management is a key area of focus, with many frameworks adopting signals as a way to manage state more efficiently.There is a trend towards full stack development, where the boundaries between front-end and back-end become less clear.Express remains a popular choice for building APIs in the Node.js environment, despite the emergence of newer frameworks.Ionic and React Native are both viable options for mobile app development, with Ionic being more focused on web technologies and React Native providing a more native-like experience. Ionic, React Native, and Flutter are popular cross-platform development frameworks, each with its own advantages and limitations.Ionic is straightforward to work with and suitable for building less complex applications, but it may lack certain features and performance compared to React Native.React Native and Flutter offer the advantage of compiling code to native UI components or machine code, potentially resulting in better performance and a more integrated development experience.The choice between cross-platform and native development depends on the specific requirements of the project and the need for platform-specific features and performance.The future of cross-platform development looks promising, with ongoing advancements in frameworks like React Native and the emergence of new contenders like Tori.To learn effectively, it's important to build projects and solve real-world problems, rather than relying solely on tutorials and courses.
undefined
May 7, 2024 • 60min

#040 - From Next.js to React Native with Kitze

In this conversation, Simon and Kitze discuss various topics including Kitze's experience as a React Native developer, his encounter with Gary Vee, and his popular product Sizzy. The conversation revolves around the challenges of building customizable UI components in React Native and the lack of comprehensive libraries. Simon and Kitze discuss their frustrations with existing libraries and the need for better primitives and components. The conversation then shifts to the Benji app and the process of building a native app from scratch. In this conversation, Kitze and Simon discuss various topics related to app development, including the challenges of building a native app with React Native based on an existing Next.js project, the use of Tailwind CSS, and the performance issues on Android. Learn React Native - https://galaxies.devKitzeKitze Twitter: https://twitter.com/thekitze Kitze Website: https://www.kitze.io/ LinksSizzy: https://sizzy.co/Zero to shipped course: https://www.zerotoshipped.com/Benji: https://benji.so/Gluestack: https://gluestack.io/TakeawaysThe choice of libraries in development can greatly impact productivity and the developer experience.The React Native ecosystem offers a variety of tools and libraries that can enhance the development process.The challenges of building and maintaining a successful product or project require dedication, focus, and continuous improvement.The lack of comprehensive UI component libraries in React Native can be frustrating and lead to the need for custom solutions.Having better primitives and components in React Native would make app development easier.Being open about not having all the answers shouldn't discourage people from teaching.Building a native app from scratch can be challenging, especially when transitioning from a web app.Finding the right tech stack and considering the need for a native app early on can save time and effort.Building a native app with React Native can be challenging, especially when trying to maintain consistency between the web and mobile versions.Tailwind CSS offers a wide range of components and resources, making it a popular choice for app development.Android performance can be a pain point in React Native development, requiring optimization and testing on Android devices.Integrating Apple Health data and implementing in-app purchases can be complex tasks that require careful consideration and planning.

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app