Комментарии 6
Для тех, кто совсем от всего этого далёк: можно ли перевести полностью на Kotlin MPP систему типа:
- классический веб-бэкенд, отдающий html для показа в браузере с вкраплениями JS (пускай на JPython)
- http api веб-бэкенд (пускай тоже на JPython)
- websocket бэкенд на nodejs
- SPA веб-фронтенд браузерный (на реакте, например, сейчас)
- нативное android приложение
- ios приложение на react native
Из поста пока понятно, что последние два пункта можно, но, похоже, ios приложение надо будет переделывать с нуля, реакт использовать не получится.
0
Бекенд можно писать так же, как на джаве, андроид приложение пишется на котлине полностью, с реакт нейтив, насколько я знаю, интеропа нет. Нужен ли там именно MPP зависит исключительно от того, сколько кода будет переиспользоваться.
+1
При желании можно. Любую из обозначенных функциональностей можно реализовать на средствах из экосистемы котлина. Часть можно в мультиплатформе делать, часть достаточно обычного котлин на jvm. Насчёт мобилок — есть 2 подхода, либо вынести бизнес логику в мультиплатформу и оставить только ui (который в принципе без разницы как отрисовывать, хоть тем же react native, однако в этом случае придётся писать дополнительный связующий код). Либо перенести и ui слой в мультиплатформу, интероп с платформенными ui-компонентами также присутствует. Но это уже будет полностью новое приложение. Изучать тему можно начать с kotlinlang.org, там есть разводящая по интересующим вопросам.
+1
Просто мне не понятны границы между Kotlin (как я понимаю, все три бэкенда и андроид нативно можно писать, без MPP) и Kotlin MPP. Второе — подмножество первого, надмножество или это пересекающиеся множества?
0
MPP это про создание проекта сразу под несколько бэкендов. Он добавляет в проект модуль common, в котором можно писать код с зависимостями от других MPP библиотек или своих expect/actual. К примеру ktor от Jetbrains сейчас поддерживает все платформы, и при желании можно написать в common модуле код для общения с HTTP API и использовать его в JS, iOS, Android (всего таргетов примерно 10, включая что-нибудь вроде Apple Watch / Raspberry Pi).
+1
Аж захотелось для iOS что-нибудь написать для анализа трафика в сети )
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Почему мы выбрали Kotlin одним из целевых языков компании. Часть 2: Kotlin Multiplatform