Classification of HTTP APIs
nordsc.com
nordsc.com
While I would agree with that, I question how often a developer actually has a choice of whether or not to go with REST. It seems to solve an entirely different problem than an API: REST is for public standards, not proprietary services. You certainly need to know which you are making before you worry about what architecture to use.
If the Twitter API were RESTful, it would be OStatus, and that's obviously not what it's supposed to be.
Being RESTful would just increase interoperability. But that's not Twitters game.
And hypermedia as the application state driver. That's actually the main component of a restful API, though the one most often missed.
> It seems to solve an entirely different problem than an API: REST is for public standards, not proprietary services.
Why could you not use REST for proprietary services?
Proprietary services can be entirely controlled: proprietary server, proprietary client, proprietary protocol. You don't mind if they are coupled, just update them at the same time. Also, proprietary protocol often don't come with the long term vision that characterize open file formats and protocols. The cash has to flow soon, then for a few years. Beyond that, all bets are off.
So it's not that you couldn't, but rather that you wouldn't. I guess.
Of course you do. They may be under the control or purview of different team members (or teams, or contractors), and coupling always increases maintenance costs.
> just update them at the same time.
Or don't couple them and update them when you need to.
> Also, proprietary protocol often don't come with the long term vision that characterize open file formats and protocols. The cash has to flow soon, then for a few years. Beyond that, all bets are off.
Right, so you would not use REST for proprietary services because proprietary services are by definition moronic in design and intent?
Sounds great.