20 подписчиков
Этот блог, в основном, посвящен нативной разработке. Но так как я начинала с Flutter и сейчас работаю над проектом, где используется Kotlin Multiplatform, то не обойдется без упоминаний кроссплатформы.
Коротко о том, в чем разница:
– нативные приложения разрабатываются под конкретную платформу. Например, для Android. Приложение можно создать с помощью Java или Kotlin, сверстать юи с помощью View или Compose. Но его нельзя будет запустить на iOs;
– кроссплатформенные приложения можно запускать на разных операционных системах. Это не обязательно должны быть мобильные устройства, кроссплатформа также используется как на декстопе, так и в вебе.
Сейчас в мобильной разработке чаще всего встречаются Flutter, Kotlin Multiplatform и React Native. Про последний мне нечего сказать, не тыкала)
Если вы захотите создать приложение на Flutter, то придется изучить язык программирования Dart. Особенность в том, что логика и юи будут общими для платформ. То есть с помощью Dart вы описываете не только, как должно работать приложение и какие функции выполнять, но и как оно при этом выглядит. А в тех случаях, когда нужно достичь привычного вида элементов на iOs, используются Cupertino-виджеты.
KMP (Kotlin Multiplatform) делит между платформами логику. Юи остается нативным. Приходится отдельно верстать под Android и iOs.
Однако JetBrains активно развивают Compose Multiplatform, с помощью которого можно расшарить и ui. На выходе получаем привычный для андроид-разработчиков инструмент. Недавно был релиз версии 1.5.0-beta01 (на самом деле, beta02 уже тоже вышла, просто в beta01 завезли интересные для iOs вещи, типа поддержки WindowInsets или скролла, аналогично нативному). И хоть Compose для iOs пока в альфе, Jetbrains активно взаимодействуют с сообществом, чтобы сделать интерфейс максимально похожим на нативный.
Верстать для iOs на котлине, как в Compose на андроид? Дайте два 😁 Но а вообще интересно, насколько JetBrains смогут добиться схожего поведения в ui. Тем более, они могут опираться на опыт Flutter. Думаю, даже если и останутся заметные различия, то Compose Multiplatform все-равно будет использоваться и найдет место в сердечках разработчиков. Android-разработчиков уж точно)
А вы пробовали кроссплатформенную разработку?
анонимный опрос
Да, KMP
0%
Да, Flutter
0%
Да, другое (напишите в комментах, что))
0%
Нет
0%
1 минута
14 августа 2023