As described in the Appium 2.0 Epic, Appium needs to evolve from being a server which bundles many drivers to one which by default doesn't bundle any drivers, and instead provides an interface for retrieving and using drivers. Essentially, "Appium" will become:
- A set of spec extensions to the WebDriver W3C protocol (eventually upstreaming those extensions to the official protocol)
- A set of code libraries (like
BaseDriver
orjsonwp-proxy
that make it easy to write Appium drivers) - A driver runner (this is what the main Appium package currently does); the difference is that drivers will not come bundled with the runner by default
- A plugin interface based around command-level hooks
- An API and CLI interface for retrieving and managing different versions of Appium-compatible drivers and plugins