DEV Community

Aditya Mathur
Aditya Mathur

Posted on • Edited on

Exploring Expo Application Services: Building, Deploying and Managing Mobile Apps with Ease.

Expo is a popular open-source toolchain for developing and building mobile applications using React Native. It provides a set of pre-built native modules and components that makes it easy to create high-quality apps for Android and IOS.

In this blog, we will discuss Expo Application Services (EAS) and the usage of eas-cli for creating builds for IOS and Android.

Expo Application Services (EAS)

EAS is a set of cloud-based tools and services that provide end-to-end support for building, deploying and managing Expo applications. It includes a wide range of features such as over-the-air updates, push notifications, analytics, and more.

EAS is available for free, with some limitations on usage, and also offers a paid plan for business and teams that require more resources and features.

One of the key benefits of using Expo Application Services is the ability to build and deploy applications without requiring any native build tools or infrastructure. Expo provides a cloud-based service that compiles your JavaScript code and assets into native code for IOS and Android, allowing you to quickly test and deploy your app to real devices. Expo also provides over-the-updates, which allow you to make changes to your app without requiring users to download a new version from the App Store / Play Store.

EAS-CLI

Expo Application Services CLI (eas-cli) is a command-line interface tool that provides a set of commands for managing and deploying Expo applications. EAS-CLI, is a replacement for Expo's legacy build tools (expo-cli) and provides a more streamlined and efficient workflow.

Installation

To use EAS-CLI, you first need to install it using npm. Open your terminal or command prompt and enter the following command:

npm install -g eas-cli
Enter fullscreen mode Exit fullscreen mode

EAS Login

Once EAS-CLI is installed, you need to login/signup for with Expo Account using the following command:

eas login
Enter fullscreen mode Exit fullscreen mode

If you are already logged in using Expo Account using Expo-CLI, there is no need to log in again. You can check whether you are logged in or not by using the following command:

eas whoami
Enter fullscreen mode Exit fullscreen mode

Configuration for EAS Build

To configure your application for EAS Build, run the following command:

eas build:configure
Enter fullscreen mode Exit fullscreen mode

This will create an eas.json file in your project which will have information about your cli version and different profile like development, preview, production, etc.

Building

The profiles can be modified according to your preference. Let's assume you want to build an APK file to test on real Android devices for testing purposes under the development profile, you can achieve that by adding the following tags in your eas.json:

'android.buildType': 'apk' ,
'gradleCommand': ':app:assembleRelease'
Enter fullscreen mode Exit fullscreen mode

In order to specifically build the development profile you can run the following command:

eas build -p android --profile development
Enter fullscreen mode Exit fullscreen mode

where, -p stands for platform.

You can get more information on building for Android and IOS from the embedded links.

Building binaries for App Store and Play Store

You can build the binary for Android and IOS using the following EAS-CLI commands:

eas build --platform ios
eas build --pltform android
Enter fullscreen mode Exit fullscreen mode

EAS-CLI also provides a range of other commands for managing your build configuration, credentials, and more. You can run the following command to view the status of your builds:

eas build:list
Enter fullscreen mode Exit fullscreen mode

This will show you a list of your recent builds, along with their status, duration, and other details.

In conclusion, Expo Application Services and EAS-CLI provides a powerful and efficient workflow for building, deploying, and managing Expo applications. With EAS, you can quickly build and deploy your app without requiring any native build tools or infrastructure. EAS-CLI enables you to manage your build configuration and credentials from the command line, making it easier to automate your build and deployment process.

Also, if you enjoyed this content and would like to stay updated on future posts, feel free to connect with me on LinkedIn or X or check out my Github profile. I'll be sharing more tips and tricks on Django and other technologies, so don't miss out!

If you find my content valuable and would like to support me, you can also buy me a coffee. Your support helps me continue creating helpful and insightful content. Thank you!

Top comments (0)