Pull to refresh
  • by relevance
  • by date
  • by rating

Уже сегодня Android MeetUp: VK, Leroy Merlin, FindMyKids, Кухня на районе

JavaDevelopment for AndroidKotlin

Сегодня, 25 марта (четверг), в 17-00 (МСК время) пройдет Android-митап с докладами от разработчиков из Вконтакте, Леруа Мерлен, Кухни на районе и FindMyKids.

Ссылка на онлайн-трансляцию

Темы докладов:

1. Внедрение KMM в высоконагруженное приложение - Алексей Гладков, Mobile Tech Architect, Леруа Мерлен

Как объединить Android и iOS команды и ускорить разработку. Как начать использовать Kotlin Multiplatform Mobile в своей работе.

2. Раз и навсегда побеждаем проблему неоднородных списков - Артур Илькаев, Android Developer, ВКонтакте

Как менеджерить десятки view types с помощью Delegation Adapter. Про стандартные оптимизации для RecyclerView и кастомизацию данного подхода.

3. Google App Actions - Сергей Гонин, Lead Android Developer, Кухня на районе

Как связать работу приложения с голосовым помощником? Как строить диалог с пользователем не покидая Google Assistant.

4. Как интегрировать платежки из нескольких сторов в Android приложение - Степан Луценко, Lead Android Developer, Findmykids

Почему стоит опубликоваться в App Gallery. Как тестировать приложение если нет "живого" девайса.

А также проведем викторину с призами и будем дарить мерч за лучшие вопросы к докладам!

Регистрируйся! Все подробности здесь

Читать далее
Total votes 8: ↑8 and ↓0 +8
Views492
Comments 0

Continuous delivery для вашей Kotlin Multiplatform библиотеки

Badoo corporate blogDevelopment for iOSDevelopment of mobile applicationsDevelopment for AndroidKotlin

Logo


Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и принимаю участие в создании библиотеки Reaktive — Reactive Extensions на чистом Kotlin.


В процессе работы мы столкнулись с тем, что в случае с Kotlin Multiplatform continuous integration и continuous delivery требуют дополнительной настройки. Необходимо иметь в распоряжении несколько виртуальных машин на различных операционных системах, чтобы собрать библиотеку полностью. В этой статье я покажу, как настроить continuous delivery для вашей Kotlin Multiplatform библиотеки.

Читать дальше →
Total votes 24: ↑23 and ↓1 +22
Views3.1K
Comments 2

Summer MVP. Насколько гибок Kotlin?

Development for iOSDevelopment for AndroidKotlin


/ Оригинал /


Синтаксис языка Kotlin — довольно гибкая вещь и лаконичность кода, которой в Java можно добиться только с помощью кодогенерации, в Kotlin зачастую реализуется стандартными средствами языка (раз, два).


Под катом история про то, как мы испытывали Kotlin на гибкость (и пару раз сломали), реализуя MVP-библиотеку Summer без кодогенерации и с поддержкой Kotlin Multiplatform.

Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Views2.5K
Comments 2

Почему мы выбрали Kotlin одним из целевых языков компании. Часть 2: Kotlin Multiplatform

ДомКлик corporate blogDevelopment of mobile applicationsKotlin
Продолжаем цикл статей о внедрении языка Котлин в наш процесс разработки. Первую часть ищите здесь.

В 2017 году увидел свет амбициозный проект от компании Jetbrains, предлагающий новый взгляд на кросс-платформенную разработку. Компиляция кода на kotlin в нативный код различных платформ! Мы же в Домклике в свою очередь всегда ищем способы для оптимизации процесса разработки. Что может быть лучше переиспользования кода, подумали мы? Правильно — не писать код вообще. И чтобы всё работало так, как хочется. Но пока так не бывает. И если есть решение, которое позволило бы нам, не затрачивая слишком больших усилий, использовать единую кодовую базу для разных платформ, почему бы не попробовать?

Итак, всем привет! Меня зовут Геннадий Васильков, я андроид разработчик в компании Домклик и сегодня я хочу поделиться с вами нашим опытом разработки на Kotlin Multiplatform для мобильных устройств, рассказать с какими трудностями мы столкнулись, как решали и к чему в итоге пришли. Тема наверняка будет интересна тем, кто хочет попробовать Kotlin MPP (Multiplatform projects), либо уже попробовал, но не довёл до продакшена. Либо довёл, но не так как хотелось бы. Я попробую донести наше видение того, как должен быть устроен процесс разработки и доставки разработанных библиотек (на примере одной из них расскажу начало нашего пути становления в Kotlin MPP).

Желаете историй как у нас всё получилось? Их есть у нас!


Поехали
Total votes 15: ↑14 and ↓1 +13
Views5.7K
Comments 6

Как Kotlin Multiplatform экономит время на разработку. Личный опыт создания игрового приложения для KotlinConf 2019

Development of mobile applications

Привет! На связи IceRock Development, команда из Новосибирска.


Хотим поделиться полезным опытом. Вот уже 2 года мы занимаемся разработкой на Kotlin Multiplatform. В 2018 году начали реализовывать свои проекты и сразу сделали несколько открытий. В том числе выяснили, что мультиплатформенная технология значительно экономит силы и время.



Читать дальше →
Total votes 5: ↑4 and ↓1 +3
Views3.4K
Comments 2

«Студийные» приложения Netflix на Android и iOS теперь с Kotlin Multiplatform

JUG Ru Group corporate blogDevelopment for iOSDevelopment of mobile applicationsDevelopment for Android
Translation
Примечание от переводчика: при словах «мобильные приложения Netflix» вспоминаются их основные приложения для просмотра видеоконтента, но компания ведёт и «киностудийную» разработку — для тех, кто этот контент создаёт. И их пост посвящён использованию Kotlin Multiplatform во втором случае.

В последние годы Netflix разрабатывает сервис Prodicle для индустрии производства телесериалов и фильмов. Мир съёмок живёт на высоких скоростях, а его запросы существенно различаются в разных странах, регионах и даже проектах. Его специфика означает, что мы делаем софт с упором на запись, в распределённом окружении, причём на съёмочной площадке интернет-соединение окажется очень надёжным менее чем в трети случаев, а право на ошибку у нас ограничено. Поэтому мы, будучи маленькой инженерной командой, обнаружили, что оптимизация надёжности и скорости выпуска продукта просто необходима нам, чтобы успешно отвечать растущим запросам наших клиентов.


Поскольку сетевое соединение часто оказывается ненадёжным, мы обратились к мобильным решениям для персистентности на клиентской стороне и поддержки офлайна. А потребность выпускать быстро привела к экспериментам с мультиплатформенной архитектурой. И теперь мы зашли тут ещё на шаг дальше, использовав Kotlin Multiplatform, чтобы писать платформонезависимую бизнес-логику один раз на Kotlin и компилировать её в Kotlin-библиотеку для Android и нативный Universal Framework для iOS с помощью Kotlin/Native.


Читать дальше →
Total votes 22: ↑21 and ↓1 +20
Views3.5K
Comments 0

Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.1

Development for iOSDevelopment of mobile applicationsDevelopment for AndroidKotlin
Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech»
Я давно занимаюсь не только нативной разработкой (как iOS, так и Android), но и кросс-платформенной. В свое время я очень плотно писала на Xamarin (iOS, Android, так и Forms). Так как я интересуюсь различными технологиями шаринга кода, то не прошла и мимо Kotlin Multiplatform (KMM). И сегодня мы с вами поговорим об этом SDK, и как с ним работать на практике.

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



Для начала немного вводной информации. Если вы уже знакомы с Kotlin Multiplatform, то листайте ниже до примера. Если хотите сразу перейти к advanced примеру, то вам сюда.

Основная идея KMM, как и других кросс-платформенных технологий — оптимизация разработки путем написания кода один раз и последующего его использования на разных платформах.

Согласно концепции JetBrains, Kotlin Multiplatform не является фреймворком. Это именно SDK, который позволяет создавать модули с общим кодом, подключаемые к нативным приложениям.



Для взаимодействия с платформами используются специфические для платформы версии Kotlin: Kotlin/JVM, Kotlin/JS, Kotlin/Native. Данные версии включают расширения языка Kotlin, а также специфичные для конкретной платформы библиотеки и инструменты. Написанный на Kotlin модуль компилируется в JVM байткод для Android и LLVM байткод для iOS.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Views3.8K
Comments 0

Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.2

Development for iOSDevelopment of mobile applicationsDevelopment for AndroidKotlin
Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech».

В предыдущей статье я рассказывала про один из способов реализации многопоточности в приложении Kotlin Multiplatform. Сегодня мы рассмотрим альтернативную ситуацию, когда мы реализуем приложение с максимально расшариваемым общим кодом, перенося всю работу с потоками в общую логику.



В прошлом примере нам помогла библиотека Ktor, которая взяла на себя всю основную работу по обеспечению асинхронности в сетевом клиенте. Это избавило нас от необходимости использовать DispatchQueue на iOS в том конкретном случае, но в других нам бы пришлось использовать задание очереди исполнения для вызова бизнес-логики и обработки ответа. На стороне Android мы использовали MainScope для вызова suspended функции.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Views3K
Comments 13

Варианты настройки iosMain sourceSet'а в Kotlin Multiplatform Mobile

Development for iOSDevelopment of mobile applicationsDevelopment for AndroidKotlin
Sandbox

При использовании Kotlin Multiplatform Mobile сталкиваешься с непривычной особенностью — iOS код рассматривается компилятором в нескольких вариантах: iosArm64 и iosX64, а также iosArm32 (для поддержки девайсов вышедших до iPhone 5s). При разработке под iOS на Swift про эти особенности не думаешь, так как это скрыто в header’ах системных библиотек условиями препроцессора. 

Для разработчика чаще всего и не должно быть необходимости учитывать архитектуру процессора, на котором будет запущено приложение (особенно если архитектуры одинаковой битности, как iosArm64 и iosX64). И код под обе архитектуры полностью одинаковый, поэтому проект настраивают под использование одного источника исходного кода — iosMain. Есть несколько вариантов объединения ios кода в одном sourceSet, каждый со своими плюсами и минусами.

Читать далее
Total votes 5: ↑5 and ↓0 +5
Views1.2K
Comments 0

Из JCenter в Maven или короткая заметка о публикации мультиплатформы Kotlin

Kotlin
Tutorial

Недавно появилась новость о том, что JCenter скоро будет закрыт и как нам дальше жить там не сказано надо бы переезжать куда-то ещё. Лично для меня главным кандидатом стал MavenCentral, поскольку я уже давно там публикуюсь, хотя последний год привык делать это через Bintray. В этой заметке будет краткая информация о подводных, с которыми я встретился и как пришлось поменять свои скрипты публикации.

В ЭТОЙ СТАТЬЕ НЕТ ИНФОРМАЦИИ О ПУБЛИКАЦИИ НАТИВНЫХ ТАРГЕТОВ. И тем не менее, надеюсь, информация в статье будет вам полезна.

Читать далее
Total votes 11: ↑10 and ↓1 +9
Views1.8K
Comments 2

Готовим Большую Фичу™ на Kotlin Multiplatform. Доклад Яндекса

Яндекс corporate blogDevelopment for iOSDevelopment of mobile applicationsDevelopment for AndroidKotlin
Предположим, вы решили внедрить Kotlin Multiplatform в свой проект, чтобы переиспользовать логику на iOS и Android. Рано или поздно вы захотите сделать Большую Фичу, которая будет включать в себя и сложную многопоточную логику, походы в сеть, кэширование. Каждый из этих этапов вы привыкли делать на своей платформе (ведь делали это тысячу раз). Но в мультиплатформе нет привычных библиотек и подходов, зато есть абсолютно новый стек и тысяча новых способов элегантно выстрелить себе в ногу. Яндекс.Карты и Дмитрий Яковлев yakdmt прошли тернистый путь реализации фичи в мультиплатформе.

— Для начала пару слов о себе. Меня зовут Дмитрий Яковлев. Я поработал в нескольких стартапах, в нескольких банках, а сейчас работаю в Яндексе над Android-приложением Карт. При этом еще немного пишу на Kotlin Multiplatform кроссплатформенную логику.
Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Views3.9K
Comments 2

Как выбрать мобильную кросс-платформу в 2021 году

TINKOFF corporate blogDevelopment of mobile applications
Translation

Кросс-платформенные решения - тренд в мобильной разработке. Уже есть различные технологии от PWA до Flutter и Kotlin Multiplatform. Как выбрать среди них?

Новый развивающийся бизнес зачастую в первую очередь ориентируется на мобильные технологии: социальные сети, необанкинговые решения, приложения для электронной коммерции, такси и другие. Новый бизнес ориентирован на экономическую эффективность, поэтому переход на кросс-платформенность для разработки мобильного приложения кажется правильным выбором. Посмотрим, что будет в 2021 году и как выбрать правильную технологию.

Далее
Total votes 27: ↑18 and ↓9 +9
Views11.9K
Comments 20

Кроссплатформенная мобильная разработка: история вопроса

JUG Ru Group corporate blogDevelopment for iOSDevelopment of mobile applicationsDevelopment for Android

Когда речь заходит о разработке «сразу для Android и iOS», начинаются холивары и гадания на кофейной гуще. Что перспективнее, Flutter или Kotlin Multiplatform? Будущее за ними, или завтра их оба забудут?

Уверенно делать прогнозы — занятие весёлое, но не очень конструктивное. Я захотел подойти иначе. Поскольку мы проводим конференцию Mobius, я общался со многими мобильными разработчиками, в том числе об их опыте использования старых кроссплатформых решений. И теперь решил вспомнить, какими были эти решения, и понять их судьбу.

Как известно, «кто забывает об истории, обречён на её повторение». Если мы разберёмся с прошлым — возможно, тогда и будущее станет нам понятнее. А если вы сами работали с описанными технологиями — можете дополнять в комментариях своим опытом.

Читать далее
Total votes 57: ↑51 and ↓6 +45
Views12.7K
Comments 43

Как внедряли Kotlin Multiplatform в Профи

Development for iOSDevelopment of mobile applicationsDevelopment for AndroidKotlin
Sandbox

Привет, Хабр! Я Миша Игнатов, тимлид в компании Профи. Моя команда отвечает за клиентские мобильные приложения на Android и iOS. Мы используем Kotlin Multiplatform в production с 2019 года. Расскажу, почему мы выбрали именно эту технологию, как внедряли её, какие ключевые этапы прошли и какие сделали выводы.

Читать далее
Total votes 17: ↑16 and ↓1 +15
Views3.4K
Comments 1