Expo.io – Building Android and iOS Apps using React Native Made Easy

I have used MIT's AppInventor in class rooms. All non-professional programmers appreciate how easy it is to use AppInventor to create apps. I have also seen lot of professionals using it to create one time use apps including me. It's a great tool except you can't generate an iOS app.

On the side I have looked for similar projects which has the potential to attract both professionals and non-professionals alike. Recently I started working with react native. React Native enables you build "Native" mobile apps using only JavaScript. Once the system is set up, it works like magic. Setup is still an issue for kids and many beginners. That's where Expo.io is so useful. If you are a student or a beginner just go to Expo Snack and code your react project. Then scan the QR code on the snack page using Expo iOS app or Android App. Voila the app starts running on your phone. You can bookmark or create shortcuts. You can share the link with your friends to share the app. Here is the Simple QR code Scanner written completely in a browser to try.

Write and Scan to run

Write and Scan to run

If you don't have a phone then you can try web embedded emulator. For most things it works. But the best experience would be with a phone and browser.

Expo Browser Preview

Expo Browser Preview

Let's say you are an advanced developer and want to build apps to publish in markets. Then you need a desktop development environment. You will need to install Expo desktop development tool called XDE and Expo mobile app which you have already installed.

Create the project. It gives you a basic structure. You can edit using any editor that you love. Use the URL to open the project on Expo App. I prefer LAN because its fast. You can try tunnel if you want to share with a friend temporarily. You can also install Android and iOS emulators to test. But I use their Expo app for testing. It fast and works perfectly fine. Once you are done. To share it with the world you can click share. It gives you an URL that you can share it with friends with Expo app.

You can also build Android or iOS binaries for the markets. But for that you need to go one more step and install the node package exp. Once you install you can build the binaries. Everything that you can do with XDE - Expo desktop development can also be done with exp. If you like command line then you can skip XDE and install exp.

So in the next class. Its going to be React Native with Expo.