What is Expo?

So far, you read about different frameworks in the field of development like Reactjs, Nextjs, tailwind and many more. So apart from these frameworks, I am writing another blog representing my views on the Expo framework for React Native.

If you heard about React Native, one of the most popular frameworks in the field of app development then you must know about Expo too.

Expo is like the inner part of React Native framework. Expo lets web developers build truly native apps that work across both iOS and Android by writing them once in just JavaScript.

Expo's documentation says -

Expo is a framework and a platform for universal React applications. It is a set of tools and services built around React Native and native platforms that help you develop, build, deploy, and quickly iterate on iOS, Android, and web apps from the same JavaScript/TypeScript codebase.

Zeiq says -

This is basically the tool that can or cannot be used for creating a new React Native app. The official React Native (Getting Started) docs also describe it. So React Native app can be developed with or without using Expo. It all depends on the developer to choose the framework that makes it easy for him to code. Expo is the only platform that helps to work both on android as well as on IOS.

Why choose Expo?

  • Setting up a project is easy and can be done in minutes.

  • No need to install Android Studio or Xcode to start building.

  • You can test on a real device without having an Apple Developer Account ($99/year). This is achieved via their free Expo app in the Google Play and App Store. You can run your own app inside the Expo app.

  • Sharing the app is easy (via QR-code or link), you don't have to send the whole .apk or .ipa file.

  • Expo manages a group of config steps for deploying your app which probably helps the ones that are not coming from a mobile development background.

  • You (and other people) can open the project while you're working on it.

  • Expo has an SDK to handle all kinds of things like using the camera, accelerometer, maps, location tracking, analytics, etc.

  • Expo aims to enhance RN and provide all the JS API you need for the most common needs. It is basically a set of well-defined quality native libs already packaged for you in a single lib: ExpoKit.

  • With Expo though, your Javascript code is hosted remotely, and your app will download any changes to this remote Javascript. So if your updates were just Javascript changes, then simply re-publish them. Traditionally, it involves creating a new IPA or APK file and then re-submitting it to the associated Store.

Hopefully, I am expecting that you gained some points on this framework. Further, you can view their docs for getting started with it. I will definitively recommend Expo for any new React Native greenfield project to you.

Go for Expo by making it more approachable for newcomers.

Have a Happy Reading!

Thank you!