For example, if we were to remove.
Is fetching from memcache faster than regen JSON? So our application is going to require a couple things. So you need to do it in versions, so that you can say: Ok, this version has this functionality, the mobile app can implement that, but when we want to change it, we roll out a new version, and then once that is rolled out, then our mobile app can opt in using the new version.
This way we can use something like Splunk to query against our Rails logs. The reason why you would want to version your API is that you may not control all of the code in one app, so when you deploy your Rails app, your mobile app might be separate, and if it hasn't been updated at the exact same second as your Rails app, then your users will probably see breaking stuff.
However, even in very HTML-heavy applications, most of an application's logic lives outside of the view layer. We can then set up subscribers to those events and choose how we want to handle them. What makes API mode different?
By adding cache, responses in my application have actually slowed down. For very simple APIs, this may be true. Shouldn't I just use something like Sinatra? What about with single objects? We also looked at how we can respond using the json:api format using ActiveModel::Serializer.