Announcing Expo Dev Tools (beta)

The features of a command line tool, with a browser experience for those who prefer a graphical interface — all in one package.

Hello friends! Over the last couple of months, we’ve been working hard to improve the developer experience for people who love Expo. (For those of you who aren’t familiar with Expo, I recommend you check us out!)

Until today, we had a couple of tools you could use to build an Expo project:

  • Expo XDE is a graphical user interface (GUI) designed to support our developers who feel more comfortable seeing the options available to them on the screen.
One of the first tools Expo made for developers
  • Create React Native App and exp were made to support developers who are more comfortable with the command-line interface of their operating system. It’s pretty sweet to see developers with node experience jumping right in and building mobile projects!

These tools helped a lot of people from all backgrounds learn how to code with React Native & Expo and make a ton of cool stuff! Still, our team’s had many ideas for how to improve upon this legacy. We knew we could make effective choices to unify the tools, clarify instructions, and catch more of the edge cases popping up for developers.

Today, we’re introducing Expo Dev Tools into beta.

In Dev Tools, we preserve the features of a command-line tool for those who love it, and have also packaged a browser experience for those prefer a GUI. Now, you can download and install one package and get the best of all worlds!

A preview of the new tool, where we are streaming logs from two devices and your computer.

🐕 To try it out, run npm i -g expo-cli on your machine to install it. Then type expo init to create an app, or run expo start inside your existing Expo project.

Here is a brief breakdown of the new browser experience:

  • It’s easy to view logs from multiple devices simultaneously
    You can even move sections around to fit your preference. Our new developer experience supports viewing logs from up to four devices at the same time!
  • We made switching connections and connecting to your devices easier to navigate. There are three options: localhost, LAN, and Tunnel.
  • We’ll let you know if you lose your network connection.
  • More clarity around issues and warnings to help you through annoying situations.
  • You can still scan a QR code or send a link to your project to your phone.
  • The Publish step acts as a guide to help you keep your published project pages looking sharp. (When we add cool features such as screenshots or app icon customizations in the future, you’ll discover them all here.)
The new Publish step helps catch important fields that you may have missed.
  • The interface will report clear errors to you as you make mistakes. The messaging should help you catch mistakes before you push your project to production.
After publishing your projects to Expo.io, anyone can view and discuss them online.

We’re stoked to be bringing a more robust tool set to help you build slick and meaningful projects. We couldn’t have done it without the patient and precise feedback we’ve gotten from our developer community over time, and certainly not without the driving force of Ville Immonen and Mikhail Novikov, alongside contributions from across the Expo team.

Let us know what you think! For specific issues, pick our brains on our Expo forums 🧠 or leave us an issue on GitHub 📓. Or just come chat with us on Facebook 🤖 or on Twitter 🍕.