Selenium RC had a lot of limitations which eventually led to the development of Selenium WebDriver.
See the major differences between Selenium RC and Selenium WebDriver:
The architecture of Selenium RC is complicated because it uses an intermediate RC Server to communicate with the browser. The RC Server is installed initially before running the test scripts and acts as mediator between your Selenium commands and your browser.
When we execute a test script in Selenium RC, the following operations are performed internally.
The architecture of Selenium WebDriver is simpler as compared to Selenium RC.
The browser is controlled directly from OS (Operating System) level. The basic requirements to run a test script on WebDriver are:
Selenium WebDriver performs faster than Selenium RC because it interacts directly with the browser without using any external proxy server. Selenium RC, on the other hand uses an intermediate RC Server to communicate with the browser.
Execution of test scripts takes more time in Selenium RC than WebDriver, since it uses JavaScript commands as instructions to the browser.
Selenium WebDriver is purely object oriented API, whereas Selenium RC is less object oriented API.
WebDriver is entirely based on object oriented programming languages like Java, C#, etc.
Selenium WebDriver supports OS (Operating System) for mobile applications like iOS, windows mobile and android. On the other hand, Selenium RC doesn't support testing of mobile applications.
Selenium WebDriver also supports headless HTMLUnit browser (Invisible Browser).
Selenium RC doesn't support the headless HTMLUnit browser as it needs a real browser to work with.