home.social

#kotlin_multiplatform — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #kotlin_multiplatform, aggregated by home.social.

fetched live
  1. Kotlin: про Structured Concurrency, CoroutineContext и CoroutineScope

    Разбираемся с Kotlin Corouitines - какие идеи заложены и чем отличается CoroutineContext от CoroutineScope Интересно?

    habr.com/ru/articles/1067510/

    #kotlin_coroutines #kotlin #kotlin_multiplatform #structured_concurrency #scope #coroutines #context

  2. Kotlin: про Structured Concurrency, CoroutineContext и CoroutineScope

    Разбираемся с Kotlin Corouitines - какие идеи заложены и чем отличается CoroutineContext от CoroutineScope Интересно?

    habr.com/ru/articles/1067510/

    #kotlin_coroutines #kotlin #kotlin_multiplatform #structured_concurrency #scope #coroutines #context

  3. Kotlin: про Structured Concurrency, CoroutineContext и CoroutineScope

    Разбираемся с Kotlin Corouitines - какие идеи заложены и чем отличается CoroutineContext от CoroutineScope Интересно?

    habr.com/ru/articles/1067510/

    #kotlin_coroutines #kotlin #kotlin_multiplatform #structured_concurrency #scope #coroutines #context

  4. Аутентификация через биометрию в Kotlin Multiplatform или Koncierge

    Наконец-то неплохо продвинувшись в написании своего мультиплатформенного приложения Modern Money мне понадобилась аутентификация для Kotlin Multiplatform. Хотелось иметь один API для PIN-кода и биометрии, а под капотом использовать Android Biometric Prompt, Windows Hello, Touch ID. Так появился Koncierge — набор KMP-модулей biometric , auth и auth-compose Казалось бы, задача довольно стандартная: объявить expect -класс и написать несколько actual -реализаций. На Android это примерно так и получилось. А вот Windows Hello, JVM-модуль и публикация всех артефактов заставили немного разобраться в том, как Kotlin работает с нативным кодом

    habr.com/ru/articles/1059174/

    #kotlin_multiplatform #kotlin #kotlin_native #compose_multiplatform #native

  5. Аутентификация через биометрию в Kotlin Multiplatform или Koncierge

    Наконец-то неплохо продвинувшись в написании своего мультиплатформенного приложения Modern Money мне понадобилась аутентификация для Kotlin Multiplatform. Хотелось иметь один API для PIN-кода и биометрии, а под капотом использовать Android Biometric Prompt, Windows Hello, Touch ID. Так появился Koncierge — набор KMP-модулей biometric , auth и auth-compose Казалось бы, задача довольно стандартная: объявить expect -класс и написать несколько actual -реализаций. На Android это примерно так и получилось. А вот Windows Hello, JVM-модуль и публикация всех артефактов заставили немного разобраться в том, как Kotlin работает с нативным кодом

    habr.com/ru/articles/1059174/

    #kotlin_multiplatform #kotlin #kotlin_native #compose_multiplatform #native

  6. Аутентификация через биометрию в Kotlin Multiplatform или Koncierge

    Наконец-то неплохо продвинувшись в написании своего мультиплатформенного приложения Modern Money мне понадобилась аутентификация для Kotlin Multiplatform. Хотелось иметь один API для PIN-кода и биометрии, а под капотом использовать Android Biometric Prompt, Windows Hello, Touch ID. Так появился Koncierge — набор KMP-модулей biometric , auth и auth-compose Казалось бы, задача довольно стандартная: объявить expect -класс и написать несколько actual -реализаций. На Android это примерно так и получилось. А вот Windows Hello, JVM-модуль и публикация всех артефактов заставили немного разобраться в том, как Kotlin работает с нативным кодом

    habr.com/ru/articles/1059174/

    #kotlin_multiplatform #kotlin #kotlin_native #compose_multiplatform #native

  7. Лучшая архитектура KMP-приложений и когда её не использовать. Часть 2

    В первой части мы разобрали философию KMP, обсудили лестницу развития проектов и выяснили, почему не стоит шарить ViewModel. Теперь давайте заглянем в код и поговорим про то, с чем столкнутся разработчики при выполнении ежедневных задач. Это вторая, практическая, часть из двух. Здесь про то, как организованы слои, какие контракты уходят в Swift, как готовить SKIE, как устроены обработка ошибок и DI, что с модульностью, скоростью сборки и тестами.

    habr.com/ru/articles/1058004/

    #kotlin_multiplatform #kmp #compose_multiplatform #clean_architecture #кроссплатформенная_разработка #архитектура_мобильных_приложений #kmp_архитектура #skie #нативная_разработка

  8. Лучшая архитектура KMP-приложений и когда её не использовать. Часть 2

    В первой части мы разобрали философию KMP, обсудили лестницу развития проектов и выяснили, почему не стоит шарить ViewModel. Теперь давайте заглянем в код и поговорим про то, с чем столкнутся разработчики при выполнении ежедневных задач. Это вторая, практическая, часть из двух. Здесь про то, как организованы слои, какие контракты уходят в Swift, как готовить SKIE, как устроены обработка ошибок и DI, что с модульностью, скоростью сборки и тестами.

    habr.com/ru/articles/1058004/

    #kotlin_multiplatform #kmp #compose_multiplatform #clean_architecture #кроссплатформенная_разработка #архитектура_мобильных_приложений #kmp_архитектура #skie #нативная_разработка

  9. Лучшая архитектура KMP-приложений и когда её не использовать. Часть 2

    В первой части мы разобрали философию KMP, обсудили лестницу развития проектов и выяснили, почему не стоит шарить ViewModel. Теперь давайте заглянем в код и поговорим про то, с чем столкнутся разработчики при выполнении ежедневных задач. Это вторая, практическая, часть из двух. Здесь про то, как организованы слои, какие контракты уходят в Swift, как готовить SKIE, как устроены обработка ошибок и DI, что с модульностью, скоростью сборки и тестами.

    habr.com/ru/articles/1058004/

    #kotlin_multiplatform #kmp #compose_multiplatform #clean_architecture #кроссплатформенная_разработка #архитектура_мобильных_приложений #kmp_архитектура #skie #нативная_разработка

  10. RE: mastodon.social/@js_monk/11683

    Follow @js_monk! He is leading the Kotlin/JS compiler backend at JetBrains and knows A LOT about compilers and web technologies.

    #compilers #kotlin #kotlin_multiplatform

  11. RE: mastodon.social/@js_monk/11683

    Follow @js_monk! He is leading the Kotlin/JS compiler backend at JetBrains and knows A LOT about compilers and web technologies.

    #compilers #kotlin #kotlin_multiplatform

  12. RE: mastodon.social/@js_monk/11683

    Follow @js_monk! He is leading the Kotlin/JS compiler backend at JetBrains and knows A LOT about compilers and web technologies.

    #compilers #kotlin #kotlin_multiplatform

  13. RE: mastodon.social/@js_monk/11683

    Follow @js_monk! He is leading the Kotlin/JS compiler backend at JetBrains and knows A LOT about compilers and web technologies.

    #compilers #kotlin #kotlin_multiplatform

  14. RE: mastodon.social/@js_monk/11683

    Follow @js_monk! He is leading the Kotlin/JS compiler backend at JetBrains and knows A LOT about compilers and web technologies.

    #compilers #kotlin #kotlin_multiplatform

  15. Ручной DI в Kotlin Multiplatform: понравится и тебе, и твоему ИИ‑агенту

    Граф зависимостей KMP‑приложения можно собрать обычным Kotlin‑кодом — без рефлексии, кодогенерации, аннотаций и DSL. Composition root и конструкторы, никакой магии. Звучит как шаг назад от зрелых DI‑фреймворков — пока не посмотришь, кому такая форма удобна: тебе, новому человеку в команде и твоему ИИ‑агенту.

    habr.com/ru/articles/1051804/

    #kotlin_multiplatform #kmp #dependency_injection #composition_root #android #di

  16. Ручной DI в Kotlin Multiplatform: понравится и тебе, и твоему ИИ‑агенту

    Граф зависимостей KMP‑приложения можно собрать обычным Kotlin‑кодом — без рефлексии, кодогенерации, аннотаций и DSL. Composition root и конструкторы, никакой магии. Звучит как шаг назад от зрелых DI‑фреймворков — пока не посмотришь, кому такая форма удобна: тебе, новому человеку в команде и твоему ИИ‑агенту.

    habr.com/ru/articles/1051804/

    #kotlin_multiplatform #kmp #dependency_injection #composition_root #android #di

  17. Ручной DI в Kotlin Multiplatform: понравится и тебе, и твоему ИИ‑агенту

    Граф зависимостей KMP‑приложения можно собрать обычным Kotlin‑кодом — без рефлексии, кодогенерации, аннотаций и DSL. Composition root и конструкторы, никакой магии. Звучит как шаг назад от зрелых DI‑фреймворков — пока не посмотришь, кому такая форма удобна: тебе, новому человеку в команде и твоему ИИ‑агенту.

    habr.com/ru/articles/1051804/

    #kotlin_multiplatform #kmp #dependency_injection #composition_root #android #di

  18. От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin (Часть 2)

    В первой части статьи были рассмотрены следующие распространённые способы организации конкурентного кода при работе с потоками и корутинами: критические секции, атомарные переменные, реактивные переменные, барьерная синхронизация. В этой части будут разобраны другие важные подходы: семафоры, каналы передачи данных, горячие потоки, модель акторов, последовательные обработчики задач, thread confinement. Для каждого из этих подходов рассмотрим конкретные реализации, выделим плюсы и минусы, приведём примеры использования. В конце объединим все реализации в общую таблицу.

    habr.com/ru/companies/garage8/

    #kotlin #kotlin_coroutines #coroutines #multithreading #concurrency #android #android_development #kotlin_multiplatform #semaphore #actors

  19. От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin (Часть 2)

    В первой части статьи были рассмотрены следующие распространённые способы организации конкурентного кода при работе с потоками и корутинами: критические секции, атомарные переменные, реактивные переменные, барьерная синхронизация. В этой части будут разобраны другие важные подходы: семафоры, каналы передачи данных, горячие потоки, модель акторов, последовательные обработчики задач, thread confinement. Для каждого из этих подходов рассмотрим конкретные реализации, выделим плюсы и минусы, приведём примеры использования. В конце объединим все реализации в общую таблицу.

    habr.com/ru/companies/garage8/

    #kotlin #kotlin_coroutines #coroutines #multithreading #concurrency #android #android_development #kotlin_multiplatform #semaphore #actors

  20. От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin (Часть 2)

    В первой части статьи были рассмотрены следующие распространённые способы организации конкурентного кода при работе с потоками и корутинами: критические секции, атомарные переменные, реактивные переменные, барьерная синхронизация. В этой части будут разобраны другие важные подходы: семафоры, каналы передачи данных, горячие потоки, модель акторов, последовательные обработчики задач, thread confinement. Для каждого из этих подходов рассмотрим конкретные реализации, выделим плюсы и минусы, приведём примеры использования. В конце объединим все реализации в общую таблицу.

    habr.com/ru/companies/garage8/

    #kotlin #kotlin_coroutines #coroutines #multithreading #concurrency #android #android_development #kotlin_multiplatform #semaphore #actors

  21. Kilua: просим Kotlin сделать вид, что он React

    Посмотрим на Kilua — новый Kotlin-фреймворк для web-frontend. Честно о том: где радует, где мешает, и почему один вопрос всё равно остается открытым

    habr.com/ru/articles/1046505/

    #Kilua #kvision #kotlin_multiplatform #frontend

  22. Kilua: просим Kotlin сделать вид, что он React

    Посмотрим на Kilua — новый Kotlin-фреймворк для web-frontend. Честно о том: где радует, где мешает, и почему один вопрос всё равно остается открытым

    habr.com/ru/articles/1046505/

    #Kilua #kvision #kotlin_multiplatform #frontend

  23. Kilua: просим Kotlin сделать вид, что он React

    Посмотрим на Kilua — новый Kotlin-фреймворк для web-frontend. Честно о том: где радует, где мешает, и почему один вопрос всё равно остается открытым

    habr.com/ru/articles/1046505/

    #Kilua #kvision #kotlin_multiplatform #frontend

  24. Не только смартфоны: 5 сфер, где нужны мобильные разработчики

    Хабр, привет! Меня зовут Борис Денисенко. Я мобильный разработчик и наставник на курсе

    habr.com/ru/companies/yandex_p

    #android #мобильная_разработка #android_development #android_разработка #android_разработчик #kotlin #kotlin_multiplatform #java #ios_development #ios_разработка

  25. Не только смартфоны: 5 сфер, где нужны мобильные разработчики

    Хабр, привет! Меня зовут Борис Денисенко. Я мобильный разработчик и наставник на курсе

    habr.com/ru/companies/yandex_p

    #android #мобильная_разработка #android_development #android_разработка #android_разработчик #kotlin #kotlin_multiplatform #java #ios_development #ios_разработка

  26. [Перевод] Kotlin переходит к деструктурированию по именам

    В Kotlin деструктурирование выглядело так: val (name, age) = person . Но компилятор берет значения не по именам, а по позиции component1/component2 . Отсюда проблемы. Если поменяли порядок параметров в data class или сделали age вычисляемым свойством: то та же строка начинает доставать другое поле. Причем иногда код даже скомпилируется, но, конечно, смысл изменится: val (age, name) = person . И вот теперь Kotlin эксперементально переводит круглые скобки на деструктурирование по имени. Синтаксис будет такой: (val name, val age) = person . И порядок внутри скобок не важен. Переименование явно: (val years = age, val theName = name) = person . Позиционное же деструктурирование остается, но переезжает в квадратные скобки для Pair/Triple и коллекций: val [x, y] = point . Разбираемся полностью в новом переводе от команды Spring АйО .

    habr.com/ru/companies/spring_a

    #java #kotlin #spring #spring_boot #java_core #kotlin_multiplatform #kotlin_dsl

  27. [Перевод] Kotlin переходит к деструктурированию по именам

    В Kotlin деструктурирование выглядело так: val (name, age) = person . Но компилятор берет значения не по именам, а по позиции component1/component2 . Отсюда проблемы. Если поменяли порядок параметров в data class или сделали age вычисляемым свойством: то та же строка начинает доставать другое поле. Причем иногда код даже скомпилируется, но, конечно, смысл изменится: val (age, name) = person . И вот теперь Kotlin эксперементально переводит круглые скобки на деструктурирование по имени. Синтаксис будет такой: (val name, val age) = person . И порядок внутри скобок не важен. Переименование явно: (val years = age, val theName = name) = person . Позиционное же деструктурирование остается, но переезжает в квадратные скобки для Pair/Triple и коллекций: val [x, y] = point . Разбираемся полностью в новом переводе от команды Spring АйО .

    habr.com/ru/companies/spring_a

    #java #kotlin #spring #spring_boot #java_core #kotlin_multiplatform #kotlin_dsl

  28. [Перевод] Kotlin переходит к деструктурированию по именам

    В Kotlin деструктурирование выглядело так: val (name, age) = person . Но компилятор берет значения не по именам, а по позиции component1/component2 . Отсюда проблемы. Если поменяли порядок параметров в data class или сделали age вычисляемым свойством: то та же строка начинает доставать другое поле. Причем иногда код даже скомпилируется, но, конечно, смысл изменится: val (age, name) = person . И вот теперь Kotlin эксперементально переводит круглые скобки на деструктурирование по имени. Синтаксис будет такой: (val name, val age) = person . И порядок внутри скобок не важен. Переименование явно: (val years = age, val theName = name) = person . Позиционное же деструктурирование остается, но переезжает в квадратные скобки для Pair/Triple и коллекций: val [x, y] = point . Разбираемся полностью в новом переводе от команды Spring АйО .

    habr.com/ru/companies/spring_a

    #java #kotlin #spring #spring_boot #java_core #kotlin_multiplatform #kotlin_dsl

  29. Волшебный Koog. Пишем Kotlin-агент широкого профиля KMP

    Всем привет! С вами Анна Жаркова, руководитель мобильной практики ГК Юзтех. Что ж, за последние полгода мир разработки и мир ИИ скакнули и ушли далеко вперед. Теперь знания работы с агентами, умение написать не только правильный промт, но и собственные скиллы (навыки) для этих агентов, готовить свои mcp для погружения в контекст задачи, проекта, становятся не только полезными, но и обязательными для разработчиков и IT-специалистов. Уже многие используют как специальные IDE с ИИ-агентами (Claude, Cursor, Windsurf и т.п), так и встраиваемые в привычные VsCode и AndroidStudio в виде плагинов. Можно не ограничиваться готовым настраиваемым функционалом, а пойти дальше и написать свой собственный агент. И сегодня мы поговорим про такое решение, использование специального фреймворка от JetBrains Koog для разработки свои агентов. С его помощью мы создадим агент для генерации простых KMP приложений и кросс-платформенных задач и подключим к плагину Continue dev. Небольшой спойлер: сам агент был написан при участии Cursor, и про нюансы его создания читайте в конце статьи.

    habr.com/ru/companies/usetech/

    #kotlin #kotlin_multiplatform #koog #ai #искусственный_интеллект #агент

  30. Волшебный Koog. Пишем Kotlin-агент широкого профиля KMP

    Всем привет! С вами Анна Жаркова, руководитель мобильной практики ГК Юзтех. Что ж, за последние полгода мир разработки и мир ИИ скакнули и ушли далеко вперед. Теперь знания работы с агентами, умение написать не только правильный промт, но и собственные скиллы (навыки) для этих агентов, готовить свои mcp для погружения в контекст задачи, проекта, становятся не только полезными, но и обязательными для разработчиков и IT-специалистов. Уже многие используют как специальные IDE с ИИ-агентами (Claude, Cursor, Windsurf и т.п), так и встраиваемые в привычные VsCode и AndroidStudio в виде плагинов. Можно не ограничиваться готовым настраиваемым функционалом, а пойти дальше и написать свой собственный агент. И сегодня мы поговорим про такое решение, использование специального фреймворка от JetBrains Koog для разработки свои агентов. С его помощью мы создадим агент для генерации простых KMP приложений и кросс-платформенных задач и подключим к плагину Continue dev. Небольшой спойлер: сам агент был написан при участии Cursor, и про нюансы его создания читайте в конце статьи.

    habr.com/ru/companies/usetech/

    #kotlin #kotlin_multiplatform #koog #ai #искусственный_интеллект #агент

  31. Волшебный Koog. Пишем Kotlin-агент широкого профиля KMP

    Всем привет! С вами Анна Жаркова, руководитель мобильной практики ГК Юзтех. Что ж, за последние полгода мир разработки и мир ИИ скакнули и ушли далеко вперед. Теперь знания работы с агентами, умение написать не только правильный промт, но и собственные скиллы (навыки) для этих агентов, готовить свои mcp для погружения в контекст задачи, проекта, становятся не только полезными, но и обязательными для разработчиков и IT-специалистов. Уже многие используют как специальные IDE с ИИ-агентами (Claude, Cursor, Windsurf и т.п), так и встраиваемые в привычные VsCode и AndroidStudio в виде плагинов. Можно не ограничиваться готовым настраиваемым функционалом, а пойти дальше и написать свой собственный агент. И сегодня мы поговорим про такое решение, использование специального фреймворка от JetBrains Koog для разработки свои агентов. С его помощью мы создадим агент для генерации простых KMP приложений и кросс-платформенных задач и подключим к плагину Continue dev. Небольшой спойлер: сам агент был написан при участии Cursor, и про нюансы его создания читайте в конце статьи.

    habr.com/ru/companies/usetech/

    #kotlin #kotlin_multiplatform #koog #ai #искусственный_интеллект #агент

  32. Room 3 — новый мажор «комнаты». И да, теперь с поддержкой wasmJs

    Привет! Давайте разберёмся, что там накатили в новом мажоре Room. На момент написания актуальная версия — 3.0.0-alpha02, а стабильный релиз обещают где-то к лету. Если вдруг выпали из контекста: Room — это повсеместно используемая ORM-обёртка над SQLite ранее только для Android, с недавнего времени и для Kotlin Multiplatform. И у неё вышел 3 мажор! Подробнее внутри.

    habr.com/ru/articles/1019598/

    #kmp #room #kotlin_multiplatform #kotlin_coroutines #android

  33. Room 3 — новый мажор «комнаты». И да, теперь с поддержкой wasmJs

    Привет! Давайте разберёмся, что там накатили в новом мажоре Room. На момент написания актуальная версия — 3.0.0-alpha02, а стабильный релиз обещают где-то к лету. Если вдруг выпали из контекста: Room — это повсеместно используемая ORM-обёртка над SQLite ранее только для Android, с недавнего времени и для Kotlin Multiplatform. И у неё вышел 3 мажор! Подробнее внутри.

    habr.com/ru/articles/1019598/

    #kmp #room #kotlin_multiplatform #kotlin_coroutines #android

  34. Room 3 — новый мажор «комнаты». И да, теперь с поддержкой wasmJs

    Привет! Давайте разберёмся, что там накатили в новом мажоре Room. На момент написания актуальная версия — 3.0.0-alpha02, а стабильный релиз обещают где-то к лету. Если вдруг выпали из контекста: Room — это повсеместно используемая ORM-обёртка над SQLite ранее только для Android, с недавнего времени и для Kotlin Multiplatform. И у неё вышел 3 мажор! Подробнее внутри.

    habr.com/ru/articles/1019598/

    #kmp #room #kotlin_multiplatform #kotlin_coroutines #android

  35. Модернизация и развитие зрелых продуктов на Kotlin Multiplatform: опыт компаний и эффект для бизнеса

    Жизненный цикл большинства мобильных приложений — несколько лет. За это время вокруг продукта вырастает целая экосистема из интеграций, людей, процессов и логики. Чем более зрелая система, тем сложнее её развивать из-за роста количества зависимостей, ограничений и стоимости изменений. Поддержка двух нативных приложений в таких условиях может быть дорогой в финансовом плане и сложной в скорости вывода новых функциональностей. Один из способов модернизировать продукт и снизить расходы – постепенно перейти на Kotlin Multiplatform. В этой статье технический директор Александр Кияйкин и iOS-разработчик Мария Нестерова из CleverPumpkin вместе с экспертами X5 Tech, AvitoTech и MAGNIT OMNI разбирают, как компании со зрелыми цифровыми продуктами использует KMP, какие риски учитывают и какой видят от этого эффект.

    habr.com/ru/companies/cleverpu

    #управление_проектами #разработка_приложений #управление_продуктом #kotlin_multiplatform #разработка_под_ios #разработка_под_android

  36. Модернизация и развитие зрелых продуктов на Kotlin Multiplatform: опыт компаний и эффект для бизнеса

    Жизненный цикл большинства мобильных приложений — несколько лет. За это время вокруг продукта вырастает целая экосистема из интеграций, людей, процессов и логики. Чем более зрелая система, тем сложнее её развивать из-за роста количества зависимостей, ограничений и стоимости изменений. Поддержка двух нативных приложений в таких условиях может быть дорогой в финансовом плане и сложной в скорости вывода новых функциональностей. Один из способов модернизировать продукт и снизить расходы – постепенно перейти на Kotlin Multiplatform. В этой статье технический директор Александр Кияйкин и iOS-разработчик Мария Нестерова из CleverPumpkin вместе с экспертами X5 Tech, AvitoTech и MAGNIT OMNI разбирают, как компании со зрелыми цифровыми продуктами использует KMP, какие риски учитывают и какой видят от этого эффект.

    habr.com/ru/companies/cleverpu

    #управление_проектами #разработка_приложений #управление_продуктом #kotlin_multiplatform #разработка_под_ios #разработка_под_android

  37. Модернизация и развитие зрелых продуктов на Kotlin Multiplatform: опыт компаний и эффект для бизнеса

    Жизненный цикл большинства мобильных приложений — несколько лет. За это время вокруг продукта вырастает целая экосистема из интеграций, людей, процессов и логики. Чем более зрелая система, тем сложнее её развивать из-за роста количества зависимостей, ограничений и стоимости изменений. Поддержка двух нативных приложений в таких условиях может быть дорогой в финансовом плане и сложной в скорости вывода новых функциональностей. Один из способов модернизировать продукт и снизить расходы – постепенно перейти на Kotlin Multiplatform. В этой статье технический директор Александр Кияйкин и iOS-разработчик Мария Нестерова из CleverPumpkin вместе с экспертами X5 Tech, AvitoTech и MAGNIT OMNI разбирают, как компании со зрелыми цифровыми продуктами использует KMP, какие риски учитывают и какой видят от этого эффект.

    habr.com/ru/companies/cleverpu

    #управление_проектами #разработка_приложений #управление_продуктом #kotlin_multiplatform #разработка_под_ios #разработка_под_android

  38. Рецензия на книгу «Котлин. Краткий курс»

    Оригинал книги « Kotlin Crash Course: Fast-track your programming skills with practical experience » вышел в июне 2024 года от автора с серьезным опытом в крупной разработке. Русское издание «Котлин. Краткий курс» выходит в марте 2026, и в настоящий момент это самое свежее руководство по Kotlin на русском языке. В предисловии читателям обещают «быстрое погружение», но если открыть оглавление, становится понятно, что предстоит осилить около 600 страниц довольно плотного и структурированного материала. В рецензии разберем, что внутри, кому эта книга подойдет и насколько она остается актуальной к марту 2026 года.

    habr.com/ru/companies/ssp-soft

    #kotlin_multiplatform #kotlin #kotlin_уроки #kotlin_lessons #котлин #книги_по_программированию

  39. Рецензия на книгу «Котлин. Краткий курс»

    Оригинал книги « Kotlin Crash Course: Fast-track your programming skills with practical experience » вышел в июне 2024 года от автора с серьезным опытом в крупной разработке. Русское издание «Котлин. Краткий курс» выходит в марте 2026, и в настоящий момент это самое свежее руководство по Kotlin на русском языке. В предисловии читателям обещают «быстрое погружение», но если открыть оглавление, становится понятно, что предстоит осилить около 600 страниц довольно плотного и структурированного материала. В рецензии разберем, что внутри, кому эта книга подойдет и насколько она остается актуальной к марту 2026 года.

    habr.com/ru/companies/ssp-soft

    #kotlin_multiplatform #kotlin #kotlin_уроки #kotlin_lessons #котлин #книги_по_программированию

  40. Рецензия на книгу «Котлин. Краткий курс»

    Оригинал книги « Kotlin Crash Course: Fast-track your programming skills with practical experience » вышел в июне 2024 года от автора с серьезным опытом в крупной разработке. Русское издание «Котлин. Краткий курс» выходит в марте 2026, и в настоящий момент это самое свежее руководство по Kotlin на русском языке. В предисловии читателям обещают «быстрое погружение», но если открыть оглавление, становится понятно, что предстоит осилить около 600 страниц довольно плотного и структурированного материала. В рецензии разберем, что внутри, кому эта книга подойдет и насколько она остается актуальной к марту 2026 года.

    habr.com/ru/companies/ssp-soft

    #kotlin_multiplatform #kotlin #kotlin_уроки #kotlin_lessons #котлин #книги_по_программированию

  41. Как реализовать WebSocket на Android и не сойти с ума

    Как часто вы слышите что-то о протоколе WebSocket? А как часто видели его в проектах? Продакшн? Андроид? Что? Его кто-то использует? А теперь представьте, что перед вами стоит задача внедрить WS в крупный продакшн проект с нуля. С чего начать? Как подступиться?

    habr.com/ru/companies/betboom/

    #kotlin #android #websocket #kmp #network #kotlin_multiplatform #wss #clean_architecture #мобильная_разработка #андроид

  42. Как реализовать WebSocket на Android и не сойти с ума

    Как часто вы слышите что-то о протоколе WebSocket? А как часто видели его в проектах? Продакшн? Андроид? Что? Его кто-то использует? А теперь представьте, что перед вами стоит задача внедрить WS в крупный продакшн проект с нуля. С чего начать? Как подступиться?

    habr.com/ru/companies/betboom/

    #kotlin #android #websocket #kmp #network #kotlin_multiplatform #wss #clean_architecture #мобильная_разработка #андроид

  43. Как реализовать WebSocket на Android и не сойти с ума

    Как часто вы слышите что-то о протоколе WebSocket? А как часто видели его в проектах? Продакшн? Андроид? Что? Его кто-то использует? А теперь представьте, что перед вами стоит задача внедрить WS в крупный продакшн проект с нуля. С чего начать? Как подступиться?

    habr.com/ru/companies/betboom/

    #kotlin #android #websocket #kmp #network #kotlin_multiplatform #wss #clean_architecture #мобильная_разработка #андроид

  44. Kotlin для новичков: от установки IDE до первого проекта

    Kotlin уже не просто язык для Android. В 2026 году на нём пишут бэкенд, кроссплатформенные приложения и даже заменяют Java. Почему команды уходят с Java на Kotlin, как новичку начать и при чём тут Kotlin Multiplatform? Разбираемся и пишем «Hello, World!» с Gradle. Бонус: пример кода и ссылка на репозиторий.

    habr.com/ru/companies/otus/art

    #kotlin #java #программирование #обучение #jvm #gradle #разработка #kotlin_multiplatform

  45. Kotlin для новичков: от установки IDE до первого проекта

    Kotlin уже не просто язык для Android. В 2026 году на нём пишут бэкенд, кроссплатформенные приложения и даже заменяют Java. Почему команды уходят с Java на Kotlin, как новичку начать и при чём тут Kotlin Multiplatform? Разбираемся и пишем «Hello, World!» с Gradle. Бонус: пример кода и ссылка на репозиторий.

    habr.com/ru/companies/otus/art

    #kotlin #java #программирование #обучение #jvm #gradle #разработка #kotlin_multiplatform

  46. Kotlin для новичков: от установки IDE до первого проекта

    Kotlin уже не просто язык для Android. В 2026 году на нём пишут бэкенд, кроссплатформенные приложения и даже заменяют Java. Почему команды уходят с Java на Kotlin, как новичку начать и при чём тут Kotlin Multiplatform? Разбираемся и пишем «Hello, World!» с Gradle. Бонус: пример кода и ссылка на репозиторий.

    habr.com/ru/companies/otus/art

    #kotlin #java #программирование #обучение #jvm #gradle #разработка #kotlin_multiplatform

  47. KMP, XCode и 5% мазохистов: как мы писали AI-агентов на 4 платформы

    Все говорят, что AI заменит разработчиков. Я решил зайти с другой стороны — написать AI-агента, который заменит пользователей. Альфа версию для macOS уже зарелизил. Послдение полгода работали с коллегой над двумя приложениями, одно десктопное (по ссылке выше), другое на 4 платформы — android, ios, web, backend. Много чего повидали, хочу поделиться опытом. Дисклеймер . Статья содержит последствия массового использования expect/actual, сцены жестокого обращения с XCode и эпизоды длительного ожидания нотаризации на релизных сборках под OSX. Не рекомендуется лицам, планирующим запуск KMP-проекта на несколько платформ без предварительной консультации с психотерапевтом.

    habr.com/ru/articles/1002744/

    #java #kotlin #llm #agent #koog #ииагенты #kotlin_multiplatform #compose_multiplatform #кросплатформенная_разработка

  48. KMP, XCode и 5% мазохистов: как мы писали AI-агентов на 4 платформы

    Все говорят, что AI заменит разработчиков. Я решил зайти с другой стороны — написать AI-агента, который заменит пользователей. Альфа версию для macOS уже зарелизил. Послдение полгода работали с коллегой над двумя приложениями, одно десктопное (по ссылке выше), другое на 4 платформы — android, ios, web, backend. Много чего повидали, хочу поделиться опытом. Дисклеймер . Статья содержит последствия массового использования expect/actual, сцены жестокого обращения с XCode и эпизоды длительного ожидания нотаризации на релизных сборках под OSX. Не рекомендуется лицам, планирующим запуск KMP-проекта на несколько платформ без предварительной консультации с психотерапевтом.

    habr.com/ru/articles/1002744/

    #java #kotlin #llm #agent #koog #ииагенты #kotlin_multiplatform #compose_multiplatform #кросплатформенная_разработка

  49. KMP, XCode и 5% мазохистов: как мы писали AI-агентов на 4 платформы

    Все говорят, что AI заменит разработчиков. Я решил зайти с другой стороны — написать AI-агента, который заменит пользователей. Альфа версию для macOS уже зарелизил. Послдение полгода работали с коллегой над двумя приложениями, одно десктопное (по ссылке выше), другое на 4 платформы — android, ios, web, backend. Много чего повидали, хочу поделиться опытом. Дисклеймер . Статья содержит последствия массового использования expect/actual, сцены жестокого обращения с XCode и эпизоды длительного ожидания нотаризации на релизных сборках под OSX. Не рекомендуется лицам, планирующим запуск KMP-проекта на несколько платформ без предварительной консультации с психотерапевтом.

    habr.com/ru/articles/1002744/

    #java #kotlin #llm #agent #koog #ииагенты #kotlin_multiplatform #compose_multiplatform #кросплатформенная_разработка

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

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

    habr.com/ru/articles/989286/

    #kotlin_multiplatform #ios #android

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

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

    habr.com/ru/articles/989286/

    #kotlin_multiplatform #ios #android

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

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

    habr.com/ru/articles/989286/

    #kotlin_multiplatform #ios #android

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

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

    habr.com/ru/articles/986700/

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

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

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

    habr.com/ru/articles/986700/

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

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

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

    habr.com/ru/articles/986700/

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

  56. Navigation3 + Koin в Compose Multiplatform

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

    habr.com/ru/articles/984552/

    #compose_multiplatform #kotlin_multiplatform #kmp #navigation3 #koin

  57. Navigation3 + Koin в Compose Multiplatform

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

    habr.com/ru/articles/984552/

    #compose_multiplatform #kotlin_multiplatform #kmp #navigation3 #koin

  58. Navigation3 + Koin в Compose Multiplatform

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

    habr.com/ru/articles/984552/

    #compose_multiplatform #kotlin_multiplatform #kmp #navigation3 #koin

  59. Анимация смены темы в 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