1--- 2title: 'Development builds: Introduction' 3sidebar_title: Introduction 4description: 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. 5--- 6 7import ImageSpotlight from '~/components/plugins/ImageSpotlight'; 8import Video from '~/components/plugins/Video'; 9import { BoxLink } from '~/ui/components/BoxLink'; 10import { BookOpen02Icon } from '@expo/styleguide-icons'; 11 12Building 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: 13 14- **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. 15- **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. 16 17When 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. 18 19## What is a development build 20 21<Video url="https://www.youtube.com/embed/Iw8FAUftJFU" /> 22 23A **development build** of your app is a Debug build that contains the `expo-dev-client` package. As a production build is for the general public, and a preview build lets your team test your next release, a development build lets developers iterate as quickly as possible. It comes with extensible development tools to develop and test your project. 24 25You can think of a development build as your version of the Expo Go client. 26 27## What is expo-dev-client 28 29The [`expo-dev-client`](https://www.npmjs.com/package/expo-dev-client) package is used to create a development build. It is a library designed to support any workflow, release process, or set of dependencies in the Expo/React Native ecosystem. Whatever your project needs, either now or in the future, you'll be able to create a development build for it and get the productivity and quality of life improvements of JavaScript-driven development. 30 31## Next step 32 33<BoxLink 34 title="Development Builds: Installation" 35 description="Learn what are the prerequisites and installation steps to create a development build." 36 href="/develop/development-builds/installation" 37 Icon={BookOpen02Icon} 38/> 39