Product Design

May 14, 2019

/ business & Agile

4 cases when you should create React Native app

Michał Lisewski

Introduction of React Native in 2015 was a game-changing factor in the IT industry. From that moment, highly skilled JavaScript developers opened a new path, finding themselves as mobile engineers, not necessarily restricted by web technologies and browser environment. React Native allowed millions of young founders to move from desktop to mobile without a necessity to invest in iOS and Android engineering resources.

At Merixstudio we can observe the fluctuations among our engineering teams. The most highly skilled JavaScript engineers can handle both desktop and mobile projects, thanks to their acumen in React as well as React Native. From our perspective, transferring resources is a quite slight process, since the majority of our frontend team can handle both.

We are relatively mature business, but many of our partners are unable to dedicate their manpower from one project to another since they decided to grow their native iOS and Android teams. Besides some technological aspects, many companies pick Android or iOS forced by the limits of their local labor market.

You’re a startup 

Platforms like Crunchbase or Dealroom archive the progress of investment among startups worldwide. It is a very common pattern for many of them to build an MVP or at least proof of concept from a very limited Seed founding, if not a self-investment. Assuming that your parents are not millionaires, for the first several months if not years, your company relies on very limited resources. 

In many cases the high-level development roadmap looks similar to this below:

  • Proof of concept (static page, simple e-commerce, even social media fan page, in-house delivered User Experience Assets)
  • Minimum Viable Product - in many cases developed in-house or outsourced Responsive Single Page Application
  • Post-MVP: Mature RWD web app (outsourced, or delivered by the self-managed in-house team)
  • Series B/Series C stage: Mature RWD web app + native mobile application  

3 initial rounds of investment received by Singapore-based startup Saleswhale: it took almost a year to receive a 2nd found of funding and another 2 years to receive Series A funding. Source: Crunchbase 

While reaching the post-MVP stage, founders and technical leads need to make a decision and choose the most optimal tech stack of their mobile applications. Many MVPs are built with limited outsourced or in-house resources, with Javascript as a leading programming language for frontend, but also backend. Since the manpower is already in place, for a CTO/CPO with no or seed investment only, continuing the development with the team that already worked on the product is very beneficial.

Besides that, React Native allows re-using significant parts of the codebase for both, Android and iOS environments. Software developers save plenty of time and resources by re-using the previously created backend. Both desktop and mobile applications can rely on a backend written in leading programming languages and frameworks such as Python, Django, Node, or PHP. The major saving stands behind the people, which can work on the upcoming iterations of the developed product or service, without involving additional resources. And there are plenty more reasons why React Native is a good choice for a startup so without a doubt if you’re running one - consider the framework. 

Your company uses an Agile approach 

React Native goes well with agile methodologies, like Scrum & Scrumban, allowing teams worldwide to work on desktop and mobile related tasks altogether. One team can tackle both mobile and desktop-related tasks (and finally get rid of them from the kanban board) as they require the same skillset. Imagine a situation, where the team agreed to focus on the implementation of some features for the mobile, but something urgent showed up in the desktop version - tasks for both can be handled by one and the same team.

Also, highly proficient Javascript team has the ability to leverage the balance between mobile and desktop related tasks and move from one to another (or dedicate nearly 50% of their capacity for each), anticipating business roadmap of stakeholders and generally avoid bottlenecks. As mentioned before, some components can be re-used, which significantly increases the efficiency of a self-managed agile team.

You want to scale up the engineering team

Being successful (or at least surviving the MVP phase) can also be problematic. Extending the development capacity means not only validating the skillset of the development teams or candidates but also introducing them into the business context of the product. Transferring the know-how goes faster when performed by engineers and technical leads representing a similar skill set in terms of technologies. 

Beyond that, if the core team is strongly Javascript-oriented, performing the successful onboarding of native iOS and Android engineers can be very difficult. Increasing the capabilities by adding more JS as well as backend engineers and Quality Assurance is much easier. Besides that, iOS & Android teams participate only in development and further maintenance of mobile applications only, while the Javascript engineers with React & React Native competencies curate both - desktop and mobile part.   

With a Javascript code base, we can plan our growth with the same team members participating from day one until the post-MVP time and beyond. When our company reaches the moment when it doesn’t need to depend on the external investors, we don’t need to replace some of our team members, just continue increasing capacity of the existing one.

You plan to outsource your IT project

At Merixstudio we have supported founders, CEOs and technical leads coming from companies of all the stages mentioned above. This includes single-held and pre-MVP initiatives as well as mature, cash flowing enterprises with over 100 employees, in-house engineering capabilities and settled-down processes. One of the concerns pointed out during several projects was the further maintenance of developed products and services.

React Native projects can be easily handover from a stakeholder to a software development company and returned to the in-house teams after reaching satisfying capacity. With a growing community of enthusiasts and software engineers, founders and CTOs have several options to move forward with their operations. React Native leaves managers with many doors open, not only in the technological aspect.

 

We use cookies on this site to improve performance. By browsing this site you are agreeing to this. For more information see our Privacy policy.