--- title: 'Development builds: Introduction' sidebar_title: Introduction description: Development builds of your app are Debug builds of your project. It includes the expo-dev-client library, which allows you to develop and debug projects using Expo CLI. --- import ImageSpotlight from '~/components/plugins/ImageSpotlight'; import Video from '~/components/plugins/Video'; import { BoxLink } from '~/ui/components/BoxLink'; Building your project with Expo allows you to make most changes in JavaScript. This helps iterate quickly and safely and allows your team to [achieve web-like iteration speeds](https://blog.expo.dev/javascript-driven-development-with-custom-runtimes-eda87d574c9d) by dividing your application into: - **A native runtime**: A native binary that is built with Android Studio or Xcode. Expo Go is an example of a native runtime for iterating on React Native projects. - **An update**: A bundle of your application's JavaScript code and assets (images, video, fonts, and so on). An update can be served from your local computer with Expo CLI, embedded in the binary by EAS Build, or hosted on a publicly available server. When your project requires custom native code, a config plugin, a custom runtime version, or a reduced bundle size of the app, you can transition from using [Expo Go](https://expo.dev/client) to develop to a development build. ## What is a development build