Category: Engineering

React Native: Building Mobile Products (MVP)

React Native for Building Great Cross Platform Products

 

W

hat is React Native?

 

React Native is a Javascript framework that was built by Facebook and re-licensed for use by third parties in 2017. It allows developers to create apps for both iOS and Android web stores using a single codebase and a single programming language. With React Native, developers have the ability to write one React code that compiles to native applications on both iOS and Android, rather than having to construct parallel codebases in multiple programming languages.

What are the Benefits to React Native Development?

Time and Cost Savings

Prior to the release of React Native a company was required to either find engineers that had experience with both iOS Android programming languages, or to hire separate developers to work on each platform individually.

 

In contrast, React Native allows you to have a single team of developers experienced in one primary programming language who can work on both platforms simultaneously in one single codebase. Depending on the functionalities of your app, at least 90% of the codebase can be shared across both platforms and since all the versions of your software are written in mostly the same code, updating and adding features becomes much faster and easier.

 

Though there are some differences between iOS and Android that need to be accounted for when using React Native, the time and cost savings of having one codebase are a huge benefit.

Open Source Libraries and the React Community

When using React Native you are taking advantage of the wider open source community and ecosystem that exists around React and Javascript.; A tremendous number of libraries exist that can be used for common mobile application features, meaning you won’t have to spend so much time writing code to add extra features to your app- it’s likely that that functionality has already been built and shared with the community.

 

Additionally, the number of engineers employed by Facebook, as well as a big open source community means a continued improvement in the platform over time.

Shared Web App Code

If your mobile app also calls for a web browser/desktop application, React Native can provide some reuse and sharing of code between those platforms. Because React Native is just React and JavaScript code, an experienced development team could get a head start on a web application.

 

Additionally, Electrode Native is an open source tool that will allow you to migrate existing React apps to React Native.

Who Uses React Native?

Because it’s such a reliable and powerful cross platform development tool, React Native is being used by many top companies to develop their mobile apps.

 

Facebook uses React Native for their social media site as well as for Facebook ads manager and Facebook analytics. Instagram was able to share around 85% of code between its Android and iOS apps by using React Native, allowing their team to deliver the app much more quickly than would have been possible using a Native solution. And Tesla’s app, an integral part of its user interface that enables users to remotely monitor and control their Tesla car or Powerwall from their iPhone or Android, was developed using React Native.

 

With React Native, developing and supporting apps for both iOS and Android is less effort it once was. From the ability to develop apps across platforms using one codebase to the benefits of utilizing the open source community, React Native provides an optimal framework for developing awesome cross platform products.

 

Team building: Empowering your mindset

Recently we had given a mindset workshop to a group of engineers who were participating in Engineering Warriors Training® (EWT). We constantly seek to strengthen our training process, where learning is not only technical, but we also aim to provide tools that enrich the engineer’s personal and professional life.

 

We found in the book “Mindset, The New Psychology of Success” of Carol Dweck PhD, that by cultivating a growth mindset the person becomes more open to learn through new experiences; instead of being intimidated by a new situation or something that may be considered difficult, the engineers (people like you and me) will feel attracted and interested, so that they are willing to try harder than they would normally do to overcome the challenge.

 

People with this type of mindset are excited when they face a problem or something unknown; this is seen not even as something negative but as an opportunity to grow and learn. They have greater resilience and therefore greater perseverance.

 

We may think that someone that has born with this mindset has a great advantage over others; however, in Carol’s proposal she shares that mindset is something that can be trained, just as you train your body for a marathon or for any sport.

 

The “growth mindset” is a choice on how to see the challenges that arise in your life: you can see them as big stones that stop your progress, or as learning bridges through which you will have to stretch your capacity and once reaching the other side you will be stronger and bigger than before.

 

A strategy to cultivate the “Growth mindset” is known as “The power of yet”, this is the power of believing that you can improve. Just by putting the word “YET” before any of your thoughts about your ability to solve something, this way you will open the possibilities for yourself, accepting that you are in a process of growth and learning, from which you will come out bigger than how you began.

 

Small changes that we make in the way we see professional and life challenges, will open us up to greater possibilities and better results.

java-development

What are you yet to resolve (become)?

+ Towa Positive