Вопросы и ответы
Что такое Kotlin Multiplatform Mobile?
Kotlin Multiplatform Mobile (KMM) — это SDK для кроссплатформенной разработки мобильных приложений. Вы можете разрабатывать многоплатформенные мобильные приложения и использовать общие части приложений между Android и iOS, такие как базовые слои, бизнес-логика, логика представления и многое другое.
Kotlin Mobile использует возможности многоплатформенности Kotlin и функции, предназначенные для мобильной разработки, такие как интеграция CocoaPods и плагин Android Studio.
Вы можете посмотреть это вводное видео, в котором менеджер по продуктам Kotlin Ekaterina Petrova подробно объясняет, что такое Kotlin Multiplatform Mobile и как вы можете использовать его в своих проектах. С Ekaterina вы настроит среду и подготовитесь к созданию своего первого кроссплатформенного мобильного приложения с помощью Kotlin Multiplatform Mobile.
Что такое плагин Kotlin Multiplatform Mobile?
Плагин Kotlin Multiplatform Mobile для Android Studio помогает разрабатывать приложения, работающие как на Android, так и на iOS.
С помощью плагина Kotlin Multiplatform Mobile вы можете:
Запускать, тестировать и отлаживать iOS-часть вашего приложения на iOS-целях прямо из Android Studio.
Быстро создать новый многоплатформенный проект.
Добавить многоплатформенный модуль в существующий проект.
Плагин Kotlin Multiplatform Mobile работает только на macOS. Это связано с тем, что симуляторы iOS, согласно требованиям Apple, могут работать только на macOS, но не на других операционных системах, таких как Microsoft Windows или Linux.
Хорошая новость заключается в том, что вы можете работать с кроссплатформенными проектами на Android даже без плагина Kotlin Multiplatform Mobile. Если вы собираетесь работать с общим кодом или кодом, специфичным для Android, вы можете работать на любой операционной системе, поддерживаемой Android Studio.
Что такое Kotlin/Native и как оно связано с Kotlin Multiplatform Mobile?
Kotlin/Native — это технология для компиляции кода Kotlin в нативные двоичные файлы, которые могут выполняться без виртуальной машины. Она состоит из бэкенда на основе LLVM для компилятора Kotlin и нативного реализации стандартной библиотеки Kotlin.
Kotlin/Native предназначен в первую очередь для компиляции на платформы, где виртуальные машины нежелательны или невозможны, такие как встраиваемые устройства и iOS. Он особенно подходит для ситуаций, когда разработчик должен получить автономную программу, которая не требует дополнительной среды выполнения или виртуальной машины. И это именно тот случай, когда речь идёт о разработке для iOS.
Общий код, написанный на Kotlin, компилируется в байт-код JVM для Android с помощью Kotlin/JVM и в нативные двоичные файлы для iOS с помощью Kotlin/Native. Это обеспечивает бесшовную интеграцию с Kotlin Multiplatform Mobile на обеих платформах.
Какие планы на будущее развития технологии?
Kotlin Multiplatform Mobile является одним из приоритетных направлений на дорожной карте Kotlin. Чтобы увидеть, над какими частями мы работаем прямо сейчас, ознакомьтесь с подробностями дорожной карты. Большинство недавних изменений коснулись разделов Kotlin Multiplatform и Kotlin/Native.
Следующее видео представляет наши планы на следующий этап развития Kotlin Multiplatform Mobile — его продвижение к стадии Beta:
Можно ли запустить приложение iOS на Microsoft Windows или Linux?
Если вы хотите писать код, специфичный для iOS, и запускать приложение iOS на симулированном или реальном устройстве, используйте Mac с macOS (для этого воспользуйтесь плагином Kotlin Multiplatform Mobile). Это связано с тем, что симуляторы iOS могут работать только на macOS, согласно требованиям Apple, но не могут работать на других операционных системах, таких как Microsoft Windows или Linux.
Если вы собираетесь работать с общим кодом или кодом, специфичным для Android, вы можете работать на любой операционной системе, поддерживаемой Android Studio.
Где можно найти полные примеры для использования?
Несколько интерактивных руководств
В какой IDE следует работать над моим кроссплатформенным приложением?
Вы можете работать в Android Studio. Android Studio позволяет использовать плагин Kotlin Multiplatform Mobile, который является частью экосистемы Kotlin. Включите плагин Kotlin Multiplatform Mobile в Android Studio, если вы хотите писать код, специфичный для iOS, и запускать приложение iOS на симулированном или реальном устройстве. Плагин может использоваться только на macOS.
Большинство наших пользователей используют Android Studio. Однако, если есть какие-либо причины для отказа от него, есть еще один вариант: вы можете использовать IntelliJ IDEA. IntelliJ IDEA предоставляет возможность создавать многоплатформенное мобильное приложение из мастера проектов, но вы не сможете запускать приложение iOS из IDE.
Как можно писать конкурентный код в проектах Kotlin Multiplatform Mobile?
Вы можете легко писать конкурентный код в своих кроссплатформенных мобильных проектах с новым управлением памяти Kotlin/Native, который устранил предыдущие ограничения и выровнял поведение между Kotlin/JVM и Kotlin/Native. Новый менеджер памяти включен по умолчанию с Kotlin 1.7.20.
Как можно ускорить компиляцию модулей Kotlin Multiplatform для iOS?
См. эти советы по оптимизации времени компиляции Kotlin/Native.
Какие платформы поддерживаются?
Kotlin Multiplatform Mobile поддерживает разработку для:
Приложений и библиотек Android
Android NDK (ARM64 и ARM32)
Устройства Apple iOS (ARM64 и ARM32) и симуляторы
Устройства Apple watchOS (ARM64 и ARM32) и симуляторы
Технология Kotlin Multiplatform также поддерживает другие платформы, включая JavaScript, Linux, Windows и WebAssembly.
© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/multiplatform-mobile-faq.html