I will be developing a mobile app, which will mainly act as a client. There will be an API on the cloud that these mobile clients will interact with, and there will also be a web application for administrative purposes.
I'm thinking if I should use two separate applications for the API and the admin application. My thoughts are:
- If I keep the API and the admin applications as one, the admin application could directly access things from the database, thus have better performance. But this will introduce a coupling.
- If I separate them, I remove the coupling, but this might take a toll on the performance.
Just as a side note, I will be using Ruby on Rails for the API and the admin application, regardless of whether or not I separate them.
These applications are developed for us, and we will provide the mobile applications and the admin application to our customers as a service. Our customers won't use the APIs directly, but our client applications will.
I saw some similar questions here, but they mainly talk about a web API and a consumer web app, while I'm talking about only combining the admin app and the API.