#kotlin_multiplatform

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 #мобильная_разработка #мобильные_приложения

2025-04-19

Какой фреймворк выбрать для MVP стартапа: опыт разработчика и фаундера

Автор: разработчик и фаундер с опытом запуска стартапов в сферах туризма , HR tech , а сейчас — в музыкальной индустрии . По образованию — Data Scientist , по призванию — Android-разработчик и продукт-менеджер . Работал в крупных продуктах вроде X5 и Uzum , где впервые познакомился с Kotlin Multiplatform Mobile (KMM) . Когда настал момент создавать прототип для своего музыкального стартапа, выбор был очевиден: я уже знал Kotlin , имел боевой опыт с KMM — и хотел быстро двигаться без лишних компромиссов. Но KMM — не единственный путь. На столе были и Flutter , и React Native , и даже классическая нативка . В этой статье я расскажу:

habr.com/ru/articles/902336/

#kotlin_multiplatform #android #ios #react_native #flutter #kotlin #software_engineering #multiplatform #startups #startup

2025-04-10

KotlinJS в GitHub Actions

GitHub Actions (GHA) — отличный инструмент для настройки CI/CD, а в GitHub Marketplace можно найти тысячи готовых GHA под любые задачи. Но всегда же найдётся процесс, который захочется настроить под себя. Тогда нам придётся написать кастомный GHA. Привет! Это Макс Качинкин, Android Tech Lead в Додо. В этой статье я покажу, как создать свой GHA на Kotlin/JS, используя плагин Kotlin Multiplatform, и поделюсь готовым шаблоном в GitHub, с помощью которого вы сможете быстро написать собственный экшен на Kotlin/JS. Погнали!

habr.com/ru/companies/dododev/

#github_actions #kotlin_js #ci_cd #kotlin_multiplatform

2025-04-10

У нас в проекте был Compose Multiplatform, но снова я бы так не делал

Мобильная разработка продолжает развиваться, но, если честно, никаких революционных прорывов в последнее время не произошло. Громкие темы, вроде Kotlin Multiplatform (KMP), Flutter, Jetpack Compose, SwiftUI, уже давно закрепились в индустрии, а новинки больше эволюционируют, чем меняют правила игры. Компании экспериментируют с кроссплатформенными решениями, и это выглядит логично. Писать общий код для iOS и Android 一 это экономия ресурсов и времени. Вроде бы верно, но на практике всё не так гладко. Привет, меня зовут Максим Плахута и с недавнего времени я руковожу Android разработкой «Кинопоиска». До этого руководил мобильной разработкой Почты Яндекс. А ещё я участник ПК новой конференции по мобильной разработке Apps Conf . Расскажу, какие шишки набили в реализации кроссплатформенного проекта и чего лучше не делать в современной мобильной разработке.

habr.com/ru/companies/oleg-bun

#kotlin_multiplatform #flutter #jetpack_compose #swiftui #потоковая_передача_данных #api #android #ios #ui_ux #кроссплатформенность

2025-03-28

Автоматизация версионирования в Kotlin Multiplatform: Решение для Android и iOS

Привет, Хабр! В этой статье я делюсь решением, как настроить версионирование приложения для Android и iOS с помощью Kotlin Multiplatform. Я рассказываю о том, как минимизировать человеческий фактор, автоматизировав процесс обновления версий, и как избежать дублирования информации в разных частях проекта. В статье представлен пример кода, который можно адаптировать под свой проект.

habr.com/ru/articles/895362/

#kmp #multiplatform #versioning #android #ios #compose_multiplatform #kotlin_multiplatform #kmm #mobile #kotlin

2025-03-03

Заезжаем в Kotlin Multiplatform. Но какой ценой?

Привет! Меня зовут Денис, я занимаюсь коммерческим программированием уже более 15 лет, управляю командами с 2017 года, работал в Яндексе, TradingView, Skillbox, Arcadia. В статье вы узнаете историю, как написать целый проект на Kotlin Multiplatform, сколько это стоит и сколько обойдется интеграция с точки зрения цифр. Этот доклад - текстовая версия моего выступления с осеннего Мобиуса 2024 года. Обязательно приложу видео с выступлением после выхода. Что в статье?

habr.com/ru/articles/887574/

#Kotlin #kotlin_multiplatform #android #ios #разработка_приложений #разработка

2025-03-03

Delight SQL Viewer: отладка SQLDelight-базы прямо в приложении

Привет! Хочу поделиться инструментом, который значительно упростит жизнь тем, кто использует SQLDelight для работы с базами данных в Kotlin Multiplatform-проектах. Этот инструмент называется Delight SQL Viewer .

habr.com/ru/articles/886214/

#kotlin_multiplatform #sqldelight #compose_multiplatform #sqlite

2025-01-22

Спасти проект: с какими трудностями мы столкнулись при разработке и поддержке мобильной кроссплатформы

Современный рынок мобильных приложений достиг огромных масштабов в связи с общедоступностью смартфонов. Большая часть жизни современного человека проходит с гаджетом в руках. В результате почти каждая компания желает иметь собственное мобильное приложение для удобства клиентов, повышения конкурентоспособности и увеличения прибыли бизнеса. Для получения наибольшего охвата аудитории необходимо покрыть максимальное количество мобильных платформ, главными столпами которых являются две противоположные и конкурирующие операционные системы — Android и iOS. Встает классический вопрос: какое разрабатывать приложение — нативное, под каждую ОС или единую кроссплатформу? Привет, я Android-разработчик IT-компании SimbirSoft Владислав. В этой статье расскажу, с какими трудностями мы столкнулись на одном из проектов кроссплатформенной разработки Kotlin Multiplatform (KMP), как команда SimbirSoft с ними справилась и почему кроссплатформа не всегда лучший выбор. Данная статья будет полезна как для разработчиков, так и для предпринимателей, которые решили создать мобильное приложение для своего бизнеса и думают над выбором технологии. Читать далее ▶️

habr.com/ru/companies/simbirso

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

2025-01-21

Как синтаксический сахар Kotlin может сломать вам логику работы приложения

Как использование object и data class сломало работу моего приложения и какие уроки я вынес про синтаксический сахар Kotlin и IDEA, которая так сладко предлагает замены Подробности

habr.com/ru/articles/875460/

#andorid #kotlin #compose #data_class #kotlin_multiplatform

2024-11-21

Кроссплатформа, зови меня победителем

Привет, это оргкомитет CrossConf Awards — первой премии в области кроссплатформенной разработки. 8 ноября мы вручили награды кроссплатформенным проектам в номинациях Indusrty, Technology и Community. Это было очень волнительно, потому что выбрать, кто лучше всех — большая ответственность. В этой статье расскажем, почему мы решили делать премию, как боролись с когнитивными искажениями при оценке более 100 заявок от 70 технологичных компаний, а также отметим тренды, которые можно проследить в технологическом стеке и подходах победителей.

habr.com/ru/companies/friflex/

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

2024-09-27

Прочие оптимизации кода Gradle Convention Plugins, выводы по результатам использования подхода

Всем привет! На связи Дима Котиков, и мы завершаем цикл статей о том, как облегчить себе жизнь и уменьшить boilerplate в gradle-файлах. В предыдущих статьях мы подготовили и настроили базовый модуль для написания Gradle Convention Plugins , написали несколько convention-плагинов в файлах -.gradle.kts , сделали еще один модуль и создали convention-плагины на базе kotlin-классов . В заключительной части мы немного порефакторим написанный код, попытаемся настроить области видимости convention-плагинов и extension-функций для конфигурации сборки, а также подведем итоги.

habr.com/ru/companies/tbank/ar

#Gradle_Convention_Plugins #Gradle #Kotlin #Android #Kotlin_Multiplatform

2024-09-24

Создание Convention Plugin-ов на базе Kotlin-классов

Всем привет! На связи Дима Котиков и мы продолжаем разговор о том, как облегчить себе жизнь и уменьшить bolierplate в gradle-файлах. В предыдущих статьях мы сделали отдельный модуль для написания Convention Plugins , провели необходимые настройки и написали несколько Convention Plugin-ов в "-.gradle.kts"-файлах . В этой части мы будем создавать Convention Plugin-ы на базе Kotlin-классов.

habr.com/ru/companies/tbank/ar

#Gradle_Convention_Plugins #Gradle #Kotlin #Android #Kotlin_Multiplatform

2024-09-21

Взаимодействие с клавиатурой в Compose: особенности и подводные камни

Привет, Хабр! На связи Глеб Гутник, мобильный разработчик из компании xStack. В этой статье мы рассмотрим, как можно эффективно кастомизировать взаимодействие с клавиатурой в Jetpack Compose и Compose Multiplatform для создания комфортного UX. Для того, чтобы пользователь мог полноценно взаимодействовать с интерфейсом, мы, мобильные разработчики, ежедневно решаем простую, казалось бы, задачу: поля ввода формы на экране всегда должны быть видны и находиться выше клавиатуры. На Android для этого предусмотрен флаг android:windowSoftInputMode="adjustResize" , но он сжимает окно приложения без учета анимации клавиатуры, поэтому пользователь видит пустое поле долю секунды, пока клавиатура открывается:

habr.com/ru/articles/845124/

#kmp #kotlin #kotlin_multiplatform #compose_multiplatform #jetpack_compose

Client Info

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