Eventually I would like to hire an iOS and Android developer to create an app. Essentially, the app allows users to log-in to a server to send and receive messages with other users.
I have a limited budget and would like to do parts myself, primarily creating an API for this server and writing documentation for it.
I am curious: while I have been working with PHP and MySQL for many years, this will be my first API. Would these technologies be well suited for an API? Also, are there any general tips and feedback for starting an API.
Even if I have to subcontract parts of the API development, I strongly feel creating a fully functioning and well documented API and providing polished mockups to an app developer would not only greatly reduce project scope for the app developer, but create well defined goals for the developer that will help save time and money.
I would like to add: the API would need to allow users to create an account, log-in, and log-out. When requested, the API also needs to be able to provide data such as recently logged in users, user profiles, and chat transcripts between users.
But what I can't get my head around is how to deal with pushing content. Let's say in the app the user has logged in and loaded up the chat screen with another user. The app could use the API to load the user's profile data and chat history, but how could these two users have a real-time conversation? Is that something an API could do? I do know I want the server involved so chat transcripts are saved to allow the user to login on another device and have full access to their account.