We have strong opinions here at Push on when REST APIs can be harmful to an app – namely how it can impact a system’s scale, throughput and performance.
While REST APIs are tried and trusted for downloading web pages, most mobile and web app users are used to having information delivered to them proactively when events or changes happen. Twitter, Facebook, Instagram, most trading apps, auction sites, news apps, gaming apps as well as email, SMS and IM all proactively push information to users without them needing to constantly refresh their screens or perform background polling. Whether they use in-app messaging, push notifications, web sockets or server-sent events, they all give the user live updates to the information they have expressed an interest in.
With REST, every time you want an update, the user (or the app they are running) must issue another ‘GET Request’ – and then wait for a response….hopefully….or maybe timeout…eventually. Each one of these requests consume bandwidth, and needs to be processed by the backend system to return data – often the same data that was returned the last time the user repeatedly jabbed the refresh button, or the app repeatedly polled the server.
We put REST vs. our Push Real-Time Messaging solution, Diffusion that offers real-time data delivery, to the test. Here is a short two minute video demo that shows how the end-user experience of a transaction within a mobile app can be improved when using Push Technology’s Diffusion rather than a REST API. Diffusion is used to transfer the transaction details from the app to the server which will process the payment.