Однако мы столкнулись с препятствием: как нам справиться с этими расчетами? Дублируем ли мы их как в приложении, так и на серверной части? Неужели мы просто признаем, что приложение больше не работает должным образом в автономном режиме и полагаемся только на серверную часть, которая сделает за нас эти вычисления? Или… я подумал о KMP.
У меня уже были планы перенести уровень домена и уровень данных в KMP, чтобы я мог перенести приложение на iOS. Он уже запустил серверную часть, используя NestJS с Typescript.
Мой вопрос: можно ли использовать KMP для наших общих вычислений, то есть: все вычисления бизнес-логики будут общими? между сервером и приложениями? Я видел IR-компилятор Kotlin/JS, но, поскольку я никогда не использовал KMP в реальном мире, я не уверен, смогу ли я скомпилировать что-нибудь для его использования в серверной части NestJS.
В середине этой статьи я пытаюсь понять, как архитектура KMP могла бы работать теоретически. У меня есть приблизительный набросок того, о чем я думаю:
Итак, я предполагаю, что каждый слой KMP отделен от реальных проектов Android, iOS и Server. Это означает, что это совершенно отдельный репозиторий git, который используют приложения. Но, может быть, это неосуществимо или способ сделать это, и это мое неправильное предположение с самого начала? Но если нет, то, учитывая, что уровень домена определяет интерфейсы для репозиториев, а уровень данных реализует их, откуда уровень представления (Android и iOS) узнает о фактической реализации? Борюсь с этим.
Спасибо, что уделили время. Очень хочу узнать ваши мысли! Извините, если это сбивает с толку, я изо всех сил пытаюсь определить здесь конкретную проблему и решение.
Подробнее здесь: https://stackoverflow.com/questions/790 ... ios-server
Мобильная версия