Создание вашего первого кроссплатформенного мобильного приложения
Здесь вы узнаете, как создать и запустить ваше первое Kotlin Multiplatform Mobile приложение.
Вы также можете посмотреть видео этого урока, созданное Екатериной Петровой.
Настройте среду для кроссплатформенной мобильной разработки, установив необходимые инструменты для подходящей операционной системы.
Вам понадобится Mac с macOS для выполнения определенных шагов в этом руководстве, которые включают написание специфичного для iOS кода и запуск iOS-приложений.
Работать с iOS в других операционных системах, таких как Microsoft Windows, нельзя. Это связано с требованием Apple.
В Android Studio выберите File | New | New Project.
Выберите Kotlin Multiplatform App в списке шаблонов проектов и нажмите Next.
Укажите имя для вашего первого приложения и нажмите Next.
В открывшемся окне выполните следующие действия:
- Не изменяйте имена по умолчанию для приложения и общих папок;
- Установите флажок, чтобы сгенерировать образцы тестов для вашего проекта;
- Выберите Regular framework в списке вариантов распространения iOS-фреймворка.
Нажмите Finish, чтобы создать новый проект.
Если вы хотите использовать мультиплатформенный модуль Kotlin в качестве зависимости CocoaPods, выберите опцию CocoaPods dependency manager. Чтобы узнать больше о зависимостях CocoaPods, см. раздел Интеграция CocoaPods.
Теперь подождите, пока ваш проект будет настроен. Загрузка и настройка необходимых компонентов может занять некоторое время, когда вы делаете это в первый раз.
Чтобы просмотреть полную структуру вашего мобильного мультиплатформенного проекта, переключите просмотр с Android на Project. Вы можете разобраться со структурой проекта и тем, как вы можете её использовать.
Запуск вашего приложения
Вы можете запустить свое мультиплатформенное приложение на Android или iOS.
Запуск вашего приложения на Android
В списке конфигураций запуска выберите androidApp и нажмите Run.
Запуск эмулятора другого Android-устройства
Узнайте, как настроить эмулятор Android и запустить ваше приложение на другом моделируемом устройстве.
Запуск на реальном Android-устройстве
Узнайте, как настроить и подключить аппаратное устройство и запустить на нем свое приложение.
Запуск вашего приложения на iOS
В списке конфигураций запуска выберите iosApp и нажмите Run.
Запуск эмулятора другого iPhone
Если вы хотите запустить свое приложение на другом симулируемом устройстве, вы можете добавить новую конфигурацию запуска.
В списке конфигураций запуска нажмите Edit Configurations.
Нажмите кнопку + над списком конфигураций и выберите iOS Application.
Укажите название вашей конфигурации.
Выберите симулируемое устройство в списке Execution target, а затем нажмите OK.
Нажмите Run, чтобы запустить ваше приложение на новом симулируемом устройстве.
Запуск на реальном iPhone
- Подключите iPhone к Xcode.
- Создайте конфигурацию запуска, выбрав iPhone в списке Execution target.
- Нажмите Run, чтобы запустить ваше приложение на iPhone.
Если ваша сборка завершится неудачей, следуйте инструкциям, описанным в этой issue.
Запуск тестов
Вы можете запустить тесты, чтобы проверить правильность работы общего кода на обеих платформах. Конечно, вы также можете писать и запускать тесты для проверки кода, специфичного для конкретной платформы.
Запуск тестов на iOS
Откройте файл
iosTest.kt
в папкеshared/src/iosTest/kotlin/com.example.kmmapplication.shared
. Каталоги с именемTest
содержат тесты. Этот файл содержит пример теста для iOS.Нажмите на значок Run рядом с тестом.
Тесты выполняются на симуляторе без UI. Поздравляем! Тест пройден – смотрите результаты теста в консоли.
Запуск тестов на Android
Для Android процесс запуска тестов очень похож на этот же процесс для iOS.
Откройте файл
androidTest.kt
в папкеshared/src/androidTest/kotlin/com.example.kmmapplication.shared
.Нажмите на значок Run рядом с тестом.
Обновление вашего приложения
Откройте файл
Greeting.kt
в папкеshared/src/commonmain/kotlin/com.example.kmmapplication.shared
. В этом каталоге хранится общий код для обеих платформ – Android и iOS. Если вы внесете изменения в общий код, вы увидите изменения в обоих приложениях.Обновите общий код: используйте функцию стандартной Kotlin-библиотеки, которая работает на всех платформах и возвращает текст:
reversed()
.class Greeting { fun greeting(): String { return "Guess what it is! > ${Platform().platform.reversed()}!" } }
Запустите обновленное приложение на Android.
Запустите обновленное приложение на iOS.
Запустите тесты на Android и iOS.
Как вы видите, тесты проваливаются. Обновите тесты для прохождения. Вы знаете, как это сделать, верно? ;)
Следующие шаги
Как только вы поиграете со своим первым кроссплатформенным мобильным приложением, вы сможете: