Привет, Хаброжители! Хотите писать код один раз и запускать его на Android и iOS, сохранив нативное качество и производительность?

В этой книге вы освоите все шаги разработки полнофункциональных кросс-платформенных приложений с помощью Kotlin Multiplatform SDK — от создания проекта с нуля до миграции существующих нативных решений. Подробные инструкции, архитектурные подходы и реальные примеры помогут уверенно работать с общими модулями, многопоточностью, сетевым слоем, хранением данных и Compose Multiplatform для iOS.

Особое внимание уделено использованию нативного и общего кода в кросс-платформенном приложении, применению expect/actual, тестированию с Kotest, оптимизации разработки с помощью KSP, плагинов компилятора и ИИ-ассистентов. Вы узнаете, как создавать и публиковать собственные KMP-библиотеки, а также получите краткий справочник по Kotlin и Swift, чтобы уверенно ориентироваться в обеих экосистемах.

Что вы получите:

  • Понимание экосистемы и возможностей Kotlin Multiplatform.

  • Навыки разработки приложений с нуля и миграции нативных проектов.

  • Умение работать с архитектурой, сетью, хранением данных и UI на Compose Multiplatform.

  • Инструменты для тестирования, оптимизации и ускорения разработки.

  • Знания по созданию, публикации и поддержке собственных KMP-библиотек.

  • Практический опыт интеграции решений для iOS и Android.

Для кого эта книга

Книга предназначена для разработчиков Android и/или iOS, имеющих определенный опыт в работе с нативной платформой и желающих освоить кросс-платформенную разработку на Kotlin Multiplatform. Любой кросс-платформенный SDK или фреймворк основывается на нативном коде, поэтому знания по нему, хотя бы базовые, необходимы. Мы затронули особенности работы на базе и Android, и iOS и стремились сделать так, чтобы материал был понятен широкому кругу разработчиков. В процессе чтения вы начнете изучать помимо привычной вам и вторую платформу, поэтому рекомендуем ознакомиться с дополнительной информацией о ней.

от автора:

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

Анна Жаркова

Об авторе:

Анна Жаркова — разработчик мобильных приложений с опытом более 10 лет. Занимается разработкой нативных iOS- и Android-приложений и популяризацией SDK Kotlin Multiplatform как эксперт Ex-GDE Kotlin. Кроме того, является автором статей по разработке на Habr и Medium, а также преподавателем на курсах по iOS в Otus. Спикер на конференциях Droidcon, Mobius, AppsConf, Dump, Techtrain, Devfest, Crossconf. Член программного комитета конференций Mobius, Codefest и «Стачка». Ведет Telegram-канал «Записки разработчицы».

Структура издания

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

В главе 1 мы расскажем, как установить и настроить средства разработки приложений с помощью Kotlin Multiplatform. Также рассмотрим особенности структуры базового приложения KMP, в том числе работу с общим модулем при создании кросс-платформенного приложения с нуля или подключении к существующим нативным приложениям.

В главе 2 описывается учебное приложение, которое мы будем писать пошагово, реализуя те или иные части при прохождении определенной главы. Мы познакомимся с возможными архитектурами кросс-платформенного приложения, его каркасом, работой с нативным UI и уровнями разделяемого кода.

Глава 3 посвящена концепции общего и нативного в KMP. В общем модуле приложения есть как полностью общая логика, так и платформо-специфичная. Поговорим о возможных способах реализации подхода expect/actual и правильном их использовании в различных случаях. Также подробно разберем, как происходит преобразование Kotlin в Swift/Objective-C под капотом, и изучим нюансы компиляции. Эта часть будет вынесена в разделы, названные «Материал со звездочкой».

В главе 4 обсудим реализацию многопоточности в KMP и управление памятью с погружением в глубины этого механизма. Не переживайте, вы можете прочитать главу до «Материала со звездочкой» и вернуться к нему при необходимости. Дополнительно расскажем про механизм корутин.

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

В главе 6 резюмируем материал и практические примеры, данные в предыдущих главах. Мы соберем из них учебное приложение и проведем миграцию с нашей самописной архитектуры на готовую мультиплатформенную ViewModel от Google.

В главе 7 разберемся, как с помощью механизма Dependency Injection соединить функциональные слои приложения: какие решения существуют, как их правильно использовать.

В главе 8 перечислим способы хранения данных в приложениях Kotlin Multiplatform: локальные нативные хранилища, общее хранилище DataStore, база данных Room для KMP.

В главе 9 обсудим способы проверки качества приложения. Рассмотрим особенности тестирования кросс-платформенного приложения, существующие решения, такие как Kotest и Kotlin Test, и их использование на практике.

В главе 10 рассмотрим создание общего UI на Compose Multiplatform, затронем возможные и существующие подходы к организации взаимодействия между нативным и общим UI, способы реализации навигации и работы с состоянием, а также подходящие библиотеки.

Вторая часть, объединяющая четыре главы, даст дополнительную полезную информацию, которая поможет вам углубить свои знания.

В главе 11 вы найдете инструменты, которые облегчат вашу жизнь в будущем при создании KMP-приложения, узнаете способы оптимизации и ускорения разработки, такие как кодогенерация KSP, плагины компилятора Kotlin и ассистенты ИИ.

В главе 12 приведена шпаргалка по Swift, Kotlin и Gradle. Разработчикам iOS будет интересно получить базовую информацию о Kotlin и Gradle, а разработчикам Android — познакомиться со Swift.

В главе 13 вы узнаете, как создать кросс-платформенную библиотеку, опубликовать ее с помощью Github Actions, а также как собрать и загрузить артефакты Maven.

В главе 14 даем краткое руководство по миграции существующего приложения и его переходу от нативного Android или iOS к кросс-платформенному.

Ознакомиться с оглавлением
Полистать отрывок

Приобрести книгу «Kotlin Multiplatform на практике» можно на нашем сайте.

По факту оплаты бумажной версии книги на e‑mail высылается электронная книга.
Для Хаброжителей скидка 25% по купону — Kotlin  

Комментарии (0)