Kotlin Multiplatform е мощен инструмент, който позволява на разработчиците да споделят код между различни платформи, като Android и iOS. В тази публикация в блога ще проучим как да използваме Kotlin Multiplatform за споделяне на бизнес логика между базирано на Kotlin приложение за Android и базирано на Swift приложение за iOS.

Първо, нека създадем нов мултиплатформен проект на Kotlin. В Android Studio отидете на File › New › New Project и изберете „Kotlin/Multiplatform“ от списъка с опции. Дайте име на проекта си и изберете „Android“ и „iOS“ като платформи, към които искате да се насочите.

След това ще създадем нов модул Kotlin за нашия споделен код. В изследователя на проекти щракнете с десния бутон върху вашия проект и изберете „Нов › Kotlin файл/клас“. Наименувайте файла „Greeting“ и се уверете, че се намира в папката „commonMain“.

Във файла „Поздрав“ можем да дефинираме нашата споделена бизнес логика. Например, нека създадем проста функция за изчисляване на общата цена на поръчка:

fun calculateTotalCost(price: Double, quantity: Int): Double {
    return price * quantity
}

Сега можем да използваме тази функция в нашите приложения за Android и iOS. В приложението за Android можем да извикаме функцията по следния начин:

val totalCost = BusinessLogic.calculateTotalCost(10.0, 3)

В приложението за iOS можем да използваме свързващ хедър за достъп до споделения код на Kotlin. Първо създайте нов заглавен файл (напр. „BusinessLogic-Bridging-Header.h“) и добавете следния ред:

#import "BusinessLogic-Swift.h"

След това във вашия Swift код можете да извикате функцията по следния начин:

let totalCost = BusinessLogicKt.calculateTotalCost(10.0, quantity: 3)

Това е! Споделихте успешно бизнес логиката между приложение за Android и iOS, използвайки Kotlin Multiplatform. Разбира се, това е само прост пример, но можете да използвате същия подход, за да споделяте по-сложна логика и дори цели библиотеки между вашите приложения.