What is the difference between NightwatchJS and WebdriverIO?

As the title states, what is the difference between Nightwatch.js and Webdriver.io?

It seems like they have kind of the same syntax and do almost the same thing. How are they different?

I need to choose between them.