I am only coding in Objective-C and I have no experience with backend coding, only a high-level understanding.I understand why a lot of programming projects require backend servers but I'm not absolutely clear on a high-level perspective why Mailbox needs their own.They get their data from the Gmail API,It is my understanding that most iOS client app receive data from a backend from a public API (like Gmail), download in the iOS app and show it in their app. Therefore they have no need for their own servers in order to receive the appropriate data to show it to their users.My only explanation is that Mailbox follows this logic:Gmail data --> Mailbox's app AND servers --> users interact with app --> save changes on their own servers and Google's via the APIThe last part to me would mean that they would basically keep the data of all the Archived, Delayed, Deleted, and Listed emails on their own servers rather than Google's.Is my understanding correct?Thank you
Why does the Mailbox app need their own backend?
design patterns;api;ios
One good reason to build things with an intermediary service you control is so that you can control your own destiny and control when you need to change the app. For example, if your mobile app was talking directly to google and then they change the API surface you would have to push out an emergency update. This would be doubly bad if the change broke key features of your app. Another case is if google cut off your API access -- at least your app would have whatever you stored in your cloud. There are many other use cases but if I were building something like this I would certainly strongly entertian the idea of at least building my own proxy service.