Protractor is the only automation tool that has inbuilt support for AngularJS element identification strategies like locators related to angular elements like byName, ByModel, ByBinding a few more along with selenium locators. Protractor is overlaid on WebdriverJS
WebDriverIO is an implementation of W3C webdriver API and you can find the same on coding files of it. This gives it an edge to have full control over implementation rather than depending on WebDriverJS implementation.
Wdio cli helps the tester to create the conf file with simple options for WebdriverIO, rather than depending on some sample files like the protractor.
Protractors have promises which will take your life if you ever want to take value out of the promise, but in the case of webdriverio interacting with values or retrieving them is easy.
WebdriverIO has good support for IOs and Android OS but Protractor does support little for mobile platforms.
Protractor and WebdriverIO both are open sources, so users do not have to spend any single buck from their pocket.
Protractor has large community support compared with selenium, also the collaborators of protractors are an official angular team. Below is a screenshot of the weekly installations of these.
WebdriverIO is receiving more updates than protractors, as protractor is present in 2013 and WebdriverIO is present since 2014