или только для себя?
Если только для себя, то я бы посоветовал интегрироваться чуть глубже с котлином и позволить ему генерировать
common библиотеку на нужную вам платформу. Таким образом клиентский код будет просто дергать АПИ предоставленное этой библиотекой.
для себя я так и делаю. но ещё есть сторонние разработчики.
А на основании чего эту библиотеку генерировать? Вот у вас есть условный спрингбут/кваркус/ктор-сервер, у него какие-то там rest endpoints. Вам нужна библиотека, скажем для Kotlin/JS. Как её предполагаете генерировать? Мы сейчас остановились на таком: бэкенд автоматом генерит OpenAPI (чаще всего, но иногда они и пишутся вручную), по ним генерится ктор клиент.
а это сильно зависит от контекста и желания углубиться. в самом примитивном виде -- это просто вынести общие data классы и правила их сериализации в библиотеку. ну а затем можно уже клиентский интерфейс выделить, и написать реализацию например используя ktor/js правда его, придется руками поддерживать все равно. либо с помощью кодогенерации. в общем вариантов много. какой именно выбирать зависит только от нужд и целей. Просто всякие OpenAPI/Swagger доки как раз придумали как посредников которые читаются людьми и достаточно формальны, чтобы по ним генерировать клиентский код. Kotlin MPP решает эту проблему более элегантно, на мой взгляд.
Пробовали выносить в библиотеку, это менее удобно: 1. На бэкенде приходится искусственно ограничиваться возможностями мультиплатформы - строки вместо UUID, long вместо Date и т.п. 2. Функции работы с данными приходится писать руками
Обсуждают сегодня