Skip to content

Expo.dev: Enabling Web Developers to Create Native Apps

Charlie Cheever, owner of expo.dev, aims to enable web developers to write JavaScript and create native iOS and Android applications using React Native. Cheever, who previously served on Facebook’s platform team and co-founded Quora, shares his early years in Pittsburgh, Pennsylvania, and his passion for video games. He attended Carnegie Mellon’s Andrew’s Leap summer program and majored in computer science at Harvard. Cheever joined Facebook in 2006 after learning from former classmates David Fetterman and Andrew Bosworth were leaving Microsoft. He started the popular Facebook developer platform, which has since become a popular gaming platform.

I spoke with Charlie Cheever, the owner of expo.dev, throughout the interview. Expo’s goal is to make it possible for web developers to write once in JavaScript and produce really native iOS and Android applications. It uses React Native and is open source and free.

Charlie formerly served on the platform team at Facebook before helping to co-found Quora.

Describe your early years and the area where you lived

I grew up in Pittsburgh, Pennsylvania. Video games have always been fun to me. I borrowed the book How to Make Your Own Computer Games when my father took me to the library while I was in the third grade. I went back and bought another book on BASIC programming because the opening page of the book indicated that you have to be able to program in it. As I continued to make minor changes, I would type the programs from the book onto the Apple II at school.

I participated in Carnegie Mellon’s Andrew’s Leap summer program while I was a high school student. A foundational understanding of complexity theory and programming is taught in this free summer session. It was quite joyful. I liked making things using calculators or computers and showing them to people. My life’s objectives were rather easy for me to identify.

I majored in computer science at Harvard. I received a recruitment email from Facebook while working at Amazon because I was a teaching assistant for a course that the founders of Facebook had taken. Two former classmates, David Fetterman and Andrew Bosworth, told me they were leaving Microsoft to join Facebook. I reasoned that it must be a good idea since they were doing it. I sent an email to their hiring manager, was given the job, and started working as a software developer in 2006. There were barely 10–12 engineers working at Facebook at the time. I started the Facebook developer platform, which was a really popular gaming platform in many ways.

I eventually quit Facebook and started a job at Quora. I had a strong urge to start a business. Despite the fact that working at Facebook was a lot of fun, I felt that the time was right to launch my own venture.

Then, around two years ago, I started Expo.

What is Expo, exactly?

Expo is a free, open-source platform that lets online and mobile developers create high-quality, native iOS and Android applications quickly and iteratively. React Native, a technology created by Facebook and utilized in parts of the main Facebook app, Instagram, and many other applications, serves as the backbone of Expo. Among others, React Native is used by Tesla, Walmart, and Airbnb.

Expo enables programmers to create JavaScript APIs and components that run natively on iOS and Android. A runtime, React Native APIs, and auxiliary elements like audio, video, authentication, and alerts are all included in the Expo SDK. You have more time to spend creating JavaScript now that iOS and Android share more code.

React Native release management is handled on your behalf by XDE (Expo Development Environment). Without worrying about breaking changes or having to rebuild the binaries for your program, you may decide whether to stick with an older version or upgrade to a newer one.

You may share an app you’re working on using a simple URL that Expo client apps can visit. Simply compile your software into binaries and deploy it when you’re ready to publish it to the app store. Additionally, you may instantly “over the air” update your app (yep, Apple allows this).

Additionally, Expo provides the browser-based Snack tool, which is similar to JSFiddle but only works with React Native apps. If you want to start prototyping, go to snack.expo.io. You may check out a preview on your phone or on your web browser. Once everything is in place, let your friends and coworkers know the URL.

As a result of the Expo-built application using the same native runtime, all of this is possible using the Expo client. Typically, installing Xcode or Android Studio on your computer is not necessary to use Expo. However, you can always break away from ExpoKit and start your project in any iDE if you need to add your own native libraries.

Our goal is to simplify and open up mobile development to everyone. Expo.io has more details accessible.

Why did you decide to start Expo?

Our goal is to simply reduce the gap between a person’s idea in their head and their final output.

At Quora, where I worked on their mobile apps, it took nine to 10 months to finish one, even with superb engineers and designers. To make things cross-platform, we had to utilize webview, but it never seemed quite right. You cannot produce the engaging animations that native programs can, nor can you get ideal performance. This seems intrinsically outdated after almost a century of online development. It needed to be fixed, and soon. Consequently, I took a break and started looking at ways to make it better with James Ide.

When we first started, HTML5 and web technologies were insufficient. However, we firmly believed that the online paradigm would lead to a considerable increase in productivity. The entire system was given the absurd name “Ion,” even though the Ionic framework already existed.

But instead of deploying Ion, we only utilized it to build a few applications. Then React Native came out, and it was almost exactly the same, albeit more advanced and with a team of twenty as opposed to two. We basically made the decision to stop working on Ion and concentrate on everything else we wanted to build with React Native.

One of the most satisfying situations for a startup entrepreneur is frequently when their product is used in an original or unexpected way. Is Expo in favor of this?

There is a new project tab that shows the 10 most recent additions when you open the Expo client application.

The document’s “publish” button was clicked. It’s extremely fantastic, and now that it’s being used by enough individuals, you can usually find one or two interesting efforts. It is exciting to find items built using Expo, like a Thai electronics store, that I had no idea existed.

Give us a glimpse of a normal day in the life of the expo.io owner.

There are now eleven of us if you count me. With the exception of Brent, who lives in Vancouver, and Ben, who lives in Seattle, they’re all in the Bay Area. They come to our place a few times a month. We manage to make it work because they appreciate where they are and we enjoy having them there.

Slack serves as the gravitational core for our scattered team. We also ended up collaborating more closely with platform developers, some of whom operate as independent contractors on particular projects. For instance, Bangalorean Satyajit helped us with Sketch. This provides us with a lot of freedom. Everyone has different work schedules and makes a lot of choices locally without contacting the product manager.

Why is it so challenging to profit from web developer products? What strategy employs Expo?

It is challenging to make money off developer goods for a number of reasons. One is that many people are driven to enhance development procedures or tools. Similar to content, which is likewise challenging to commercialize because many individuals are willing to write it for other goals, including branding or reputation.

Developer tools often fit under this category. Many individuals like making them or making them in an open source way; some of them could desire to make open source tools to boost a platform’s popularity or for recruiting objectives.

It is illogical for us to generate money off the platform itself. It is essential that the tools are open source since that is how we will recruit the developers we want and how we will use the technologies we want. If there are problems, you can figure out what’s going on inside of them and provide remedies. An audit of your security can be done if you’re worried. To charge for any of these services would be strange.

Making mobile software development accessible to kids is part of our purpose. I occasionally think about how I would be thinking about how I might make some intriguing toys for us to play with if I were 13 or 14 years old right now and my buddies and I were all sat on our phones. In contrast, if you charge for this, eager learners are shut out. They don’t have credit cards, and their parents are hesitant to give them money for something they might not understand.

Since the economic model is similar to that of Twitch and YouTube, this makes sense to me. Both Twitch and YouTube do not charge users to publish videos. But if they help you succeed financially, they may keep a cut.

Therefore, I anticipate that there will be a way for us to take a tiny portion if we can help developers monetize their work. But I would much rather see it be free and open source forever. There are a number of ways we can support ourselves if we can help people build sustainable businesses on top of our platform.

What were some of the most difficult situations you had to deal with while making Expo?

Although I know there will be really difficult times ahead due of our commitment to our purpose, so far it hasn’t been that difficult. I was aware that it would take a while to complete and that there would be many challenges along the way, but in recent months, we have performed flawlessly and delivered jigsaw parts that have helped to clarify our message.

We have answers to many of these questions since there are several ways for developers to access different stages, but it is challenging to fully describe all we do. If you started a project using React Native, you would get IOS and Android folders with all of your JavaScript source code inside of them. We have a convergence script if you only wrote JavaScript and not any native iOS or Android code. Because there are so many ways to change your project, it’s a little fragile.

We are now mostly focused on recruiting new members.

It has been fun since we have a great team and get along well. Since many of our staff members actively contribute to the React Native open source project, their employment at Expo enables them to focus only on that area of work. Contributors to the React Native repository are interested in mobile programming and how mobile applications are built. They identify with Expo’s mission to make building mobile apps easier, quicker, and more accessible. They typically take the most thoughtful approach to growth.

What is in store for Expo?

We will work very hard to establish ourselves as the most common, easy, and effective way to start a new React Native project. Additionally, we want to enhance native modules’ functionality.

The fact that Expo is just React Native with extra components was one of the ten arguments I gave for using it in the React Native community group. For example, one of the biggest issues for React Native developers is not just doing routine maintenance on their own code, but also dealing with the fact that many third-party modules, like some highly specialized bluetooth or background locations, do not get updated and continue to run on an older version. Many native libraries have found it challenging to keep up with the rate of change due to the React Native library’s frequent release of new versions.

We will also make it a priority to provide them with the essential mobile construction components in the following year. The web’s predominance of text with graphics, rectangles for layout, and forms is something I despise about it, which may be because it started off as a tool for document creation. In 1994, the world needed just this.

On their mobile devices, users like looking at pictures, watching movies, streaming material, swiping, giving likes, and listening to music. The experience is significantly more tactile and multimodal. We aspire to be the best building blocks for designers of mobile software. Even if we may not yet have all the information, this is the direction we want to go in the upcoming year.

What activities or hobbies do you like besides your startup?

For the past two years, I’ve been listening to a lot of Ryan Adams continuously, and I think I’ve grown a little more politically engaged than I was before, just because it feels so important this year in a way that it hasn’t for the vast majority of my life.

I am a supporter of the Penguins, Steelers, and Pirates because I was raised in Pittsburgh. I was present when the Penguins won the Stanley Cup in San Jose last year; it was incredible.

For more information:

You can check expo.dev, or contact me on LinkedIn

We bring you exclusive interviews with leading experts in the fields of web development, web design, and SEO. Discover the unique stories of these individuals who have transformed their passion into remarkable achievements. Our team thoughtfully gather inspiring stories from across the internet, aiming to spark your creativity and engage your interest through our closely monitored case studies. You can find other inspiring case studies here.

en_USEnglish