Создание вашего первого кроссплатформенного мобильного приложения

Здесь вы узнаете, как создать и запустить ваше первое Kotlin Multiplatform Mobile приложение.

Вы также можете посмотреть видео этого урока, созданное Екатериной Петровой.

  1. Настройте среду для кроссплатформенной мобильной разработки, установив необходимые инструменты для подходящей операционной системы.

    Вам понадобится Mac с macOS для выполнения определенных шагов в этом руководстве, которые включают написание специфичного для iOS кода и запуск iOS-приложений.

    Работать с iOS в других операционных системах, таких как Microsoft Windows, нельзя. Это связано с требованием Apple.

  2. В Android Studio выберите File | New | New Project.

  3. Выберите Kotlin Multiplatform App в списке шаблонов проектов и нажмите Next.

    Шаблон мобильного мультиплатформенного проекта

  4. Укажите имя для вашего первого приложения и нажмите Next.

    Мобильный мультиплатформенный проект - основные настройки

  5. В открывшемся окне выполните следующие действия:

    • Не изменяйте имена по умолчанию для приложения и общих папок;
    • Установите флажок, чтобы сгенерировать образцы тестов для вашего проекта;
    • Выберите Regular framework в списке вариантов распространения iOS-фреймворка.

    Нажмите Finish, чтобы создать новый проект.

    Мобильный мультиплатформенный проект - дополнительные настройки

    Если вы хотите использовать мультиплатформенный модуль Kotlin в качестве зависимости CocoaPods, выберите опцию CocoaPods dependency manager. Чтобы узнать больше о зависимостях CocoaPods, см. раздел Интеграция CocoaPods.

Теперь подождите, пока ваш проект будет настроен. Загрузка и настройка необходимых компонентов может занять некоторое время, когда вы делаете это в первый раз.

Чтобы просмотреть полную структуру вашего мобильного мультиплатформенного проекта, переключите просмотр с Android на Project. Вы можете разобраться со структурой проекта и тем, как вы можете её использовать.

Выбор вида проекта

Запуск вашего приложения

Вы можете запустить свое мультиплатформенное приложение на Android или iOS.

Запуск вашего приложения на Android

  • В списке конфигураций запуска выберите androidApp и нажмите Run.

    Запуск мультиплатформенного приложения на Android

    Первое мультиплатформенное приложение на Android

Запуск эмулятора другого Android-устройства

Узнайте, как настроить эмулятор Android и запустить ваше приложение на другом моделируемом устройстве.

Запуск на реальном Android-устройстве

Узнайте, как настроить и подключить аппаратное устройство и запустить на нем свое приложение.

Запуск вашего приложения на iOS

  • В списке конфигураций запуска выберите iosApp и нажмите Run.

    Запуск мультиплатформенного приложения на iOS

    Первое мультиплатформенное приложение на iOS

Запуск эмулятора другого iPhone

Если вы хотите запустить свое приложение на другом симулируемом устройстве, вы можете добавить новую конфигурацию запуска.

  1. В списке конфигураций запуска нажмите Edit Configurations.

    Редактирование конфигурации запуска

  2. Нажмите кнопку + над списком конфигураций и выберите iOS Application.

    Новая конфигурация запуска для iOS-приложения

  3. Укажите название вашей конфигурации.

  4. Выберите симулируемое устройство в списке Execution target, а затем нажмите OK.

    Новая конфигурация запуска с симулятором iOS

  5. Нажмите Run, чтобы запустить ваше приложение на новом симулируемом устройстве.

Запуск на реальном iPhone

  1. Подключите iPhone к Xcode.
  2. Создайте конфигурацию запуска, выбрав iPhone в списке Execution target.
  3. Нажмите Run, чтобы запустить ваше приложение на iPhone.

Если ваша сборка завершится неудачей, следуйте инструкциям, описанным в этой issue.

Запуск тестов

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

Запуск тестов на iOS

  1. Откройте файл iosTest.kt в папке shared/src/iosTest/kotlin/com.example.kmmapplication.shared. Каталоги с именем Test содержат тесты. Этот файл содержит пример теста для iOS.

    Тестовый Kotlin-файл для iOS

  2. Нажмите на значок Run рядом с тестом.

Тесты выполняются на симуляторе без UI. Поздравляем! Тест пройден – смотрите результаты теста в консоли.

Результаты iOS-теста

Запуск тестов на Android

Для Android процесс запуска тестов очень похож на этот же процесс для iOS.

  1. Откройте файл androidTest.kt в папке shared/src/androidTest/kotlin/com.example.kmmapplication.shared.

  2. Нажмите на значок Run рядом с тестом.

Обновление вашего приложения

  1. Откройте файл Greeting.kt в папке shared/src/commonmain/kotlin/com.example.kmmapplication.shared. В этом каталоге хранится общий код для обеих платформ – Android и iOS. Если вы внесете изменения в общий код, вы увидите изменения в обоих приложениях.

    Общий Kotlin-файл

  2. Обновите общий код: используйте функцию стандартной Kotlin-библиотеки, которая работает на всех платформах и возвращает текст: reversed().

    class Greeting {
        fun greeting(): String {
            return "Guess what it is! > ${Platform().platform.reversed()}!"
        }
    }
    
  3. Запустите обновленное приложение на Android.

    Обновленное мобильное мультиплатформенное приложение на Android

  4. Запустите обновленное приложение на iOS.

    Обновленное мобильное мультиплатформенное приложение на iOS

  5. Запустите тесты на Android и iOS.

    Как вы видите, тесты проваливаются. Обновите тесты для прохождения. Вы знаете, как это сделать, верно? ;)

    iOS-тест провалился

Следующие шаги

Как только вы поиграете со своим первым кроссплатформенным мобильным приложением, вы сможете: