Самые интересные Android-приложения, по-моему, те, которые позволяют взаимодействовать пользователям на различных устройствах. Например, сетевые игры, коммуникационные и социальные приложения. В разработке таких программ мы должны использовать широкий спектр технологий, и, соответственно, имеем большой простор для творчества, для построения интересной архитектуры.
Я уже описывал некоторые своеобразные решения для клиент-серверного взаимодействия в мобильных приложениях, но сегодня мы познакомимся, вроятно, с самым интересным инструментом для решения таких задач: с технологией websocket.
В чём её прелесть? Практически полный реалтайм, минимальные накладные расходы на передачу данных, возможность реализовать любой, даже бинарный протокол "внутри" websocket-а, и самое приятное: простота реализации и готовые библиотеки. С этим давайте и разберёмся подробнее.