Building a Cross-Platform Mobile Team

Adapting mobile for a world with React Native

Gabriel Peal
7 min readadvanced
--
View Original

Overview

The article discusses the complexities and challenges of building a cross-platform mobile team using React Native at Airbnb. It highlights the organizational, technical, and hiring challenges faced during the adoption of React Native, along with insights on balancing native and React Native development.

What You'll Learn

1

How to navigate the organizational challenges when adopting React Native

2

Why balancing native and React Native code is crucial for quality

3

When to consider hiring strategies for a mixed mobile team

Prerequisites & Requirements

  • Understanding of mobile development concepts and frameworks
  • Experience with either Android or iOS development(optional)

Key Questions Answered

What are the main challenges of using React Native in a mobile team?
The main challenges include organizational complexities, varying opinions among engineers, and the need for balanced expertise across platforms. Teams often face difficulties in debugging, hiring, and maintaining a high-quality user experience while managing both native and React Native code.
How does React Native impact team dynamics and hiring?
React Native can polarize opinions within teams, leading to hesitance among traditional Android and iOS engineers to apply for positions. This perception can hinder recruitment efforts, as many may mistakenly believe that the app is solely built with React Native.
What are the implications of hybrid apps in mobile development?
Hybrid apps introduce complexities such as team collaboration, state management, and testing across platforms. These challenges arise from the need to integrate both native and React Native components, which can fragment the codebase and complicate the development process.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Key Actionable Insights

1
Invest in building a healthy mobile culture to support React Native adoption.
A strong mobile culture can help mitigate the organizational challenges that arise when adopting new technologies like React Native, fostering collaboration and knowledge sharing among team members.
2
Ensure that engineers are proficient in both native and React Native development.
Having team members with expertise in both areas can help address the challenges of debugging and maintaining a high-quality user experience across platforms.
3
Regularly update and maintain development environments for React Native, Android, and iOS.
Keeping environments up-to-date is crucial for effective development and can save time when engineers return after breaks, reducing the overhead of setup and learning.

Common Pitfalls

1
Assuming that if a feature works on one platform, it will work perfectly on others.
This misconception can lead to issues during QA cycles or in production, as differences between platforms can cause unexpected behavior.

Related Concepts

Mobile Development Frameworks
Cross-platform Development
Team Dynamics In Software Engineering