#kotlin_multiplatform — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #kotlin_multiplatform, aggregated by home.social.
-
Kotlin: про Structured Concurrency, CoroutineContext и CoroutineScope
Разбираемся с Kotlin Corouitines - какие идеи заложены и чем отличается CoroutineContext от CoroutineScope Интересно?
https://habr.com/ru/articles/1067510/
#kotlin_coroutines #kotlin #kotlin_multiplatform #structured_concurrency #scope #coroutines #context
-
Kotlin: про Structured Concurrency, CoroutineContext и CoroutineScope
Разбираемся с Kotlin Corouitines - какие идеи заложены и чем отличается CoroutineContext от CoroutineScope Интересно?
https://habr.com/ru/articles/1067510/
#kotlin_coroutines #kotlin #kotlin_multiplatform #structured_concurrency #scope #coroutines #context
-
Kotlin: про Structured Concurrency, CoroutineContext и CoroutineScope
Разбираемся с Kotlin Corouitines - какие идеи заложены и чем отличается CoroutineContext от CoroutineScope Интересно?
https://habr.com/ru/articles/1067510/
#kotlin_coroutines #kotlin #kotlin_multiplatform #structured_concurrency #scope #coroutines #context
-
Аутентификация через биометрию в 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 работает с нативным кодом
https://habr.com/ru/articles/1059174/
#kotlin_multiplatform #kotlin #kotlin_native #compose_multiplatform #native
-
Аутентификация через биометрию в 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 работает с нативным кодом
https://habr.com/ru/articles/1059174/
#kotlin_multiplatform #kotlin #kotlin_native #compose_multiplatform #native
-
Аутентификация через биометрию в 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 работает с нативным кодом
https://habr.com/ru/articles/1059174/
#kotlin_multiplatform #kotlin #kotlin_native #compose_multiplatform #native
-
Лучшая архитектура KMP-приложений и когда её не использовать. Часть 2
В первой части мы разобрали философию KMP, обсудили лестницу развития проектов и выяснили, почему не стоит шарить ViewModel. Теперь давайте заглянем в код и поговорим про то, с чем столкнутся разработчики при выполнении ежедневных задач. Это вторая, практическая, часть из двух. Здесь про то, как организованы слои, какие контракты уходят в Swift, как готовить SKIE, как устроены обработка ошибок и DI, что с модульностью, скоростью сборки и тестами.
https://habr.com/ru/articles/1058004/
#kotlin_multiplatform #kmp #compose_multiplatform #clean_architecture #кроссплатформенная_разработка #архитектура_мобильных_приложений #kmp_архитектура #skie #нативная_разработка
-
Лучшая архитектура KMP-приложений и когда её не использовать. Часть 2
В первой части мы разобрали философию KMP, обсудили лестницу развития проектов и выяснили, почему не стоит шарить ViewModel. Теперь давайте заглянем в код и поговорим про то, с чем столкнутся разработчики при выполнении ежедневных задач. Это вторая, практическая, часть из двух. Здесь про то, как организованы слои, какие контракты уходят в Swift, как готовить SKIE, как устроены обработка ошибок и DI, что с модульностью, скоростью сборки и тестами.
https://habr.com/ru/articles/1058004/
#kotlin_multiplatform #kmp #compose_multiplatform #clean_architecture #кроссплатформенная_разработка #архитектура_мобильных_приложений #kmp_архитектура #skie #нативная_разработка
-
Лучшая архитектура KMP-приложений и когда её не использовать. Часть 2
В первой части мы разобрали философию KMP, обсудили лестницу развития проектов и выяснили, почему не стоит шарить ViewModel. Теперь давайте заглянем в код и поговорим про то, с чем столкнутся разработчики при выполнении ежедневных задач. Это вторая, практическая, часть из двух. Здесь про то, как организованы слои, какие контракты уходят в Swift, как готовить SKIE, как устроены обработка ошибок и DI, что с модульностью, скоростью сборки и тестами.
https://habr.com/ru/articles/1058004/
#kotlin_multiplatform #kmp #compose_multiplatform #clean_architecture #кроссплатформенная_разработка #архитектура_мобильных_приложений #kmp_архитектура #skie #нативная_разработка
-
RE: https://mastodon.social/@js_monk/116832971794738143
Follow @js_monk! He is leading the Kotlin/JS compiler backend at JetBrains and knows A LOT about compilers and web technologies.
-
RE: https://mastodon.social/@js_monk/116832971794738143
Follow @js_monk! He is leading the Kotlin/JS compiler backend at JetBrains and knows A LOT about compilers and web technologies.
-
RE: https://mastodon.social/@js_monk/116832971794738143
Follow @js_monk! He is leading the Kotlin/JS compiler backend at JetBrains and knows A LOT about compilers and web technologies.
-
RE: https://mastodon.social/@js_monk/116832971794738143
Follow @js_monk! He is leading the Kotlin/JS compiler backend at JetBrains and knows A LOT about compilers and web technologies.
-
RE: https://mastodon.social/@js_monk/116832971794738143
Follow @js_monk! He is leading the Kotlin/JS compiler backend at JetBrains and knows A LOT about compilers and web technologies.
-
Ручной DI в Kotlin Multiplatform: понравится и тебе, и твоему ИИ‑агенту
Граф зависимостей KMP‑приложения можно собрать обычным Kotlin‑кодом — без рефлексии, кодогенерации, аннотаций и DSL. Composition root и конструкторы, никакой магии. Звучит как шаг назад от зрелых DI‑фреймворков — пока не посмотришь, кому такая форма удобна: тебе, новому человеку в команде и твоему ИИ‑агенту.
https://habr.com/ru/articles/1051804/
#kotlin_multiplatform #kmp #dependency_injection #composition_root #android #di
-
Ручной DI в Kotlin Multiplatform: понравится и тебе, и твоему ИИ‑агенту
Граф зависимостей KMP‑приложения можно собрать обычным Kotlin‑кодом — без рефлексии, кодогенерации, аннотаций и DSL. Composition root и конструкторы, никакой магии. Звучит как шаг назад от зрелых DI‑фреймворков — пока не посмотришь, кому такая форма удобна: тебе, новому человеку в команде и твоему ИИ‑агенту.
https://habr.com/ru/articles/1051804/
#kotlin_multiplatform #kmp #dependency_injection #composition_root #android #di
-
Ручной DI в Kotlin Multiplatform: понравится и тебе, и твоему ИИ‑агенту
Граф зависимостей KMP‑приложения можно собрать обычным Kotlin‑кодом — без рефлексии, кодогенерации, аннотаций и DSL. Composition root и конструкторы, никакой магии. Звучит как шаг назад от зрелых DI‑фреймворков — пока не посмотришь, кому такая форма удобна: тебе, новому человеку в команде и твоему ИИ‑агенту.
https://habr.com/ru/articles/1051804/
#kotlin_multiplatform #kmp #dependency_injection #composition_root #android #di
-
От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin (Часть 2)
В первой части статьи были рассмотрены следующие распространённые способы организации конкурентного кода при работе с потоками и корутинами: критические секции, атомарные переменные, реактивные переменные, барьерная синхронизация. В этой части будут разобраны другие важные подходы: семафоры, каналы передачи данных, горячие потоки, модель акторов, последовательные обработчики задач, thread confinement. Для каждого из этих подходов рассмотрим конкретные реализации, выделим плюсы и минусы, приведём примеры использования. В конце объединим все реализации в общую таблицу.
https://habr.com/ru/companies/garage8/articles/1049508/
#kotlin #kotlin_coroutines #coroutines #multithreading #concurrency #android #android_development #kotlin_multiplatform #semaphore #actors
-
От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin (Часть 2)
В первой части статьи были рассмотрены следующие распространённые способы организации конкурентного кода при работе с потоками и корутинами: критические секции, атомарные переменные, реактивные переменные, барьерная синхронизация. В этой части будут разобраны другие важные подходы: семафоры, каналы передачи данных, горячие потоки, модель акторов, последовательные обработчики задач, thread confinement. Для каждого из этих подходов рассмотрим конкретные реализации, выделим плюсы и минусы, приведём примеры использования. В конце объединим все реализации в общую таблицу.
https://habr.com/ru/companies/garage8/articles/1049508/
#kotlin #kotlin_coroutines #coroutines #multithreading #concurrency #android #android_development #kotlin_multiplatform #semaphore #actors
-
От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin (Часть 2)
В первой части статьи были рассмотрены следующие распространённые способы организации конкурентного кода при работе с потоками и корутинами: критические секции, атомарные переменные, реактивные переменные, барьерная синхронизация. В этой части будут разобраны другие важные подходы: семафоры, каналы передачи данных, горячие потоки, модель акторов, последовательные обработчики задач, thread confinement. Для каждого из этих подходов рассмотрим конкретные реализации, выделим плюсы и минусы, приведём примеры использования. В конце объединим все реализации в общую таблицу.
https://habr.com/ru/companies/garage8/articles/1049508/
#kotlin #kotlin_coroutines #coroutines #multithreading #concurrency #android #android_development #kotlin_multiplatform #semaphore #actors
-
Kilua: просим Kotlin сделать вид, что он React
Посмотрим на Kilua — новый Kotlin-фреймворк для web-frontend. Честно о том: где радует, где мешает, и почему один вопрос всё равно остается открытым
-
Kilua: просим Kotlin сделать вид, что он React
Посмотрим на Kilua — новый Kotlin-фреймворк для web-frontend. Честно о том: где радует, где мешает, и почему один вопрос всё равно остается открытым
-
Kilua: просим Kotlin сделать вид, что он React
Посмотрим на Kilua — новый Kotlin-фреймворк для web-frontend. Честно о том: где радует, где мешает, и почему один вопрос всё равно остается открытым
-
Не только смартфоны: 5 сфер, где нужны мобильные разработчики
Хабр, привет! Меня зовут Борис Денисенко. Я мобильный разработчик и наставник на курсе
https://habr.com/ru/companies/yandex_praktikum/articles/1031664/
#android #мобильная_разработка #android_development #android_разработка #android_разработчик #kotlin #kotlin_multiplatform #java #ios_development #ios_разработка
-
Не только смартфоны: 5 сфер, где нужны мобильные разработчики
Хабр, привет! Меня зовут Борис Денисенко. Я мобильный разработчик и наставник на курсе
https://habr.com/ru/companies/yandex_praktikum/articles/1031664/
#android #мобильная_разработка #android_development #android_разработка #android_разработчик #kotlin #kotlin_multiplatform #java #ios_development #ios_разработка
-
Не только смартфоны: 5 сфер, где нужны мобильные разработчики
Хабр, привет! Меня зовут Борис Денисенко. Я мобильный разработчик и наставник на курсе
https://habr.com/ru/companies/yandex_praktikum/articles/1031664/
#android #мобильная_разработка #android_development #android_разработка #android_разработчик #kotlin #kotlin_multiplatform #java #ios_development #ios_разработка
-
[Перевод] 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 АйО .
https://habr.com/ru/companies/spring_aio/articles/1035596/
#java #kotlin #spring #spring_boot #java_core #kotlin_multiplatform #kotlin_dsl
-
[Перевод] 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 АйО .
https://habr.com/ru/companies/spring_aio/articles/1035596/
#java #kotlin #spring #spring_boot #java_core #kotlin_multiplatform #kotlin_dsl
-
[Перевод] 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 АйО .
https://habr.com/ru/companies/spring_aio/articles/1035596/
#java #kotlin #spring #spring_boot #java_core #kotlin_multiplatform #kotlin_dsl
-
Волшебный Koog. Пишем Kotlin-агент широкого профиля KMP
Всем привет! С вами Анна Жаркова, руководитель мобильной практики ГК Юзтех. Что ж, за последние полгода мир разработки и мир ИИ скакнули и ушли далеко вперед. Теперь знания работы с агентами, умение написать не только правильный промт, но и собственные скиллы (навыки) для этих агентов, готовить свои mcp для погружения в контекст задачи, проекта, становятся не только полезными, но и обязательными для разработчиков и IT-специалистов. Уже многие используют как специальные IDE с ИИ-агентами (Claude, Cursor, Windsurf и т.п), так и встраиваемые в привычные VsCode и AndroidStudio в виде плагинов. Можно не ограничиваться готовым настраиваемым функционалом, а пойти дальше и написать свой собственный агент. И сегодня мы поговорим про такое решение, использование специального фреймворка от JetBrains Koog для разработки свои агентов. С его помощью мы создадим агент для генерации простых KMP приложений и кросс-платформенных задач и подключим к плагину Continue dev. Небольшой спойлер: сам агент был написан при участии Cursor, и про нюансы его создания читайте в конце статьи.
https://habr.com/ru/companies/usetech/articles/1027130/
#kotlin #kotlin_multiplatform #koog #ai #искусственный_интеллект #агент
-
Волшебный Koog. Пишем Kotlin-агент широкого профиля KMP
Всем привет! С вами Анна Жаркова, руководитель мобильной практики ГК Юзтех. Что ж, за последние полгода мир разработки и мир ИИ скакнули и ушли далеко вперед. Теперь знания работы с агентами, умение написать не только правильный промт, но и собственные скиллы (навыки) для этих агентов, готовить свои mcp для погружения в контекст задачи, проекта, становятся не только полезными, но и обязательными для разработчиков и IT-специалистов. Уже многие используют как специальные IDE с ИИ-агентами (Claude, Cursor, Windsurf и т.п), так и встраиваемые в привычные VsCode и AndroidStudio в виде плагинов. Можно не ограничиваться готовым настраиваемым функционалом, а пойти дальше и написать свой собственный агент. И сегодня мы поговорим про такое решение, использование специального фреймворка от JetBrains Koog для разработки свои агентов. С его помощью мы создадим агент для генерации простых KMP приложений и кросс-платформенных задач и подключим к плагину Continue dev. Небольшой спойлер: сам агент был написан при участии Cursor, и про нюансы его создания читайте в конце статьи.
https://habr.com/ru/companies/usetech/articles/1027130/
#kotlin #kotlin_multiplatform #koog #ai #искусственный_интеллект #агент
-
Волшебный Koog. Пишем Kotlin-агент широкого профиля KMP
Всем привет! С вами Анна Жаркова, руководитель мобильной практики ГК Юзтех. Что ж, за последние полгода мир разработки и мир ИИ скакнули и ушли далеко вперед. Теперь знания работы с агентами, умение написать не только правильный промт, но и собственные скиллы (навыки) для этих агентов, готовить свои mcp для погружения в контекст задачи, проекта, становятся не только полезными, но и обязательными для разработчиков и IT-специалистов. Уже многие используют как специальные IDE с ИИ-агентами (Claude, Cursor, Windsurf и т.п), так и встраиваемые в привычные VsCode и AndroidStudio в виде плагинов. Можно не ограничиваться готовым настраиваемым функционалом, а пойти дальше и написать свой собственный агент. И сегодня мы поговорим про такое решение, использование специального фреймворка от JetBrains Koog для разработки свои агентов. С его помощью мы создадим агент для генерации простых KMP приложений и кросс-платформенных задач и подключим к плагину Continue dev. Небольшой спойлер: сам агент был написан при участии Cursor, и про нюансы его создания читайте в конце статьи.
https://habr.com/ru/companies/usetech/articles/1027130/
#kotlin #kotlin_multiplatform #koog #ai #искусственный_интеллект #агент
-
Room 3 — новый мажор «комнаты». И да, теперь с поддержкой wasmJs
Привет! Давайте разберёмся, что там накатили в новом мажоре Room. На момент написания актуальная версия — 3.0.0-alpha02, а стабильный релиз обещают где-то к лету. Если вдруг выпали из контекста: Room — это повсеместно используемая ORM-обёртка над SQLite ранее только для Android, с недавнего времени и для Kotlin Multiplatform. И у неё вышел 3 мажор! Подробнее внутри.
https://habr.com/ru/articles/1019598/
#kmp #room #kotlin_multiplatform #kotlin_coroutines #android
-
Room 3 — новый мажор «комнаты». И да, теперь с поддержкой wasmJs
Привет! Давайте разберёмся, что там накатили в новом мажоре Room. На момент написания актуальная версия — 3.0.0-alpha02, а стабильный релиз обещают где-то к лету. Если вдруг выпали из контекста: Room — это повсеместно используемая ORM-обёртка над SQLite ранее только для Android, с недавнего времени и для Kotlin Multiplatform. И у неё вышел 3 мажор! Подробнее внутри.
https://habr.com/ru/articles/1019598/
#kmp #room #kotlin_multiplatform #kotlin_coroutines #android
-
Room 3 — новый мажор «комнаты». И да, теперь с поддержкой wasmJs
Привет! Давайте разберёмся, что там накатили в новом мажоре Room. На момент написания актуальная версия — 3.0.0-alpha02, а стабильный релиз обещают где-то к лету. Если вдруг выпали из контекста: Room — это повсеместно используемая ORM-обёртка над SQLite ранее только для Android, с недавнего времени и для Kotlin Multiplatform. И у неё вышел 3 мажор! Подробнее внутри.
https://habr.com/ru/articles/1019598/
#kmp #room #kotlin_multiplatform #kotlin_coroutines #android
-
Модернизация и развитие зрелых продуктов на Kotlin Multiplatform: опыт компаний и эффект для бизнеса
Жизненный цикл большинства мобильных приложений — несколько лет. За это время вокруг продукта вырастает целая экосистема из интеграций, людей, процессов и логики. Чем более зрелая система, тем сложнее её развивать из-за роста количества зависимостей, ограничений и стоимости изменений. Поддержка двух нативных приложений в таких условиях может быть дорогой в финансовом плане и сложной в скорости вывода новых функциональностей. Один из способов модернизировать продукт и снизить расходы – постепенно перейти на Kotlin Multiplatform. В этой статье технический директор Александр Кияйкин и iOS-разработчик Мария Нестерова из CleverPumpkin вместе с экспертами X5 Tech, AvitoTech и MAGNIT OMNI разбирают, как компании со зрелыми цифровыми продуктами использует KMP, какие риски учитывают и какой видят от этого эффект.
https://habr.com/ru/companies/cleverpumpkin/articles/1012648/
#управление_проектами #разработка_приложений #управление_продуктом #kotlin_multiplatform #разработка_под_ios #разработка_под_android
-
Модернизация и развитие зрелых продуктов на Kotlin Multiplatform: опыт компаний и эффект для бизнеса
Жизненный цикл большинства мобильных приложений — несколько лет. За это время вокруг продукта вырастает целая экосистема из интеграций, людей, процессов и логики. Чем более зрелая система, тем сложнее её развивать из-за роста количества зависимостей, ограничений и стоимости изменений. Поддержка двух нативных приложений в таких условиях может быть дорогой в финансовом плане и сложной в скорости вывода новых функциональностей. Один из способов модернизировать продукт и снизить расходы – постепенно перейти на Kotlin Multiplatform. В этой статье технический директор Александр Кияйкин и iOS-разработчик Мария Нестерова из CleverPumpkin вместе с экспертами X5 Tech, AvitoTech и MAGNIT OMNI разбирают, как компании со зрелыми цифровыми продуктами использует KMP, какие риски учитывают и какой видят от этого эффект.
https://habr.com/ru/companies/cleverpumpkin/articles/1012648/
#управление_проектами #разработка_приложений #управление_продуктом #kotlin_multiplatform #разработка_под_ios #разработка_под_android
-
Модернизация и развитие зрелых продуктов на Kotlin Multiplatform: опыт компаний и эффект для бизнеса
Жизненный цикл большинства мобильных приложений — несколько лет. За это время вокруг продукта вырастает целая экосистема из интеграций, людей, процессов и логики. Чем более зрелая система, тем сложнее её развивать из-за роста количества зависимостей, ограничений и стоимости изменений. Поддержка двух нативных приложений в таких условиях может быть дорогой в финансовом плане и сложной в скорости вывода новых функциональностей. Один из способов модернизировать продукт и снизить расходы – постепенно перейти на Kotlin Multiplatform. В этой статье технический директор Александр Кияйкин и iOS-разработчик Мария Нестерова из CleverPumpkin вместе с экспертами X5 Tech, AvitoTech и MAGNIT OMNI разбирают, как компании со зрелыми цифровыми продуктами использует KMP, какие риски учитывают и какой видят от этого эффект.
https://habr.com/ru/companies/cleverpumpkin/articles/1012648/
#управление_проектами #разработка_приложений #управление_продуктом #kotlin_multiplatform #разработка_под_ios #разработка_под_android
-
Рецензия на книгу «Котлин. Краткий курс»
Оригинал книги « Kotlin Crash Course: Fast-track your programming skills with practical experience » вышел в июне 2024 года от автора с серьезным опытом в крупной разработке. Русское издание «Котлин. Краткий курс» выходит в марте 2026, и в настоящий момент это самое свежее руководство по Kotlin на русском языке. В предисловии читателям обещают «быстрое погружение», но если открыть оглавление, становится понятно, что предстоит осилить около 600 страниц довольно плотного и структурированного материала. В рецензии разберем, что внутри, кому эта книга подойдет и насколько она остается актуальной к марту 2026 года.
https://habr.com/ru/companies/ssp-soft/articles/1006888/
#kotlin_multiplatform #kotlin #kotlin_уроки #kotlin_lessons #котлин #книги_по_программированию
-
Рецензия на книгу «Котлин. Краткий курс»
Оригинал книги « Kotlin Crash Course: Fast-track your programming skills with practical experience » вышел в июне 2024 года от автора с серьезным опытом в крупной разработке. Русское издание «Котлин. Краткий курс» выходит в марте 2026, и в настоящий момент это самое свежее руководство по Kotlin на русском языке. В предисловии читателям обещают «быстрое погружение», но если открыть оглавление, становится понятно, что предстоит осилить около 600 страниц довольно плотного и структурированного материала. В рецензии разберем, что внутри, кому эта книга подойдет и насколько она остается актуальной к марту 2026 года.
https://habr.com/ru/companies/ssp-soft/articles/1006888/
#kotlin_multiplatform #kotlin #kotlin_уроки #kotlin_lessons #котлин #книги_по_программированию
-
Рецензия на книгу «Котлин. Краткий курс»
Оригинал книги « Kotlin Crash Course: Fast-track your programming skills with practical experience » вышел в июне 2024 года от автора с серьезным опытом в крупной разработке. Русское издание «Котлин. Краткий курс» выходит в марте 2026, и в настоящий момент это самое свежее руководство по Kotlin на русском языке. В предисловии читателям обещают «быстрое погружение», но если открыть оглавление, становится понятно, что предстоит осилить около 600 страниц довольно плотного и структурированного материала. В рецензии разберем, что внутри, кому эта книга подойдет и насколько она остается актуальной к марту 2026 года.
https://habr.com/ru/companies/ssp-soft/articles/1006888/
#kotlin_multiplatform #kotlin #kotlin_уроки #kotlin_lessons #котлин #книги_по_программированию
-
Как реализовать WebSocket на Android и не сойти с ума
Как часто вы слышите что-то о протоколе WebSocket? А как часто видели его в проектах? Продакшн? Андроид? Что? Его кто-то использует? А теперь представьте, что перед вами стоит задача внедрить WS в крупный продакшн проект с нуля. С чего начать? Как подступиться?
https://habr.com/ru/companies/betboom/articles/1007816/
#kotlin #android #websocket #kmp #network #kotlin_multiplatform #wss #clean_architecture #мобильная_разработка #андроид
-
Как реализовать WebSocket на Android и не сойти с ума
Как часто вы слышите что-то о протоколе WebSocket? А как часто видели его в проектах? Продакшн? Андроид? Что? Его кто-то использует? А теперь представьте, что перед вами стоит задача внедрить WS в крупный продакшн проект с нуля. С чего начать? Как подступиться?
https://habr.com/ru/companies/betboom/articles/1007816/
#kotlin #android #websocket #kmp #network #kotlin_multiplatform #wss #clean_architecture #мобильная_разработка #андроид
-
Как реализовать WebSocket на Android и не сойти с ума
Как часто вы слышите что-то о протоколе WebSocket? А как часто видели его в проектах? Продакшн? Андроид? Что? Его кто-то использует? А теперь представьте, что перед вами стоит задача внедрить WS в крупный продакшн проект с нуля. С чего начать? Как подступиться?
https://habr.com/ru/companies/betboom/articles/1007816/
#kotlin #android #websocket #kmp #network #kotlin_multiplatform #wss #clean_architecture #мобильная_разработка #андроид
-
Kotlin для новичков: от установки IDE до первого проекта
Kotlin уже не просто язык для Android. В 2026 году на нём пишут бэкенд, кроссплатформенные приложения и даже заменяют Java. Почему команды уходят с Java на Kotlin, как новичку начать и при чём тут Kotlin Multiplatform? Разбираемся и пишем «Hello, World!» с Gradle. Бонус: пример кода и ссылка на репозиторий.
https://habr.com/ru/companies/otus/articles/994146/
#kotlin #java #программирование #обучение #jvm #gradle #разработка #kotlin_multiplatform
-
Kotlin для новичков: от установки IDE до первого проекта
Kotlin уже не просто язык для Android. В 2026 году на нём пишут бэкенд, кроссплатформенные приложения и даже заменяют Java. Почему команды уходят с Java на Kotlin, как новичку начать и при чём тут Kotlin Multiplatform? Разбираемся и пишем «Hello, World!» с Gradle. Бонус: пример кода и ссылка на репозиторий.
https://habr.com/ru/companies/otus/articles/994146/
#kotlin #java #программирование #обучение #jvm #gradle #разработка #kotlin_multiplatform
-
Kotlin для новичков: от установки IDE до первого проекта
Kotlin уже не просто язык для Android. В 2026 году на нём пишут бэкенд, кроссплатформенные приложения и даже заменяют Java. Почему команды уходят с Java на Kotlin, как новичку начать и при чём тут Kotlin Multiplatform? Разбираемся и пишем «Hello, World!» с Gradle. Бонус: пример кода и ссылка на репозиторий.
https://habr.com/ru/companies/otus/articles/994146/
#kotlin #java #программирование #обучение #jvm #gradle #разработка #kotlin_multiplatform
-
KMP, XCode и 5% мазохистов: как мы писали AI-агентов на 4 платформы
Все говорят, что AI заменит разработчиков. Я решил зайти с другой стороны — написать AI-агента, который заменит пользователей. Альфа версию для macOS уже зарелизил. Послдение полгода работали с коллегой над двумя приложениями, одно десктопное (по ссылке выше), другое на 4 платформы — android, ios, web, backend. Много чего повидали, хочу поделиться опытом. Дисклеймер . Статья содержит последствия массового использования expect/actual, сцены жестокого обращения с XCode и эпизоды длительного ожидания нотаризации на релизных сборках под OSX. Не рекомендуется лицам, планирующим запуск KMP-проекта на несколько платформ без предварительной консультации с психотерапевтом.
https://habr.com/ru/articles/1002744/
#java #kotlin #llm #agent #koog #ииагенты #kotlin_multiplatform #compose_multiplatform #кросплатформенная_разработка
-
KMP, XCode и 5% мазохистов: как мы писали AI-агентов на 4 платформы
Все говорят, что AI заменит разработчиков. Я решил зайти с другой стороны — написать AI-агента, который заменит пользователей. Альфа версию для macOS уже зарелизил. Послдение полгода работали с коллегой над двумя приложениями, одно десктопное (по ссылке выше), другое на 4 платформы — android, ios, web, backend. Много чего повидали, хочу поделиться опытом. Дисклеймер . Статья содержит последствия массового использования expect/actual, сцены жестокого обращения с XCode и эпизоды длительного ожидания нотаризации на релизных сборках под OSX. Не рекомендуется лицам, планирующим запуск KMP-проекта на несколько платформ без предварительной консультации с психотерапевтом.
https://habr.com/ru/articles/1002744/
#java #kotlin #llm #agent #koog #ииагенты #kotlin_multiplatform #compose_multiplatform #кросплатформенная_разработка
-
KMP, XCode и 5% мазохистов: как мы писали AI-агентов на 4 платформы
Все говорят, что AI заменит разработчиков. Я решил зайти с другой стороны — написать AI-агента, который заменит пользователей. Альфа версию для macOS уже зарелизил. Послдение полгода работали с коллегой над двумя приложениями, одно десктопное (по ссылке выше), другое на 4 платформы — android, ios, web, backend. Много чего повидали, хочу поделиться опытом. Дисклеймер . Статья содержит последствия массового использования expect/actual, сцены жестокого обращения с XCode и эпизоды длительного ожидания нотаризации на релизных сборках под OSX. Не рекомендуется лицам, планирующим запуск KMP-проекта на несколько платформ без предварительной консультации с психотерапевтом.
https://habr.com/ru/articles/1002744/
#java #kotlin #llm #agent #koog #ииагенты #kotlin_multiplatform #compose_multiplatform #кросплатформенная_разработка
-
Что нам стоит на КМП построить?
Рассказываю с цифрами в руках о сокращении трудозатрат разработки под несколько платформ при использовании Kotlin Multiplatform
-
Что нам стоит на КМП построить?
Рассказываю с цифрами в руках о сокращении трудозатрат разработки под несколько платформ при использовании Kotlin Multiplatform
-
Что нам стоит на КМП построить?
Рассказываю с цифрами в руках о сокращении трудозатрат разработки под несколько платформ при использовании Kotlin Multiplatform
-
Удалил сервер из мессенджера. Как общаться по P2P в 2026 году без метаданных и Google Services. Личный опыт и KMP
Помните обещания об «абсолютной приватности»? Марк клялся, Павел обещал, но в 2025-м новости о мессенджерах всё больше напоминали сводки с фронта: утечки сотен гигабайт переписки, найденные бэкдоры и данные, внезапно ставшие доступными «третьим лицам». Пока большинство проектов пытается защитить серверную часть или внедрить еще более сложные протоколы шифрования, я решил пойти другим путем: просто убрать сервер из этой цепочки. В чем реальная уязвимость сигнальных серверов Многие мессенджеры гордятся стойкостью шифрования - AES-ключи, обфускация трафика и борьба с DPI выглядят солидно. Но остается один критический нюанс: у них всё равно есть сервер. Даже если его называют «сигнальным» и говорят, что он нужен только для установления связи, это всё равно точка сбора данных. Если данные где-то собираются, за ними рано или поздно придут. Будь то хакерская атака или официальный запрос - метаданные (кто, когда и с кем общался) могут рассказать о вас больше, чем само содержание сообщений. Ну и наконец в серверную могут просто прийти уполномоченные люди которые потребуют предоставить доступ ко всему ).
https://habr.com/ru/articles/986700/
#WebRTC #Kotlin_Multiplatform #P2P #Информационная_безопасность #Приватность #Сетевые_технологии #Android_разработка #Бессерверная_архитектура #Метаданные #Разработка_мессенджеров
-
Удалил сервер из мессенджера. Как общаться по P2P в 2026 году без метаданных и Google Services. Личный опыт и KMP
Помните обещания об «абсолютной приватности»? Марк клялся, Павел обещал, но в 2025-м новости о мессенджерах всё больше напоминали сводки с фронта: утечки сотен гигабайт переписки, найденные бэкдоры и данные, внезапно ставшие доступными «третьим лицам». Пока большинство проектов пытается защитить серверную часть или внедрить еще более сложные протоколы шифрования, я решил пойти другим путем: просто убрать сервер из этой цепочки. В чем реальная уязвимость сигнальных серверов Многие мессенджеры гордятся стойкостью шифрования - AES-ключи, обфускация трафика и борьба с DPI выглядят солидно. Но остается один критический нюанс: у них всё равно есть сервер. Даже если его называют «сигнальным» и говорят, что он нужен только для установления связи, это всё равно точка сбора данных. Если данные где-то собираются, за ними рано или поздно придут. Будь то хакерская атака или официальный запрос - метаданные (кто, когда и с кем общался) могут рассказать о вас больше, чем само содержание сообщений. Ну и наконец в серверную могут просто прийти уполномоченные люди которые потребуют предоставить доступ ко всему ).
https://habr.com/ru/articles/986700/
#WebRTC #Kotlin_Multiplatform #P2P #Информационная_безопасность #Приватность #Сетевые_технологии #Android_разработка #Бессерверная_архитектура #Метаданные #Разработка_мессенджеров
-
Удалил сервер из мессенджера. Как общаться по P2P в 2026 году без метаданных и Google Services. Личный опыт и KMP
Помните обещания об «абсолютной приватности»? Марк клялся, Павел обещал, но в 2025-м новости о мессенджерах всё больше напоминали сводки с фронта: утечки сотен гигабайт переписки, найденные бэкдоры и данные, внезапно ставшие доступными «третьим лицам». Пока большинство проектов пытается защитить серверную часть или внедрить еще более сложные протоколы шифрования, я решил пойти другим путем: просто убрать сервер из этой цепочки. В чем реальная уязвимость сигнальных серверов Многие мессенджеры гордятся стойкостью шифрования - AES-ключи, обфускация трафика и борьба с DPI выглядят солидно. Но остается один критический нюанс: у них всё равно есть сервер. Даже если его называют «сигнальным» и говорят, что он нужен только для установления связи, это всё равно точка сбора данных. Если данные где-то собираются, за ними рано или поздно придут. Будь то хакерская атака или официальный запрос - метаданные (кто, когда и с кем общался) могут рассказать о вас больше, чем само содержание сообщений. Ну и наконец в серверную могут просто прийти уполномоченные люди которые потребуют предоставить доступ ко всему ).
https://habr.com/ru/articles/986700/
#WebRTC #Kotlin_Multiplatform #P2P #Информационная_безопасность #Приватность #Сетевые_технологии #Android_разработка #Бессерверная_архитектура #Метаданные #Разработка_мессенджеров
-
Navigation3 + Koin в Compose Multiplatform
В этой статье я бы хотел поделиться своими наработками по тому, как можно удобно совмещать библиотеку Navigation3 и Koin в Compose Multiplatform проекте и какие подводные камни есть на текущий момент.
https://habr.com/ru/articles/984552/
#compose_multiplatform #kotlin_multiplatform #kmp #navigation3 #koin
-
Navigation3 + Koin в Compose Multiplatform
В этой статье я бы хотел поделиться своими наработками по тому, как можно удобно совмещать библиотеку Navigation3 и Koin в Compose Multiplatform проекте и какие подводные камни есть на текущий момент.
https://habr.com/ru/articles/984552/
#compose_multiplatform #kotlin_multiplatform #kmp #navigation3 #koin
-
Navigation3 + Koin в Compose Multiplatform
В этой статье я бы хотел поделиться своими наработками по тому, как можно удобно совмещать библиотеку Navigation3 и Koin в Compose Multiplatform проекте и какие подводные камни есть на текущий момент.
https://habr.com/ru/articles/984552/
#compose_multiplatform #kotlin_multiplatform #kmp #navigation3 #koin
-
Анимация смены темы в Compose Multiplatform
Анимация смены темы в Android-версии Telegram на протяжении долгого времени вдохновляет разработчиков на попытки реверс-инжениринга этого красивого трюка: в сети немало подробных гайдов, как сделать подобную анимацию при помощи традиционных XML View и даже Flutter. Но реализаций этой элегантной (хоть и совершенно бесполезной) анимации на Jetpack Compose мне найти так и не удалось, что привело к созданию маленькой библиотеки для анимирования смены темы. Вера в будущее KMP также подтолкнула меня к тому, чтобы сделать ее из коробки готовой к установке в Compose-Multiplatform проекты, с поддержкой всех основных платформ (Android, iOS, Desktop JVM, Web WASM+JS). Хотя сама библиотека вышла крайне компактной, ее реализация оказалась довольно нетривиальной на мой субъективный взгляд и может быть интересна каждому, кто изучает Compose или ищет подобные решения для своего проекта. На старте написания библиотеки сами собой возникли ряд требований, которым она должна была отвечать:
https://habr.com/ru/articles/983488/
#compose_multiplatform #kotlin_multiplatform #jetpack_compose #android #animations