Spec-Zone.ru › Kotlin 2

Kotlin Multiplatform и React Native: сравнение кроссплатформенных решений

В этой статье сравниваются Kotlin Multiplatform и React Native. Kotlin Multiplatform позволяет создавать по-настоящему нативные приложения для Android и iOS с полным доступом к API платформ. KMP особенно подойдёт командам, для которых важны производительность, удобство сопровождения и нативный внешний вид, особенно при использовании Compose Multiplatform для совместного кода UI. React Native может стать хорошим выбором для команд с опытом работы с JavaScript, особенно при быстром создании прототипов.

Кроссплатформенная разработка значительно изменила подход команд к созданию приложений, позволив выпускать приложения для нескольких платформ на основе общей кодовой базы. Такой подход упрощает разработку и помогает обеспечить более единообразный пользовательский интерфейс на разных устройствах.

Раньше для разработки под Android и iOS требовалось поддерживать две отдельные кодовые базы, часто силами разных команд. Это приводило к дублированию усилий и заметным различиям между платформами. Кроссплатформенные решения ускорили вывод продуктов на рынок и повысили общую эффективность.

Среди доступных инструментов особенно выделяются Kotlin Multiplatform, React Native и Flutter — три наиболее распространённых решения. В этой статье мы подробнее рассмотрим первые два, чтобы помочь вам выбрать вариант, который лучше всего подойдёт вашему продукту и команде.

Kotlin Multiplatform и Compose Multiplatform

Kotlin Multiplatform (KMP) — это технология с открытым исходным кодом, разработанная JetBrains. Она позволяет совместно использовать код на Android, iOS, настольных платформах (Windows, macOS, Linux), в веб-приложениях и на сервере. Разработчики могут повторно использовать код на Kotlin в разных средах, сохраняя нативные возможности и производительность.

Технология набирает популярность: за год число респондентов двух последних опросов Developer Ecosystem, использующих Kotlin Multiplatform, более чем удвоилось — с 7% в 2024 году до 18% в 2025 году. Это наглядно свидетельствует о растущем интересе к технологии.

KMP usage increased from 7% in 2024 to 18% in 2025 among respondents to the last two Developer Ecosystem surveys

Discover Kotlin Multiplatform

С KMP вы можете выбрать подходящий способ совместного использования кода: от общего кода для всего приложения, кроме точек входа, до одного модуля с логикой (например, сетевого модуля или модуля базы данных) или бизнес-логики при сохранении нативного UI.

Чтобы совместно использовать код UI на разных платформах, можно воспользоваться Compose Multiplatform — современной декларативной средой JetBrains, созданной на базе Kotlin Multiplatform и Jetpack Compose от Google. Она имеет стабильную версию для iOS, Android и настольных платформ. Поддержка веб-платформы пока находится на этапе бета-тестирования.

Explore Compose Multiplatform

Kotlin Multiplatform впервые появилась в Kotlin 1.2 (2017), а в ноябре 2023 года получила стабильный статус. На Google I/O 2024 Google объявила об официальной поддержке Kotlin Multiplatform для совместного использования бизнес-логики между Android и iOS.

React Native

React Native — это фреймворк с открытым исходным кодом для разработки приложений под Android и iOS. Он использует React — библиотеку для веб-интерфейсов и нативных пользовательских интерфейсов — и нативные возможности платформы приложения. React Native позволяет разработчикам использовать JavaScript для доступа к API платформы, а также описывать внешний вид и поведение UI с помощью компонентов React — повторно используемых блоков кода, которые можно вкладывать друг в друга.

О React Native впервые объявили в январе 2015 года на React.js Conf. Позже в том же году Meta представила React Native на F8 2015 и с тех пор продолжает его развивать.

Хотя за продукт React Native отвечает Meta, экосистема React Native включает партнёров, основных участников проекта и активное сообщество. Сегодня в развитие фреймворка вносят вклад отдельные разработчики и компании со всего мира.

Kotlin Multiplatform и React Native: сравнение

Kotlin Multiplatform

React Native

Разработчик

JetBrains

Meta

Язык

Kotlin

JavaScript, TypeScript

Гибкость и повторное использование кода

Совместно используйте любые части кодовой базы — бизнес-логику и/или UI — от 1% до 100%. Внедряйте технологию постепенно или используйте её с самого начала разработки приложений с нативным внешним видом для разных платформ.

Повторно используйте бизнес-логику и компоненты UI на разных платформах — от отдельных функций до полноценных приложений. Добавляйте React Native в существующие нативные приложения, чтобы создавать новые экраны и пользовательские сценарии.

Пакеты, зависимости и экосистема

Пакеты доступны в Maven Central и других репозиториях, в том числе

klibs.io, который упрощает поиск библиотек для KMP.

В этом списке собраны наиболее популярные библиотеки и инструменты для KMP.

Библиотеки React Native обычно устанавливают из реестра npm с помощью менеджера пакетов Node.js, например npm CLI или Yarn Classic.

Инструмент сборки

Gradle (а для приложений на устройствах Apple также Xcode).

Инструмент командной строки React Native и сборщик Metro, которые под капотом запускают Gradle для Android и систему сборки Xcode для iOS.

Целевые среды

Android, iOS, веб, настольные платформы и серверная часть.

Android, iOS, веб и настольные платформы.

Поддержка веб- и настольных платформ обеспечивается проектами сообщества и партнёров, такими как React Native Web, React Native Windows и React Native macOS.

Компиляция

Компилируется в байт-код JVM для настольных платформ и Android, в JavaScript или Wasm для веба и в платформенные бинарные файлы для нативных платформ

React Native использует Metro для сборки кода JavaScript и ресурсов.

В комплект React Native входит Hermes, который при сборке компилирует JavaScript в байт-код Hermes. React Native также поддерживает JavaScriptCore в качестве движка JavaScript.

Нативный код компилируется с помощью Gradle на Android и Xcode на iOS.

Взаимодействие с нативными API

Благодаря совместимости Kotlin со Swift/Objective-C и JavaScript к нативным API можно обращаться непосредственно из кода на Kotlin.

React Native предоставляет набор API для связи нативного кода с кодом приложения на JavaScript: Native Modules и Native Components. В новой архитектуре для достижения аналогичных результатов используются Turbo Native Module и Fabric Native Components.

Отрисовка UI

Compose Multiplatform позволяет совместно использовать UI на разных платформах. Он основан на Jetpack Compose от Google и использует движок Skia, совместимый с OpenGL, ANGLE (который преобразует вызовы OpenGL ES 2 или 3 в нативные API), Vulkan и Metal.

React Native включает базовый набор независимых от платформы нативных компонентов, таких как View, Text и Image, которые напрямую соответствуют нативным элементам построения UI платформы, например UIView на iOS и android.view на Android.

Итеративная разработка UI

Предварительный просмотр UI доступен даже из общего кода.

С помощью Compose Hot Reload вы можете мгновенно видеть изменения UI, не перезапуская приложение и не теряя его состояние.

Fast Refresh — это функция React Native, которая позволяет практически мгновенно видеть изменения в компонентах React.

Компании, использующие технологию

Forbes, Todoist, McDonald's, Google Workspace, Philips, 9gag, Baidu, Autodesk, TouchLab, Instabee и другие представлены в наших примерах использования KMP.

Facebook, Instagram, Microsoft Office, Microsoft Outlook, Amazon Shopping, Mercari, Tableau, WordPress, Puma, PlayStation App и другие представлены в галерее приложений React Native.

Также вы можете ознакомиться со сравнением Kotlin Multiplatform и Flutter.

Как выбрать подходящую кроссплатформенную технологию для проекта

Выбирая кроссплатформенный фреймворк, не стоит искать универсальное решение на все случаи жизни — важно подобрать вариант, который лучше всего соответствует целям проекта, техническим требованиям и опыту команды. Правильный выбор зависит от ваших приоритетов: будь то создание многофункционального продукта со сложным UI или быстрый запуск проекта с использованием уже имеющихся навыков. Учитывайте, насколько вам важен контроль над настройкой UI, насколько важна долгосрочная стабильность и какие платформы вы планируете поддерживать.

Команде с опытом работы с JavaScript React Native может показаться практичным выбором, особенно для быстрого создания прототипов. Kotlin Multiplatform, в свою очередь, обеспечивает иной уровень интеграции: он позволяет создавать полностью нативные приложения для Android и компилировать код в нативные бинарные файлы для iOS с беспрепятственным доступом к нативным API. UI может быть полностью нативным или совместно использоваться на разных платформах с помощью Compose Multiplatform, который обеспечивает качественную отрисовку благодаря высокопроизводительному графическому движку. Поэтому KMP особенно привлекателен для команд, которым важны нативный внешний вид, удобство сопровождения и производительность, но при этом они хотят пользоваться преимуществами совместного использования кода.

Дополнительные рекомендации вы найдёте в нашей подробной статье о том, как выбрать подходящие фреймворки для кроссплатформенной разработки для следующего проекта.

Часто задаваемые вопросы

В: Готова ли Kotlin Multiplatform к использованию в промышленной разработке?

О: Kotlin Multiplatform — это стабильная технология, готовая к использованию в промышленных проектах. Это означает, что Kotlin Multiplatform можно использовать для совместного использования кода в промышленных приложениях под Android, iOS, настольные платформы (JVM), серверную часть (JVM) и веб — даже в самых консервативных сценариях применения.

Compose Multiplatform — фреймворк для создания общего UI на разных платформах на базе Kotlin Multiplatform и Jetpack Compose от Google — имеет стабильную версию для iOS, Android и настольных платформ. Поддержка веб-платформы пока находится на этапе бета-тестирования.

Чтобы узнать больше об общем направлении развития Kotlin Multiplatform, прочитайте нашу публикацию в блоге «Что дальше ждёт Kotlin Multiplatform и Compose Multiplatform».

В: Kotlin Multiplatform лучше, чем React Native?

О: У Kotlin Multiplatform и React Native есть свои преимущества. Выбор зависит от целей конкретного проекта, технических требований и опыта команды. В приведённом выше сравнении мы рассмотрели ключевые различия в таких областях, как совместное использование кода, инструменты сборки, компиляция и экосистема, чтобы помочь вам выбрать вариант, который лучше всего подходит для вашего сценария.

В: Поддерживает ли Google Kotlin Multiplatform?

О: На Google I/O 2024 Google объявила об официальной поддержке Kotlin Multiplatform на Android для совместного использования бизнес-логики между Android и iOS.

В: Стоит ли изучать Kotlin Multiplatform?

О: Если вы хотите совместно использовать код для Android, iOS, настольных платформ и веба, сохраняя нативную производительность и гибкость, изучение Kotlin Multiplatform будет полезным. Технологию развивает JetBrains, а Google официально поддерживает её на Android для совместного использования бизнес-логики между Android и iOS. Кроме того, компании, создающие кроссплатформенные приложения, всё чаще используют KMP вместе с Compose Multiplatform в промышленных проектах.

21 июля 2026 г.
Kotlin Multiplatform и Flutter: решения для кроссплатформенной разработкиПопулярные языки программирования для разработки кроссплатформенных приложений

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/multiplatform/kotlin-multiplatform-react-native.html

Spec-Zone.ru

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