Understanding Differences in Expo Commands and the Purpose of Development Client

Can anyone explain the difference between these:

  1. expo run:android
  2. expo start --clear --dev-client
  3. eas build --local --platform android with manually installing the APK on the emulator?

Like what does these commands do differently?

And what’s the purpose of development client? Is this another level of abstraction between Expo Go and a standalone build?