Лучшая книга, которая научит вас, как обмениваться кодом между платформами, используя мультиплатформенность Kotlin (Kotlin Multiplatform — KMP). Вы получите основы создания пользовательских интерфейсов с использованием собственных наборов инструментов пользовательского интерфейса, а затем напишете общий код для сериализации (serialization), создания сетей (networking) и сохранения (persistence).

Вы также узнаете, как внедрение зависимостей, тестирование и различные архитектуры вписываются в мультиплатформенность Kotlin, чтобы создавать поддерживаемые и масштабируемые приложения, создавая собственные приложения быстрее и надежнее, предоставляя общий доступ к коду для Android, iOS и настольных компьютеров.

Для кого этот учебник?

Курс предназначен для мобильных разработчиков и менеджеров, которые хотят изучить, как они могут использовать Kotlin Multiplatform в различных вариантах использования для совместного использования кода в приложениях для Android, iOS и настольных ПК. Если вы хотите сократить время разработки и тестирования, написав определенные части своих приложений только один раз, этот бесплатный учебник на русском языке поможет.

Охватываемые концепции

  • Jetpack Compose Android
  • Compose Multiplatform
  • SwiftUI
  • Тестирование
  • Внедрение зависимостей с помощью Koin
  • Сохранение с использованием SQLDelight
  • Сериализация
  • Ktor
  • Параллелизм с использованием coroutines

Содержание учебного курса

Раздел I: Kotlin Multiplatform — KMP | Начальный уровень

Одним из основных преимуществ мультиплатформенности Kotlin является то, что вы можете совместно использовать код в собственных приложениях. Вы можете продолжить разработку слоя пользовательского интерфейса, используя собственные наборы инструментов пользовательского интерфейса, такие как Jetpack Compose для Android и SwiftUI для iOS.

В этом разделе вы узнаете, как добавить новый модуль Gradle для написания бизнес-логики только один раз. Вы также узнаете, как создавать собственный пользовательский интерфейс для приложений Android, iOS и для настольных компьютеров, используя общий модуль.

Раздел II: Kotlin Multiplatform — KMP | Промежуточный уровень

Для эффективного совместного использования кода в приложениях необходимо учитывать несколько факторов: доступ к API, зависящим от платформы, поддержка существующих методов разработки программного обеспечения и постоянство.

В этом разделе вы узнаете, как использовать функции Kotlin для доступа к API-интерфейсам, зависящим от платформы, в вашем общем модуле и как мультиплатформенность Kotlin вписывается в вашу текущую архитектуру. Вы также узнаете о внедрении зависимостей и о том, как вы можете использовать его для тестирования функций, присутствующих в ваших общих модулях. Наконец, вы узнаете, как использовать общую кодовую базу для обработки сохраняемости на разных платформах.

Раздел III: Мультиплатформенность Kotlin: продвинутый

Сетевое взаимодействие имеет решающее значение для большинства современных приложений, и обычно оно включает в себя реализацию схожей логики с использованием разных фреймворков и языков. Под капотом он также включает в себя такие понятия, как сериализация и параллелизм. К счастью, в мультиплатформенной платформе Kotlin есть специальные библиотеки для каждого из них.

В этом разделе вы узнаете, как использовать сериализацию для декодирования данных JSON в объекты Kotlin. Затем вы узнаете, как использовать общую сетевую библиотеку, которая использует эту общую сериализацию для извлечения данных из Интернета. Чтобы повысить производительность сети, вы также узнаете о параллелизме в Kotlin с использованием сопрограмм и о рекомендациях для разных платформ. Наконец, вы узнаете, как извлечь существующую функцию в мультиплатформенную библиотеку Kotlin, а также о различных способах публикации этой библиотеки.