Если вам нужна эффективность и кроссплатформенность, вы должны отправлять необработанные сообщения между приложениями, содержащие необходимую информацию и ничего более или менее.
Сериализация классов с помощью собственных механизмов Java, gson, protobufs или чего-либо другого, создаетданные, которые содержат не только информацию, которую вы хотите отправить, но также информацию о логических структурах / иерархиях структур данных, которые использовались для представления данных внутри вашего приложения.
Это делает эти классы и отображение данныхдвойное назначение: одно для внутреннего представления данных в приложении и два для передачи другому приложению.Эти две роли могут быть противоречивыми, поэтому разработчик должен помнить, что классы, коллекции и компоновка данных, с которыми он работает в любое время, также будут сериализованы.