Appium uses native automation frameworks of Apple and Android.
- UIAutomation by Apple
- UiAutomator or Instrumentation by Android
On the top, Appium uses Selenium WebDriver API which uses JSON Wire Protocol. So we can write our tests in any language like C#, Java, Python, PHP, Ruby as we webdriver client
API are available in these languages. You can get these libraries from https://appium.io/downloads
Appium receives commands from selenium client and then forwards these commands to Android or Apple Automator. Android or Apple automator executes these commands and sends response back to the Appium server.
Below command shows the Appium architecture.