Build an Offline-First React Native Mobile App with Expo and Realm

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • read-it-later-maybe

    Offline-First React Native Mobile App with Expo and Realm

  • All the code for this tutorial can be found in this repo.

  • fyi

    Little bits of information that you may find useful when interacting with Expo tools and service. Append the markdown filename to https://expo.fyi/ to get a quick link to it.

  • Right now, Realm is not compatible with Expo Managed Workflows. In a managed Workflow Expo hides all iOS and Android native details from the JavaScript/React developer so they can concentrate on writing React code. Here, we need to prebuild our App, which will mean that we lose the nice Expo Go App that allows us to load our app using a QR code.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • Realm

    Realm is a mobile database: a replacement for Core Data & SQLite

  • To help with offline data management and syncing between different devices, running different OSes, we can use MongoDB’s Realm. To create a single code base that works well in both platforms we can use React Native. And the simplest way to create React Native Apps is using Expo.

  • react-native

    A framework for building native applications using React

  • The React Native Project, allows you to create iOS and Android apps using React “a best-in-class JavaScript library for building user interfaces”. So if you’re an experienced Web developer who already knows React, using React Native will be the natural next step to create native Mobile Apps.

  • node

    Node.js JavaScript runtime ✨🐢🚀✨

  • Make sure you are NOT on the latest version of node, however, or you will see errors about unsupported digital envelope routines. You need the LTS version instead. Get the latest LTS version number from https://nodejs.org/ and then run:

  • Visual Studio Code

    Visual Studio Code

  • Any code editor. I’ll be using Visual Studio Code as it has plugins to help with React Native Development, but you can use any other editor.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts