Создание вашего первого кроссплатформенного мобильного приложения
Здесь вы узнаете, как создать и запустить ваше первое 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()
.`
kotlin class Greeting {fun greeting(): String { return "Guess what it is! > ${Platform().platform.reversed()}!" }
}
`
Запустите обновленное приложение на Android.
Запустите обновленное приложение на iOS.
Запустите тесты на Android и iOS.
Как вы видите, тесты проваливаются. Обновите тесты для прохождения. Вы знаете, как это сделать, верно? ;)
Следующие шаги
Как только вы поиграете со своим первым кроссплатформенным мобильным приложением, вы сможете: