Spec-Zone.ru › Kotlin 1.7

Вопросы и ответы

Что такое 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/Native and Kotlin/JVM binaries

Какие планы на будущее развития технологии?

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.

Последнее изменение: 22 сентября 2022 г.
Примеры Представление кроссплатформенной мобильной разработки вашей команде

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API