Mobile development blog

Mobile Development

Sign up to our newsletter
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Looking for something more specific?
Enter keywords into the search bar
search icon
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
a person browsing a file with mobile apps

An Overview of Apps Made with React Native

by
Wojciech Czajkowski
Wojciech Czajkowski
,
September 16, 2021

React Native can be used to build mobile apps and websites from a single codebase. Learn which companies use React Native.

Read more

React Native has been around for five years now. When the framework was first released, small teams and startups used React Native to build MVPs. Now, tech giants and Fortune 500 companies use React Native for large-scale cross-platform app development. 

React Native can be used to build mobile apps and websites from a single codebase. As a result, the technology solves one of the biggest problems in app development — intuitive user experience across platforms. React Native also helps simplify development efforts, reduce development costs, and cut time-to-market.

Let’s look at React Native app examples and how major businesses have tackled various mobile app development challenges with this tech.

Popular React Native App Examples in 2021 

According to Statista, React Native is the second most popular framework for mobile app development. 38% of the developers use React Native in 2021. 

market share of cross-platform mobile development frameworks
Popularity of cross-platform mobile frameworks among developers worldwide from 2019 to 2021. Source: Statista
percentage of apps built with React Native
Share of apps built in React Native in 2021. Source: AppBrain

React Native is now part of the tech stack at several Fortune 500 companies and tech startups. Here are some popular React Native apps: 

Khan Academy — EdTech

Khan Academy is one of the largest EdTech companies on the planet. The company provides short video lessons, learning material, and exercises on various subjects.

khan academy mobile app screens
Khan Academy mobile app screens. Source: Khan Academy Blog 

Before implementing React Native, Khan Academy had two different codebases for Android and iOS with lots of dependencies. In 2017, they decided to shift to React Native because:

  • The app design, features, and content on Android and iOS apps were nearly identical 
  • Maintaining two codebases became quite challenging 
  • Developing new features and keeping the two apps in sync got harder
  • Their website was already using React

Khan Academy completed the transition to React Native in 2020. Now, the same engineers take care of the Android app, iOS app, or website from a single codebase.

React Native gave developers the convenience and comfort to build better features, improve UI, and spearhead innovation. Plus, Khan Academy’s apps became smaller. The user experience on the app and the web grew similar. 

Find more details about Khan Academy’s migration to React Native.

Bloomberg — Media and Finance

Bloomberg is one of the world’s largest financial media companies that use React Native for mobile app development. 

bloomberg mobile app screens
Bloomberg’s consumer mobile app screens. Source: Tech At Bloomberg

Bloomberg offered an interactive experience for accessing personalized content across iOS and Android. The company was searching for a truly native mobile app experience that came without the overhead of having two separate codebases.

Bloomberg’s engineers used React Native to rebuild the apps for both platforms with a host of new features. A single codebase and automatic code refresh in React Native helped their team to speed up the development.

Also, conducting A/B tests and collecting beta user data to validate any experiment or workflow got faster.

React Native enabled quick app updates in sync with fast-moving markets, analysis data, news, and more.

Read more on how Bloomberg is using React Native.

Flipkart — eCommerce 

Flipkart is one of the largest eCommerce players in the world with more than 100 million downloads and 400 million weekly visits. Flipkart is using React Native for iOS and Android apps and also for its sub-brands such as Myntra.

Flipkart chose React Native to solve a few challenges with its iOS and Android development journey, such as:

  • The need for a large development team despite having a uniform design and user experience.
  • Time waste due to the maintenance of many codebases
  • Delay in executing A/B tests and tech experiments due to longer adoption times leading to a drop in sales

React Native helped Flipkart move faster without impacting the app’s performance. The team’s first goal was to implement infinite list displays on search pages, which React Native delivered successfully. 

flipkart transition to React Native
Search pages with an infinite product list on Flipkart. Source: Flipkart Tech Blog

React Native also helped Flipkart push frequent OTA updates. The teams got more data from end-users and closed A/B experiments in approximately three weeks instead of the previous six. Speed helped improve personalization, boost engagement metrics, and increase sales during flagship sale events like the Big Billion Days. 

Also, React Native helped the dev team adopt a modular approach with custom native components. The team was able to share 95% of the codebase between Android and iOS. 

Read about Flipkart’s React Native journey.

UberEats — Food Delivery

UberEats simplifies ordering food from restaurants in 6000 cities across 45 countries globally. The on-demand giant started UberEats to make ordering food as easy as booking a ride on Uber.

UberEats picked React Native to rebuild its restaurant partner dashboard. The original restaurant dashboard was designed for the web. It needed an upgrade as new insights came in on how restaurant partners operated.

Uber Eats tablet screen React Native
A screen from the UberEats Restaurant Dashboard. Source: Uber Engineering Blog

Uber had an existing team proficient in React. Thus, React Native became the natural choice for building the UberEats app for iOS and Android.

React Native provided the utensils to cook the app to near perfection, as per UberEats. UberEats expedited mobile app development in the “language of the web.” The UberEats team wrote features in JavaScript or natively.

With the help of React Native, UberEats shipped new features in days instead of weeks across all platforms. Updates now propagated faster (thanks to background downloads) and bugs were fixed quicker, reducing disruptions at partner restaurants. 

More about UberEats’ transition to React Native.

Coinbase — Cryptocurrency Exchange

Coinbase is a popular crypto exchange that offers trading and other financial services to over 56 million users. 


coinbase app screen built in React Native
Coinbase’s mobile app interface built in React Native. Source: Coinbase Blog

Till 2017, Coinbase had separate teams working on iOS and Android versions of its app. But challenges with scaling, performance, and feature roll-out encouraged the company to explore new avenues.

Coinbase decided to move ahead with React Native and planned a complete code rewrite. There were several reasons for this:

  • The team was looking for a dynamic sign-up experience for mobile users based on location, user preferences, profile, and regulations.
  • Making changes to the existing app would be costlier than building an app from scratch.
  • Native app redevelopment would lead to unnecessary duplication of code (and loss of development time).  
  • They were looking to reuse business logic and wanted consistency between apps across platforms. 

Component reusability and fast refresh capabilities of React Native made Coinbase convinced React Native was the right choice. Plus, onboarding the existing web dev team was easy, as React Native is JavaScript-based. 

Coinbase was able to migrate its massive codebase with substantial business logic easily. Also, Coinbase tackled its scalability challenges and enhanced app performance across platforms.

Impact of the migration to React Native on Coinbase’s key performance metrics. Source: Coinbase Blog

Impact of the migration to React Native on Coinbase’s key performance metrics. Source: Coinbase Blog

Read more about Coinbase’s React Native experience.

LendMN — Financial Services

LendMN by AND Global is a mobile app facilitating the disbursal of small loans. AND Global provides financial services to underserved populations. The company operates in one of the most underbanked regions in the world — Mongolia.

LendMN app screen React Native
LendMN mobile app built with React Native. Source: AND Global Blog

React Native has been one of the key enablers of AND Global’s achievements and helped the company tackle some burning challenges. The challenges included:

  • A lack of financial backing or the resources to hire a large/experienced workforce
  • A limited local pool of mobile app developers
  • Regulatory complexity of the financial services ecosystem
  • Catering to a user base in a country with expensive mobile internet data

React Native helped AND Global optimally utilize the budget and cater to local market needs.

React Native’s famous “learn once, write anywhere” mantra, helped AND Global use its existing web development team to develop and deploy the mobile app. The LendMN team used React Native to release an MVP and secure an investment.

The framework helped AND Global stay compliant with the dynamic financial ecosystem through continuous improvement and OTA updates. With React Native, LendMN quickly fixed bugs, improved app performance, and saved time on the app review process.

LendMN knew users wouldn’t trust an app that needs regular updates in a country with high mobile data prices. 1-2 Mb OTA updates for minor bug fixes helped increase the trust factor. React Native allowed the company to offer trustworthiness and convenience — LendMN gained popularity in a country with limited availability of financial services. 

Learn more about LendMN’s experience with React Native.

FAQs about React Native

Which famous apps use React Native?

Many apps you use every day are built with React Native. Walmart, Wix, Discord, Pinterest, Soundcloud Pulse, Facebook Ads Manager, and several other social networking platforms use React Native in 2021

Can you build native apps with React Native?

Apps built in React Native offer a native experience for both Android and iOS because React Native renders native UI elements. Under the hood, React Native apps behave just like Java- or Kotlin-based apps on Android or Swift- or Objective-C apps on iOS.

Are Facebook, Instagram, and WhatsApp built with React Native?

Yes. All three use the React Native framework for their iOS and Android Apps. React Native was created by Facebook to simplify cross-platform app development. So, all of Facebook's companies use React Native.

two people playing with a mobile phone

Building Scalable Mobile Apps Is Key to Long-Term Product Success

by
Maja Nowak
Maja Nowak
,
September 7, 2021

Learn what scalability is in mobile development and how to factor it into product creation.

Read more

Successful products that solve user problems can garner significant user demand over time. In-demand apps should cater to a growing user base while keeping their performance and user experience intact. If the app fails to withhold the demand with expected quality, it most likely won’t stay on the market long.

To make sure your app can serve a large number of users, you have to include scalability in your app’s discovery stage. Scalability helps keep the app highly available and reliable. Learn what scalability is in mobile development and how to factor it into product creation.

What Is Scalability in App Development?

In simple terms, scalability is your application’s ability to handle a growing user base without affecting the user experience and the app’s performance. That means your applications’ infrastructure needs to be able to support a large number of requests per minute (RPMs)

Each user interacting with your application generates a request to your backend — the backend should process that request with a minimum delay.  A highly scalable app efficiently manages many requests at once, delivering seamless experiences to users.

Two types of application scaling
Vertical and horizontal scaling are the two main types of application scaling. Source: GeeksforGeeks

Vertical scaling

Vertical scaling adds more resources like CPU, memory, network capacity, and more to the existing application server. It’s powerful enough to handle a large number of simultaneous requests. However, adding resources can be limited depending on the capabilities of existing servers. Because of that, horizontal scaling is the preferred option in many use cases.

Horizontal scaling

Horizontal scaling or scaling out adds more machines or servers with the application code to increase the capacity. The existing resources of the computing instances do not change, but the application logic may need to change to run in parallel. Popular in distributed systems, a load balancer will handle the incoming requests and distribute the load to multiple machines.

It’s not a requirement to use either horizontal or vertical scaling only. But you can have a hybrid system that includes vertically scaled machines in a horizontally scaled system.

How Do You Scale a Mobile App?

Identify the scalability requirements

Before jumping straightaway into scaling a mobile app, you first need to ensure you have a viable reason for it. Your scaling expenses need to match the growing user demand in your app to avoid unnecessary costs. Here are the questions you should answer that will help you decide whether the time to improve capacity has come.

  • Do you expect growth in your user base? If yes, how long would it take? Look at the trends in data analytics.
  • What is the annual expected number of users of your app?
  • How long can your current setup serve the growing user base without losing performance?
  • Are there any events or holidays where you observe high demand and heavy usage?

By knowing the answers to these questions, you will have a better understanding of where you’re at with capacity and where you need to be to meet the spikes in demand. The information will also help you estimate the budget for scaling your app.

Identify where the scalability issues arise

If you already have an application, discover where scalability issues may occur using application monitoring tools like New Relic AMP and AppDynamics. Using the chosen tracking tool, track key metrics like CPU, memory, and network usage. If any of these metrics show high usages, find out the transactions responsible for them. Take these results as a benchmark to find out where and how to inject scalability.

Choose the right tech stack

Your mobile app’s tech stack is the key to scalable mobile applications. Thus, choosing the right tech stack with a scalable backend and a responsive front-end technology is a must. If your current tech stack doesn’t leave much room for scalability, consider rewriting your app.

An app rewrite will be a significant investment initially, but when you consider a growing user base of satisfied customers, the ROI will follow soon. For example, consider Wallmarts' decision to transition into its legacy system to Node.js. With that decision, they have been able to gain 98% of growth in mobile conversion.

Decide on the right infrastructure

The application’s infrastructure plays a key role in achieving the desired scalability. Using Platform-as-a-Service (PaaS) solutions like AWS, Azure, or IBM Cloud for your mobile app is a great way to meet a variety of scalability needs. Cloud services have many scaling and pricing options.

For example, if you choose to deploy your app in AWS, the vendor will take care of all the necessary scaling demands on your behalf — many renowned cloud services offer auto-scaling where the app dynamically scales according to the current user demand.

You just have to define the required parameters such as how many maximum servers and other resources like storage, middleware, and networking the service should allocate. In addition, you also have the flexibility to change these parameters according to future app usage statistics. Scaling a mobile application that serves millions of users in a PaaS environment is an easy and flexible approach to scalability. 

Use caching wherever possible

Caching is another way you can optimize the code for scalability. When you cache the frequently required data, it’s readily available and users can retrieve it faster. Caching helps significantly reduce the processing time. 

For example, say your mobile app gets data from an API call. If you save the data in a cache, the next time another user requests the same data, the app won’t need to make that API call again since the data is readily available in the cache.

Caching is a highly useful approach to reducing the amount of data processing when the load is high. When you use caching correctly, it can also make the app work in offline mode.

Choose the right architectural pattern

Your app’s architecture can have a big impact on app scalability. For example:

The three-tiered architecture

Client, server, and the application are at different layers where each performs only the most essential tasks. This architecture simplifies each layer, thereby improving scalability and performance.

Microservice architecture
The microservice architecture helps easily build scalable apps. Source: Microsoft

The microservice architecture

This architecture helps build flexible applications by making individual services loosely coupled with each other. Individual services of a microservice architecture can be scaled to meet the demand.

Three-tiered Architecture
The three-tiered architecture simplifies the tasks of each layer to make the app scalable easily. Source: guru99

Scaling databases

If you want to handle a larger number of user requests (e.g., a workload that exceeds the capacity of a single database), you can scale your database horizontally:

  • Shard the database into multiple servers or nodes. Sharding helps achieve better read and write performance and reduces the risks of node failures. 
  • If the app is in the cloud architecture, add more read replicas for workloads that need heavy read operations.
  • Move old information to archives so that the main database can have more space when more read and write operations happen. 
Read replicas diagram
Read replicas help speed up read operations during heavy app usage. Source: guru99

Use Mobile Content Delivery Networks (CDNs)

Mobile CDNs make content delivery faster because CDNs distribute the information from locations closer to the user. The content is delivered in a shorter time. Mobile CDNs are very useful when your mobile apps’ users are distributed across different regions.

Mobile CDNs are developed specifically to operate on mobile networks and deliver content to mobile devices faster.

various icons with sensors working in the cloud

Exploring IoT and Cloud Computing

by
Mat Zaleski
Mat Zaleski
,
September 3, 2021

How should you integrate the cloud and IoT into your business strategy? Read on for answers.

Read more

Cloud computing has been the catalyst for achieving unimaginable goals for companies of all sizes. With the cloud, businesses can handle, manage, process, and analyze huge amounts of data. 

Cloud computing enables startups, early-stage companies, and large enterprises to draw valuable business insights. Integrated with IoT, the cloud gives modern enterprises the ability to become more efficient at data analytics. 

Enterprises use cloud computing services and IoT solutions to stay relevant and become more competitive. Jeff Weiner, the former CEO of Linkedin, said the cloud empowers modern companies to have access to the best innovation infrastructure. 

How should you integrate the cloud and IoT into your business strategy? How do these two technologies tie into a single thread to make sense for a modern business? Answers below.

Role of Cloud Computing in the Internet of Things (IoT)

Cloud computing and IoT complement each other. Cloud computing allows IoT devices to record, capture, process, analyze, and store data at a massive scale. 

Together, IoT and cloud computing services streamline cost-effective automation and data analytics. 

When we look at the ways IoT helps modern business, user analytics is one of the major drivers for IoT adoption. Businesses use the cloud and IoT to analyze big data to reveal patterns, trends, and associations.

cloud computing diagram
Cloud computing facilitates IoT analytics. Source: GeeksforGeeks

Relationship between IoT, Big Data, and Cloud Computing

Modern IoT solutions are built on a basic premise — helping businesses optimize operations. Cloud computing helps process all the data generated by the IoT. Big data analytics plays a large role in making IoT solutions efficient at automation and optimization. 

Cloud computing connects the source device with the power of analytics. Source: Big data, cloud, and IoT: an Assimilation

Cloud computing takes care of storage and security for an IoT-based app. At the same time, cloud computing acts as a bridge between the IoT platform and big data. 

As the world leans towards IoT, cloud computing acts as a powerful communication bridge. Source: IEEE

Cloud computing services enable IoT solutions to act intelligently by handling:   

Data storage and communication

Cloud computing paves the way for IoT devices to the internet for data storage and processing. The data can then be used by any other complementing technology, system, or solution remotely.

Think of it like this  —  you ask Alexa, a consumer IoT device to find you the nearest restaurant. Alexa connects to a cloud application like Google Maps and provides you the results. Data feed (your voice), the IoT device (Alexa), and the cloud application (Google Maps) interact to give you the right result here. 

Data security

Saving large data volumes generated from IoT devices can be a security nightmare. Cloud allows encrypting critical operational data while bringing down the costs of storage. 

Your business doesn’t have to invest in server infrastructure and security. Plus, you get high-end security measures embedded in the cloud. Using the cloud for IoT helps in reducing the chances of leaks and cyber attacks.

cartoon people experimenting in a laboratory

Introducing Nomtek Labs — Our Jab at Staying Disruptive

by
Łukasz Kincel
Łukasz Kincel
,
August 25, 2021

Nomtek Labs is our internal research and development department where we explore technologies and how they can benefit businesses and users.

Read more

The world we live in is far from being idle. Technologies and industries evolve rapidly, with maddening speed at times. When Nomtek was founded in 2010, Apple was selling the iPhone 3G. It was the company’s second iPhone and the first to use the 3G network.

old motorola phone with a physical keyboard
Anyone had one of those?

We hopped right in, to participate in the development of the mobile world.

3 megabits per second — that’s the dizzying speed 3G promised. Sounds bleak compared to 100 megabits per second possible with 5G. But that’s how fast mobile life was spinning back then.

The Android ecosystem itself was also in its early stages. In October 2009, Android Eclair (2.3) was released, with Motorola Droid reigning as the most popular mobile phone.

By today’s standards, it was a strange-looking smartphone, with a hidden keyboard at that.

So What Do We Have Now? The State of Technology

Much and more has changed since Motorola Droid’s reign over ten years ago. IT systems have become denser, more complex, and more accessible.

Take a Japanese farmer who, in 2016, created a system that uses AI to classify cucumbers. Sophisticated technology such as deep learning has become increasingly present in areas commonly associated with manual labor.

3G was soon replaced by 4G in developed countries, dramatically improving network connectivity and changing how people consume content. 4G helped Netflix conquer the world of streaming services, giving users access to favorite films and series at home or on the go.

Chasing the Bandwagon of the Future

All these new connectivity technologies, more efficient chips, and the evolution of augmented and virtual reality can cause a reverberating wave of changes for industries and people across the globe.

At nomtek, we always knew that investing in our development was the best thing we could make, hence the idea for nomtek labs — our answer to the rapidly evolving world.

As a company made of people who relish discovering innovation, we don’t intend to stand behind or rely solely on old technologies and methodologies.

We are tech enthusiasts who love exploring new sectors and playing with technology.

At nomtek, everyone can participate in a number of initiatives that boost knowledge and develop skills. We have internal weekly guild meetings, free time for self-development, and budget for workshops and conferences.

Nomtek labs is one of these initiatives.

node.js vs ruby on rails

Node.js vs. Ruby on Rails — What to Choose for a Mobile App Backend

by
Maja Nowak
Maja Nowak
,
August 24, 2021

Ruby on Rails and Node.js are two popular mobile backend technologies that help developers build reliable and highly available apps.

Read more

Choosing a tech stack for a mobile application backend is key to building a product with great performance. Ruby on Rails and Node.js are two popular mobile backend technologies that help developers build reliable and highly available apps. This article will explain the differences between them with example use cases for each.

What Is a Mobile App Backend?

The backend is the essential component of a mobile app that is responsible for data processing, data storage, and application security. The backend runs on the server (or in other words, behind the scenes) and does all the required processing when users interact with the user interface of the app. Usually, developers access the backend resources via Application Programming Interfaces (API)s.

What Is Ruby on Rails (RoR)?

Ruby on Rails is an open-source and server-side web application development framework based on Ruby and the Model View Controller (MVC) architecture. Ruby is famous as an easy-to-learn and beginner-friendly programming language.

logos on companies that use ruby on rails
Popular tech companies that use Ruby on Rails in their backend. Source: Medium


hand on a mobie device

How to Use Artificial Intelligence in Mobile Apps?

by
Maja Nowak
Maja Nowak
,
August 19, 2021

Learn how you can use artificial intelligence in mobile apps.

Read more

Artificial intelligence is one of the most inspiring innovations of the last five decades. The technology has transformed the way we play music, shop, and work. Mobile apps have also enjoyed the features AI offers by boosting personalized recommendations, powering chatbots, and introducing automation. Learn how else you can use artificial intelligence in mobile apps.

What Is AI and How It Works? 

Artificial intelligence is exactly what you imagine it to be — machines mimicking human intelligence. AI uses machine learning (ML), natural language processing (NLP), and deep learning (DL) technologies to build algorithms that have reasoning and decision-making capabilities.

AI allows companies to process high volumes of data quickly and derive valuable insights. Companies use these data-backed insights to improve capabilities, get more productive, and grow faster.

In a study by Gartner, the number of companies that use AI grew by 270%. Another projection by Gartner predicts that the use of AI across businesses will create “$2.9 trillion of business value and 6.2 billion hours of worker productivity.”

Artificial intelligence can help increase mobile app retention, engagement, and conversion rates. Let’s look at how AI enhances mobile applications.

Mobile Apps and Artificial Intelligence

AI-powered apps are more intuitive, intelligent and can do more for the end-user. There are three major dimensions for implementing AI in mobile apps: 

Prediction

AI helps app algorithms solve complex problems and aids decision-making. Mobile apps can analyze and logically conclude what to do using AI.

Google Maps estimates accurate travel times. Uber finds the nearest cabs and optimizes the best routes. These companies track historical traffic patterns using AI to come up with the best solutions in real-time. 

a diagram with mobile artificial intelligence
How users interact and experience algorithms is a complex process. Source: ScienceDirect

AI makes mobile apps capable of making decisions and solving problems. User satisfaction improves when they get what they’re looking for, with AI helping in the background. Satisfied users lead to higher app retention rates and Net Promoter Score (NPS).

Recommendation

Companies use AI to build powerful recommendation engines within mobile apps. Recommendation engines analyze past user actions and offer relevant suggestions for the future.

Netflix uses AI to analyze what viewers like and suggest the next movie that matches their preferences. Amazon tracks shopping behavior and recommends more products customers are likely to buy.

AI can analyze data faster than a human and uncover prevailing trends. This helps apps know users better, provide contextual recommendations, and boost engagement rates. 

Behavioral Analytics

AI simplifies pattern analysis to create more personalized app sessions. Startups can use deep learning and sentiment analysis to enhance the user experience.

For example, AI can help understand why a user abandons an app. Google Analytics or CleverTap (an app analytics tool that uses AI to track user sessions) analyzes touch heatmaps and discovers navigation paths within mobile apps. AI-based analytics help adjust the app to user expectations.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.