Appium is written in Node.js which is basically a client-server architecture served as an HTTP server built to create and handle multiple WebDriver sessions. This testing tool starts as a “ Test Case” on the device which then spawns a server and listens to any proxy commands from the main server of Appium.

Once the Appium server receives a connection with details from the client in the form of a JSON object over HTTP, it creates a session as specified in JSON, and then returns the session ID, which is to be maintained until the main Appium server is running. Thus, all the quality testing will be performed in this newly created session. Following is a diagram depicting the Appium architecture clearly:

BY Best Interview Question ON 14 Feb 2020