Kotlin Multiplatform для мобильных платформ: вопросы и ответы
Что такое Kotlin Multiplatform для мобильных платформ?
Kotlin Multiplatform для мобильных платформ — это SDK для кроссплатформенной разработки мобильных приложений. Вы можете разрабатывать мобильные приложения для нескольких платформ и использовать общие части вашего приложения между Android и iOS, такие как базовые слои, бизнес-логика, логика представления и многое другое.
Kotlin Mobile использует возможности многоплатформенности Kotlin и функции, разработанные для мобильной разработки, такие как интеграция CocoaPods и плагин Android Studio.
Вы можете посмотреть это вступительное видео, в котором менеджер по маркетингу продуктов Kotlin Екатерина Петрова подробно объясняет, что такое Kotlin Multiplatform для мобильных платформ и как вы можете использовать его в своих проектах. Вместе с Екатериной вы настройте среду и подготовитесь к созданию своего первого кроссплатформенного мобильного приложения с помощью Kotlin Multiplatform.
Можно ли использовать общие пользовательские интерфейсы с Kotlin Multiplatform?
Да, вы можете использовать общие пользовательские интерфейсы с помощью Compose Multiplatform, декларативной среды разработки пользовательских интерфейсов JetBrains, основанной на Kotlin и Jetpack Compose. Эта среда позволяет создавать общие компоненты пользовательского интерфейса для таких платформ, как iOS, Android, настольные компьютеры и веб, помогая вам поддерживать единый пользовательский интерфейс на различных устройствах и платформах.
Дополнительную информацию можно найти в вопросах и ответах Compose Multiplatform.
Что такое плагин 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?
Kotlin/Native — это технология для компиляции кода Kotlin в нативные двоичные файлы, которые могут выполняться без виртуальной машины. Она включает в себя LLVM-оболочку для компилятора Kotlin и нативное реализацию стандартной библиотеки Kotlin.
Kotlin/Native в первую очередь предназначен для компиляции на платформы, где виртуальные машины нежелательны или невозможны, такие как встроенные устройства и iOS. Он особенно подходит для ситуаций, когда разработчику необходимо создать автономную программу, не требующую дополнительной среды выполнения или виртуальной машины. И это именно тот случай с разработкой для iOS.
Общий код, написанный на Kotlin, компилируется в байткод JVM для Android с помощью Kotlin/JVM и в нативные двоичные файлы для iOS с помощью Kotlin/Native. Это обеспечивает бесшовную интеграцию с Kotlin Multiplatform на обеих платформах.
Какие планы на дальнейшее развитие технологии?
Kotlin Multiplatform — одна из приоритетных областей в дорожной карте Kotlin. Чтобы узнать, над какими частями мы работаем прямо сейчас, ознакомьтесь с подробностями дорожной карты. Большинство последних изменений затрагивают разделы Kotlin Multiplatform и Kotlin/Native.
В этом видео представлено текущее состояние и наши планы для Kotlin Multiplatform для мобильной разработки:
Можно ли запустить приложение iOS на Microsoft Windows или Linux?
Если вы хотите писать код, специфичный для iOS, и запускать приложение iOS на симулированном или реальном устройстве, вам потребуется Mac с macOS (используйте плагин Kotlin Multiplatform Mobile). Это связано с тем, что эмуляторы iOS, по требованиям Apple, могут работать только на macOS и не могут запускаться на других операционных системах, таких как 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?
Вы можете легко писать конкурентный код в своих кроссплатформенных мобильных проектах с новым менеджером памяти Kotlin/Native, который устранил предыдущие ограничения и выровнял поведение между Kotlin/JVM и Kotlin/Native. Новый менеджер памяти по умолчанию включен с Kotlin 1.7.20.
Как ускорить компиляцию модуля Kotlin Multiplatform для iOS?
Смотрите эти советы по улучшению времени компиляции Kotlin/Native.
Какие платформы поддерживаются?
Kotlin Multiplatform поддерживает разработку для:
Приложений и библиотек для Android
Android NDK (ARM64 и ARM32)
Устройств и симуляторов Apple iOS
Устройств и симуляторов Apple watchOS
Технология 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