#kotlin_multiplatform

2026-01-28

Что нам стоит на КМП построить?

Рассказываю с цифрами в руках о сокращении трудозатрат разработки под несколько платформ при использовании Kotlin Multiplatform

habr.com/ru/articles/989286/

#kotlin_multiplatform #ios #android

2026-01-19

Удалил сервер из мессенджера. Как общаться по P2P в 2026 году без метаданных и Google Services. Личный опыт и KMP

Помните обещания об «абсолютной приватности»? Марк клялся, Павел обещал, но в 2025-м новости о мессенджерах всё больше напоминали сводки с фронта: утечки сотен гигабайт переписки, найденные бэкдоры и данные, внезапно ставшие доступными «третьим лицам». Пока большинство проектов пытается защитить серверную часть или внедрить еще более сложные протоколы шифрования, я решил пойти другим путем: просто убрать сервер из этой цепочки. В чем реальная уязвимость сигнальных серверов Многие мессенджеры гордятся стойкостью шифрования - AES-ключи, обфускация трафика и борьба с DPI выглядят солидно. Но остается один критический нюанс: у них всё равно есть сервер. Даже если его называют «сигнальным» и говорят, что он нужен только для установления связи, это всё равно точка сбора данных. Если данные где-то собираются, за ними рано или поздно придут. Будь то хакерская атака или официальный запрос - метаданные (кто, когда и с кем общался) могут рассказать о вас больше, чем само содержание сообщений. Ну и наконец в серверную могут просто прийти уполномоченные люди которые потребуют предоставить доступ ко всему ).

habr.com/ru/articles/986700/

#WebRTC #Kotlin_Multiplatform #P2P #Информационная_безопасность #Приватность #Сетевые_технологии #Android_разработка #Бессерверная_архитектура #Метаданные #Разработка_мессенджеров

2026-01-12

Navigation3 + Koin в Compose Multiplatform

В этой статье я бы хотел поделиться своими наработками по тому, как можно удобно совмещать библиотеку Navigation3 и Koin в Compose Multiplatform проекте и какие подводные камни есть на текущий момент.

habr.com/ru/articles/984552/

#compose_multiplatform #kotlin_multiplatform #kmp #navigation3 #koin

2026-01-07

Анимация смены темы в Compose Multiplatform

Анимация смены темы в Android-версии Telegram на протяжении долгого времени вдохновляет разработчиков на попытки реверс-инжениринга этого красивого трюка: в сети немало подробных гайдов, как сделать подобную анимацию при помощи традиционных XML View и даже Flutter. Но реализаций этой элегантной (хоть и совершенно бесполезной) анимации на Jetpack Compose мне найти так и не удалось, что привело к созданию маленькой библиотеки для анимирования смены темы. Вера в будущее KMP также подтолкнула меня к тому, чтобы сделать ее из коробки готовой к установке в Compose-Multiplatform проекты, с поддержкой всех основных платформ (Android, iOS, Desktop JVM, Web WASM+JS). Хотя сама библиотека вышла крайне компактной, ее реализация оказалась довольно нетривиальной на мой субъективный взгляд и может быть интересна каждому, кто изучает Compose или ищет подобные решения для своего проекта. На старте написания библиотеки сами собой возникли ряд требований, которым она должна была отвечать:

habr.com/ru/articles/983488/

#compose_multiplatform #kotlin_multiplatform #jetpack_compose #android #animations

2025-12-02

Как мы создали деплой-инструмент для 100+ серверов на Jetpack Compose и GitLab API

Всем привет! Меня зовут Сергей, и я Backend Kotlin разработчик в компании занимающейся разработкой систем повышающую безопасность дорожного движения. И я расскажу, как мы с помощью Jetpack Compose и GitLab API упростили процесс деплоя на 100+ распределённых серверов, повысив при этом удобство и предсказуемость процесса.

habr.com/ru/articles/972588/

#jetpack_compose #deployment #deploy #deployment_tools #kotlin #kotlin_multiplatform #kotlin_coroutines #gitlab #git #ci

2025-10-24

От Android до кроссплатформы за 3 дня: опыт адаптации приложения под CMP

Привет! Я Тимур, разработчик мобильных приложений в KTS . В прошлом году мы решали любопытную задачу. Нам нужно было вдвоем за одну рабочую неделю собрать прототип мобильного приложения для сервиса бронирования отелей. Задача осложнялась тем, что заказчик рассматривал не только нашу команду на роль подрядчика. Мы не могли отдать сырой черновик, в котором просто нажимаются нужные кнопки и работают ключевые сценарии — мы должны были превзойти конкурентов-флаттеристов. И нам удалось это сделать с помощью KMP. Да, тема довольно холиварная, и в статье я не заявляю, что KMP лучше Flutter’а во всем. Каждая технология хороша под свои задачи. Вместо этого я расскажу о конкретном проекте, на котором KMP оказался более удачным выбором. Также коснусь вопросов архитектуры и миграции Android-приложения на iOS с помощью CMP, а заодно подсвечу подводные камни, с которыми пришлось разбираться в процессе.

habr.com/ru/companies/kts/arti

#kmp #CMP #kotlin_multiplatform_mobile #kotlin_multiplatform #mobile_development

2025-10-13

UI Kit как рычаг роста: как связать Figma и код

Как превратить UI Kit из дизайнерского артефакта в живую систему, где обновление стиля в Figma автоматически обновляет код на Android. В статье — наш путь от ручного копирования палитр до генерации типобезопасных токенов через KotlinPoet, Gradle-плагины и Figma JSON. Расскажу, как бизнес получает скорость и консистентность, как темная тема перестаёт быть болью, и почему iOS может безболезненно присоединиться к этой архитектуре.

habr.com/ru/articles/956130/

#ui_kit #design_system #android #kotlin_multiplatform #kotlin

2025-09-09

Натив, Flutter или KMP — выбираем мобильный фреймворк для e-commerce

В 2025 году уже недостаточно просто выпустить приложение — оно должно быстро адаптироваться к изменениям рынка, удобно и эффективно интегрироваться с новыми технологиями и обеспечивать хороший пользовательский опыт. Но что лучше выбрать: нативную разработку, кроссплатформу, или Kotlin Multiplatform? Александр Кияйкин, CTO компании по разработке мобильных приложений CleverPumpkin , разбирает эти три подхода и сравнивает плюсы и минусы каждой технологии.

habr.com/ru/companies/cleverpu

#ecommerce #ecommerce_разработка #мобильная_разработка #нативная_мобильная_разработка #kotlin_multiplatform #кроссплатформа

2025-08-28

Выход iOS 26. Почему нативная разработка — это преимущество и необходимость

Flutter сталкивается с новыми ограничениями, а релиз iOS 26 вносит большие изменения в нативный UI. В статье расскажем, почему выбор именно нативных технологий помогут продуктам оставаться конкурентоспособными.

habr.com/ru/companies/cleverpu

#ios26 #flutter #flutter_mobile_development #kotlin_multiplatform #нативная_мобильная_разработка

2025-08-07

Kick: Kotlin Inspection & Control Kit — единый модульный инструмент отладки прямо в приложении

При разработке и тестировании приложений порой требуется заглянуть под капот - проанализировать HTTP-трафик или проверить кэш данных в базе данных. Ранее для этих целей мы использовали Inspektify и Delight SQL Viewer . Но в какой-то момент нам понадобился еще и удобный доступ к логам приложения и тащить ещё одно отдельнее решение не хотелось. Был нужен один инструмент, который объединит всё самое необходимое в одном месте. Так появился Kick — расширяемый модульный набор инструментов, позволяющий разработчикам и тестировщикам легко инспектировать приложение.

habr.com/ru/articles/932992/

#multiplatform #kotlin_multiplatform #android #ios #desktop #compose #compose_multiplatform

2025-08-02

Простая минификация Json тел запросов / ответов с Kotlin Serialization

Привет! Недавно в рамках одного из проектов на стеке KMP, Ktor и Kotlin Serialization мы с командой решили провести эксперимент и определить возможность и целесобразность минификации тел запросов / ответов на Json. Да, мы знаем про GraphQL, Protobuf и др., но в нашем случае имел место необузданный интерес наколхозить такое решение. И при всей его наивности удалось сократить средний размер итоговых джсонов (после всех внутренних оптимизаций) на 15-20%.

habr.com/ru/articles/933474/

#kotlin #kmp #kotlin_multiplatform #ktor #json #kotlin_serialization #оптимизация_запросов #http #архитектура #сериализация

2025-07-07

Как Android-разработчик в iOS погружался: мой опыт внедрения Kotlin Multiplatform

Привет, Хабр! Меня зовут Артем Клименко, я Lead Android-разработчик в МТС Web Services, занимаюсь продуктом Membrana Kids. Продукт создавали нативно на каждую платформу, без пересечения кода. В начале года у нас ушло несколько iOS-разработчиков, из-за чего замедлилась поставка новых функций на обеих платформах. Мы решили, что это повод внедрить наконец кроссплатформенную разработку и выровнять поставку фич на обеих платформах. В этом материале расскажу, почему мы остановились на KMP , как погружались в iOS c опытом в Android и как прошло внедрение этого фреймворка. Спойлер: быстрее и проще, чем мы думали.

habr.com/ru/companies/ru_mts/a

#kmp #kotlin_multiplatform #coroutines #multiplatform #мультиплатформенная_разработка #мобильная_разработка #ios #android

2025-06-08

В новом Android плагине `com.android.kotlin.multiplatform.library`, созданном для поддержки Android в Kotlin Multiplatform, всё же не стали добавлять поддержку android build variants и product flavors. Выставляют это как преимущество (я вроде даже и согласен, а вроде и нет).

developer.android.com/kotlin/m

#android #kotlin_multiplatform

2025-06-05

40 ударов палкой и Kotlin Multiplatform: как устроена мобильная разработка в Катаре (интервью)

Привет! Я Максим Мялкин, управляющий партнер и руководитель мобильной разработки в KTS . Сегодня я хочу поделиться историей моего знакомого и бывшего студента Сергея Ракова. Его карьера сложилась довольно необычным образом: от инженера-конструктора в Богородицке он прошел путь до Android-разработчика в Катаре. Недавно мы провели с ним интервью и обсудили, тяжело ли ему далась смена профессии, чем занимается его компания и почему для разработки мобильного приложения они выбрали KMP. Также коснулись темы культурных особенностей. Да, заголовок — не кликбейт, в Катаре по-прежнему существуют телесные наказания. Историю о них мы расскажем в конце; забегая вперед, знакомые Сергея поплатились таким образом за пьяное вождение (осуждаем).

habr.com/ru/companies/kts/arti

#kotlin #kotlin_multiplatform #kmp #катар #Snoonu #эмиграция #культура #интервью

2025-06-05

Kotlin Multiplatform в ОС Аврора

Привет, Хабр! На связи Виталий Зарубин , ведущий разработчик в Открытой мобильной платформе . В этой статье хочу рассказать о текущей поддержке Kotlin Multiplatform в операционной системе Аврора. Показать, как создать приложение с модулем Kotlin Multiplatform, используя наши новые инструменты. Мы напишем демонстрационное приложение, отображающее взаимодействие KMP и ОС Аврора.

habr.com/ru/articles/915728/

#kotlin #ос_аврора #kmp #qtbindings #kotlin_multiplatform #kotlin_native #кроссплатформенность #кроссплатформенная_разработка #coroutines #gradle

2025-05-24

Развеиваем мифы о Stability в Compose: оптимизации Strong Skipping

За последнее время Jetpack Compose и его кроссплатформенный собрат Compose Multiplatform прошел большой путь от ранних альфа релизов и скептического отношения комьюнити до статуса главного UI-фреймфорка под Android и production-ready состояния на iOS. Тем не менее одна из важных тем, касающихся runtime-производительности фреймворка, все еще остается полной темных пятен, и это тема stability. Как ни странно, ведь на эту тему сделано множество статей и докладов. Проблема заключается в том, что стремительное развитие фреймворка очень быстро делает эти статьи, доклады и даже документацию устаревшими, а новые посты на эту тему вторят старым, дальше распространяя ложную информацию о том, как работает рекомпозиция, пропускаемость (skippability) и перезапускаемость (restartability). Использование LLM для получения актуальной информации не очень поможет. Простой пример - спросим у ChatGPT, будет ли перезапущена Composable функция, если она имеет нестабильные аргументы, и получим неправильный ответ:

habr.com/ru/articles/912490/

#kotlin_multiplatform #compose_multiplatform #jetpack_compose

2025-05-22

Google I/O 2025. Что нового в Android

Всем привет! С вами Анна Жаркова, руководитель практики по мобильному направлению из компании Usetech. Прошли 2 дня Google I/O и живых сессий и воркшопов, новинки уже представлены, не все туториалы и плейлисты еще не выложены, но у нас уже есть, что обсудить. Поговорим мы не с AI, хотя про него сегодня тоже будет, а об Android. Все аспекты мы затронуть не сможем, все-таки информации было очень много, а по каждой из новинке можно писать и отдельную статью, и даже доклад. Поэтому рассмотрим наиболее яркие моменты.

habr.com/ru/companies/usetech/

#google_io #google_io_2025 #android #jetpack_compose #compose #kotlin_multiplatform #gemini #ai

2025-05-18

KStorage — единый подход к key-value хранилищам на Kotlin Multiplatform

Типобезопасное Key-Value хранилище для Kotlin Multiplatform. Единый API без боли, бойлерплейта и потери рассудка Прочитать и убрать бойлерплейт из проекта

habr.com/ru/articles/910392/

#android #keyvalue_storage #keyvalue #data #store #kotlin #kotlin_multiplatform #coroutines

2025-05-13

Kotlin Multiplatform: как писать код один раз и покорить все платформы

Kotlin Multiplatform — это подход, который позволяет делить до 80% кода между Android, iOS, backend и вебом, не жертвуя нативностью. В статье — без лишнего пафоса о том, как устроена архитектура KMP, чем она отличается от Flutter и React Native, как работает сборка, где границы общего и платформенного кода и почему это решение подходит командам, стремящимся к эффективности без компромиссов.

habr.com/ru/companies/otus/art

#kotlin #kotlin_multiplatform #kotlin_dsl #кроссплатформенная_разработка #KMP_архитектура

2025-05-07

Compose Multiplatform 1.8.0: поддержка iOS переходит в stable

Привет! Меня зовут Максим, я управляющий партнер и руководитель мобильной разработки в KTS . Мы разрабатываем приложения на KMP еще с 2021 года, а в прошлом году начали экспериментировать с Compose Multiplatform. Вчера JetBrains официально объявили о выходе CMP 1.8.0 , c которой поддержка iOS переходит в статус stable . Это важный этап, поскольку теперь CMP можно всерьез рассматривать как основу для кроссплатформенной мобильной разработки. В этой статье мы познакомимся с обновлением и рассмотрим заявленные фишки, а заодно поговорим о результатах наших опытов с CMP на ‭наших проектах.

habr.com/ru/companies/kts/arti

#compose_multiplatform #кроссплатформенность #кроссплатформенная_разработка #обновление #kotlin_multiplatform #kotlin #мобильная_разработка #мобильные_приложения

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst