Добрый день. Стоит перед мной задача разработки и написания API сервера с использование фреймворка Twisted.
К API серверу должны подключатся клиентские приложения и держать постоянное соединение с им. И если с написанием сервера все более-менее понятно, то с структурой API возникла целая дилема.
Основным критерием API является его простота для использования сторонними разработчиками. Из возможных вариантов рассматриваю REST, SOAP, XML-RPC. Почти неделю бьюсь над этим вопросом и все так же не знаю чему отдать предпочтение.
Как по мне то REST почти не годится для работы с постоянными соединениями, так-как он изначально расчитан на работу вида запрос —- ответ.
SOAP громоздок и более тяжелый в плане избыточности данных, но зато хорошо документирован и вроде как является стандартом.
Ну а XML-RPC он и в африке XML-RPC, вот только не знаю будет ли правильно делать API на нем.
Уже даже начал смотреть в сторону прямых сокет соединений, без использования каких-либо протоколов.
В общем сейчас стою в ступоре и прошу вашего совета в выборе структуры API.