Мобильная разработка
14.9K subscribers
487 photos
208 videos
2.52K links
Актуальное по мобильной разработке — Android, iOS, кроссплатформа

Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/oVBP
Download Telegram
Готов ли Kotlin Multiplatform Mobile для кроссплатформенной разработки?

Для кроссплатформенных приложений на рынке используют уже проверенные фреймворки Flutter и React Native. Но у них есть минус — общий пользовательский интерфейс, который сложно поддерживать с учётом особенностей Android и iOS.

Однако существует фреймворк Kotlin Multiplatform Mobile, с помощью которого общая логика приложений пишется на Kotlin, а интерфейс уже разрабатывается нативно. Пока он находится в альфа-версии, но некоторые компании уже применяют его в реальных проектах.

В статье технический архитектор «Леруа Мерлен» рассказал о своём опыте работы с KMM:

https://tprg.ru/aSV6

#android #ios #kmm #react_native
Приложение для управления финансами MoneyFlow

MoneyFlow создано в рамках AndroidDevChallenge, который Google проводила в начале года.

Под капотом: Kotlin Multiplatform для объединения логики iOS- и Android-приложения, Jetpack Compose и SwiftUI для создания интерфейса.

Посмотреть: https://github.com/prof18/MoneyFlow

#ui #kmm #compose #swiftui #android #ios
Многопоточность в Kotlin Multiplatform на примере Яндекс.Карт

Команда Яндекс.Карт вынесла в KMM много общей логики Android- и iOS-приложения, и затем стала внедрять в общий код многопоточность на Kotlin. Однако то, что идеально работает на Android, может постоянно падать на iOS.

В статье рассказано, как им удалось решить появившиеся проблемы и запустить многопоточность:

https://tprg.ru/SjTG

#kmm #ios
Работа с памятью в Kotlin/Native

При использовании Kotlin Mobile Multiplatform необходимо учитывать специфику управления памятью в Android и iOS. В первую очередь проблема затрагивала работу с потоками, и разработчик был вынужден писать кусок отдельного кода для поддержки платформы.

Однако в конце августа JetBrains представила новый способ управления памятью в Kotlin/Native, который призван сделать бизнес-логику действительно общей между платформами.

Разобраться в управлении памятью в Kotlin/Native поможет серия статей:

1. Работа с потоками с корутинами и без (первая часть).
2. Работа с потоками с корутинами и без (вторая часть).
3. Работа с новой моделью памяти.

#kmm #kotlin #ios
Архитектура MVI в Kotlin Multiplatform

MVI состоит из двух основных компонентов: Model (слой логики и данных) и View (слой UI). Model хранит состояние state и передаёт его View, в View в свою очередь отвечает за выдачу намерений (intents).

Благодаря разделению бизнес-логики и интерфейса архитектура MVI хорошо подходит для использования в KMM-проекте. А разобраться в реализации MVI поможет цикл из трёх статей:

1. Краткое описание шаблона MVI, постановка задачи и создание общего модуля с использованием Kotlin Multiplatform.
2. Интеграция общего модуля в iOS- и Android-приложения.
3. Модульное и интеграционное тестирование.

#android #ios #kmm #архитектура
Приложение для официантов на KMM и Flutter: особенности нестандартного стека

Перед разработчиками из r_keeper стояла непростая задача — переписать порядком устаревшее приложение для обработки заказов в ресторанах.

Поскольку требовалось создать приложение для iOS и Android, команда стала смотреть в сторону кроссплатформы и выбрала необычный стек на Kotlin Multiplatform и Flutter. В статье они объяснили свой выбор: https://tprg.ru/YP58

Решение дошло до стадии продакшна, однако в процессе ребята столкнулись со множеством трудностей. Подробнее о проблемах рассказано в статье: https://tprg.ru/JxEK

#flutter #kmm
Доклады с Mobius 2021 Piter

Вчера стали доступны записи докладов с конференции по мобильной разработке Mobius 2021 Piter. Делимся частью интересных выступлений:

1. «Оптимизация сборок Android-приложений» Валерия Петрова.

2. «Введение в Apple Metal» от Георгия Остроброда.

3. Воркшоп по созданию мессенджера на Flutter.

4. «Kotlin Multiplatform Advanced. Делаем общий DI для iOS и Android» Анны Жарковой.

Все доклады собраны в плейлисте на YouTube: https://tprg.ru/tUpV

#android #ios #flutter #kmm #доклады
Создание общего SDK чата на KMM

Kotlin Mobile Multiplatform дал возможность разработчикам переиспользовать бизнес-логику в приложениях для Android и iOS.

В последнее время появляется всё больше успешных кейсов, и один из них — реализация кроссплатформенного SDK чата. Ребятам понадобилось создать удобный канал связи, который охватывает Android, iOS и веб.

Вот, что у них получилось: https://tprg.ru/os8a

#kmm #android #ios
Оптимизация времени CI-сборки проекта на Kotlin Multiplatform

Сборка проекта на KMM вызывает затруднения, когда требуется создать билды для нескольких target-платформ (Android и iOS, например). К тому же, хостинг машины на macOS обходится существенно дороже, чем на Windows и тем более на Linux.

К счастью, сборку можно оптимизировать: на macOS и Windows собирать только необходимые части, а остальное — на хостинге с Linux. И дешевле, и быстрее, ведь происходит параллельная сборка.

Подробнее: https://tprg.ru/mKGO

#ios #kmm #android
Kotlin for everything: доклад с Omsk DevFest

В 2021 году пользователи имеют такое большое количество устройств, что создание кроссплатформенных приложений уже стало необходимостью. И инструмент Kotlin Multiplatform может стать решением проблемы.

KMM объединяет всю бизнес-логику в единые модули, которые вы можете использовать на различных платформах (Android, iOS, веб) и при этом писать логику только на Kotlin.

Мобильная команда из Leroy Merlin уже использует KMM в своих проектах. И разработчик Алексей Гладков рассказал, как им удалось переехать с Android, с какими сложностями с KMM они столкнулись и оправдал ли результат ожиданий:

https://youtu.be/9u37zatFYgM

#android #ios #kmm
Теперь можно быстро сгенерировать проект на Kotlin Multiplatform (KMM)

Тимлид команды Kotlin Multiplatform Mobile в JetBrains подготовил небольшое веб-приложение Kotlin Multiplatform Wizard. В нём вы можете выставить все необходимые настройки нового проекта, а затем скачать готовый проект одной кнопкой.

Пользуйтесь: https://terrakok.github.io/kmp-web-wizard/

#kmm #android #ios #kotlin
Тренды мобильной разработки в 2022 году: что изучать и к чему готовиться

Наш коллега Алексей Гладков подготовил видео, где поделился своими наблюдениями по развитию мобильной разработки. В ролике затронуты не только обновления Android и iOS в 2021 году, но и тенденции российского IT-рынка и психологическое здоровье разработчика.

Можно включить на фоне как подкаст: https://youtu.be/5abMzaGMen4

#android #kmm #ios #flutter
Внедрение Kotlin Multiplatform Mobile: опыт QIWI

Мы не раз писали про KMM. Платформа позволяет написать бизнес-логику приложения на Kotlin и затем использовать ее на разных платформах. При этом UI-слой пишется отдельно под каждую из них.

Разработчики из QIWI попробовали технологию в деле и поделились своим опытом. Если вкратце, то технология им показалась многообещающей, но без проблем не обошлось.

Подробнее: https://habr.com/ru/company/qiwi/blog/658275/

#kmm #android #ios
KMM и QIWI, часть вторая

В начале апреля мы делились статьёй от QIWI, где ребята рассказали о своём опыте внедрения Kotlin Multiplatform Mobile. Но в ней затронута в основном только техническая сторона перехода на KMM.

Поэтому разработчики выпустили продолжение, где рассказали о том, как они убедили компанию перейти на KMM, готовили прототип и внедряли технологию в команды:

https://habr.com/ru/company/qiwi/blog/662077/

#kmm #android #ios
Бета-версия Kotlin Multiplatform Mobile отложена до осени 2022 года

В недавно опубликованном обновлённом роадмапе объяснили причину. Выход бета-версии связан с тем, когда новый менеджер памяти в Kotlin/Native станет основным (default). В Kotlin 1.6.20 менеджер достиг статуса альфа-версии, и с тех пор его продолжают улучшать.

Также в роадмапе разработчики рассказали о фичах, которые доступны уже сейчас:
— инструмент командной строки KDoctor для настройки среды разработки KMM-приложений;
— новый экспериментальный DSL для упрощённого вывода Kotlin/Native-«бинарников»;
— улучшенный UX для работы с нативными библиотеками в KMM-проектах.

#kmm
This media is not supported in your browser
VIEW IN TELEGRAM
Объясняем Kotlin Multiplatform на крестиках-ноликах

KMM позволяет разработчикам объединить всю бизнес-логику в единые модули и запускать один и тот же код на разных платформах. За последние несколько лет эту модель обсуждают всё чаще.

Разработчик Тихон Устинов рассказал о плюсах и минусах работы с KMM в проекте, а также на примере создания игры «крестики-нолики» для Android, iOS и JS продемонстрировал, как применять KMM:

https://habr.com/ru/company/rostelecom/blog/682160/

#kmm #android #ios
Как внедрить KMM в существующие проекты и не пожалеть

Компания IceRock Development поделились своим опытом перехода на Kotlin Multiplatform Mobile. На данный момент компания разработала более 20 проектов, а также поддерживает свой набор библиотек MOKO для KMM.

В статье Алексей Михайлов подробно рассказывает, зачем внедрять КММ в проект, с какими ошибками они столкнулись. А также в конце статьи можно найти пошаговый гайд по внедрению КММ:

https://habr.com/ru/post/708328/#Nash-opyt-vnedrenija-KMM-v-sushhestvujushhie-proekty

#kmm
Как настроить окружение в KMM

В этой статье разработчик компании Joy Dev делится советами, как быстро настроить окружение при переходе на КММ: Windows и MacOS. Подготовка системы для пользователей Windows не занимает и пары минут, а вот на macOS могут возникнуть проблемы с несовместимостью версий (Cocoapods с Ruby).

А ещё автор показывает пример создания проекта с помощью Kotlin Multiplatform Wizard:

https://habr.com/ru/company/joydev/blog/711234/

#kmm
KMM глазами iOS-разработчика

В этой статье Мялкин Максим рассказывает про свой опыт работы с KMM со стороны iOS-разработки и нюансы использования данного SDK:

— где хранить common-код?
— реализация UI, DI и навигации,
— логирование и краши,
— отладка приложения.

Подробнее:

https://habr.com/ru/company/kts/blog/715890/

#kmm #ios
Подкаст: заказчики, платформы и технологии

Команда Mobius выпустила новое видео с Алексеем Гладковым, в котором обсуждают заказчиков и вечный вопрос: Flutter, KMM или нативная разработка?

Самые странные хотелки заказчика, стоит ли соглашаться? Когда стоит отказаться от привычных технологий в пользу чего-то нового — в этом видео:

https://youtu.be/UGow5drkUvA

#android #kmm