ЧАВО
Что такое Kotlin Multiplatform Mobile?
Kotlin Multiplatform Mobile (KMM) — это SDK для кроссплатформенной разработки мобильных приложений. Вы можете разрабатывать мобильные приложения для нескольких платформ и совместно использовать части своих приложений между Android и iOS, такие как базовые слои, бизнес-логику, логику представления и многое другое.
Kotlin Mobile использует возможности многоплатформенности Kotlin и функции, разработанные для мобильной разработки, такие как интеграция CocoaPods и плагин Android Studio.
Вы можете посмотреть это вводное видео, в котором менеджер по продуктам Kotlin Екатерина Петрова подробно объясняет, что такое Kotlin Multiplatform Mobile и как вы можете использовать его в своих проектах. С Екатериной вы настройте среду и подготовитесь к созданию своего первого кроссплатформенного мобильного приложения с помощью 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:
Могу ли я запустить приложение для 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–2023 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