Guides
Plan-enterprise-icon
Expo Application Services
API Reference

Limitations

We believe Expo tools are a great option for anyone looking to create amazing cross-platform apps quickly. Nonetheless, everyone's project is unique, and there may be reasons Expo is not the right choice for what you're building. Read on for some reasons why you may not want to use certain Expo tools with your project.

EAS

For more information on what current limitations exist with EAS, see the following:
Build-icon
EAS Build

EAS Build is designed to work for any React Native project, whether or not you also use Expo Prebuild or manage your own native files. In some situations, you may need to change your project configuration, or it may be incompatible with your app. Learn more.

Arrow-right-icon
Eas-metadata-icon
EAS Metadata

EAS Metadata aims to make creating or maintaining an app in the stores as easy as possible by using one configuration file. In some situations, not be the right fit for a project. Learn more.

Arrow-right-icon

Bare workflow

Similar to development builds, bare workflow also provides access to the underlying native projects and any native code. It's a "bare" native project where you can make direct changes to the project's native android/ and ios/ directories rather than continuously generating them on demand using the Expo config and prebuild.
EAS Build is compatible with bare workflow projects if you check in the native directories, but no longer runs prebuild, as that could overwrite any manual customizations you've made to the native project files. You'll have to configure the native directories on your own with native tools such as Android Studio or Xcode.

Expo Go

Expo Go provides a quick way to get started with your app development. It comes with a pre-configured set of libraries known as the Expo SDK. This makes development much faster and makes the mobile development experience much closer to the web development experience.
Like any other tool, it too has its own limitations:
  • Using a third-party library that requires native code
  • Using a third-party push notification service
We strongly recommend any projects that require additional libraries with native code to migrate to development builds. It's like creating a version of Expo Go that is specifically customized to your app's needs.

Up next

  • If you have heard enough and want to get to coding, see Installation.
  • If you have some unanswered questions, continue to the Common Questions page.
  • Message-iconAsk a question on the forums
  • Edit-iconEdit this page

Was this doc helpful?