Skip to content
/ expo Public

An open-source framework for making universal native apps with React. Expo runs on Android, iOS, and the web.

License

Notifications You must be signed in to change notification settings

expo/expo

Repository files navigation

expo sdk

Expo

Expo SDK version Chat or ask a question License: MIT Downloads

Try Expo in the Browser  •  Read the Documentation  •  Learn more on our blog  •  Request a feature

Follow us on

Expo on X Expo on GitHub Expo on Reddit Expo on LinkedIn Expo on LinkedIn

Introduction

Expo is an open-source platform for making universal native apps that run on Android, iOS, and the web. It includes a universal runtime and libraries that let you build native apps by writing React and JavaScript.

This repository includes the Expo SDK, Modules API, Go app, CLI, Router, documentation, and various other supporting tools.Expo Application Services (EAS)is a platform of hosted services that are deeply integrated with Expo open source tools. EAS helps you build, ship, and iterate on your app as an individual or a team.

Read theExpo Community Guidelinesbefore interacting in the repository. Thank you for helping keep the Expo community open and welcoming!

Table of contents

📚 Documentation

Learn about building and deploying universal appsin our official docs!

🗺 Project Layout

  • packagesAll the source code for Expo modules, if you want to edit a library or just see how it works this is where you'll find it.
  • appsThis is where you can find Expo projects which are linked to the development modules. You'll do most of your testing in here.
  • apps/expo-goThis is where you can find the source code for Expo Go.
  • apps/expo-go/ios/Exponent.xcworkspaceis the Xcode workspace. When developing iOS, always open this instead ofExponent.xcodeprojbecause the workspace also loads the CocoaPods dependencies.
  • docsThe source code forhttps://docs.expo.dev
  • templatesThe template projects you get when you runnpx create-expo-app
  • react-native-labThis is our fork ofreact-nativeused to build Expo Go.
  • guidesIn-depth tutorials for advanced topics like contributing to the client.
  • toolscontain build and configuration tools.
  • template-filescontains templates for files that require private keys. They are populated using the keys intemplate-files/keys.json.
  • template-files/ios/dependencies.jsonspecifies the CocoaPods dependencies of the app.

🏅 Badges

Let everyone know your app can be run instantly in theExpo Goapp!

runs with Expo Go

runs with Expo Go

[![runs with Expo Go](https://img.shields.io/badge/Runs%20with%20Expo%20Go-000.svg?style=flat-square&logo=EXPO&labelColor=f3f3f3&logoColor=000)](https://expo.dev/client)

[![runs with Expo Go](https://img.shields.io/badge/Runs%20with%20Expo%20Go-4630EB.svg?style=flat-square&logo=EXPO&labelColor=f3f3f3&logoColor=000)](https://expo.dev/client)

👏 Contributing

If you like Expo and want to help make it better then check out ourcontributing guide!Check out theCLI packageto work on the Expo CLI.

❓ FAQ

If you have questions about Expo and want answers, then check out ourFrequently Asked Questions!

If you still have questions you can ask them on ourDiscord and Forumsor X@expo.

💙 The Team

Curious about who makes Expo? Here are ourteam members!

License

The Expo source code is made available under theMIT license.Some of the dependencies are licensed differently, with the BSD license, for example.

Star the Expo repo on GitHub to support the project