RU

GamFree: как я в одиночку сделал приложение против лудомании — без бэкенда, аккаунтов и подписок

Привет, Хабр. Это история о том, как я делал ставки 7 лет, потом бросил, а потом написал приложение, которое помогло бы мне бросить раньше. Расскажу и…

react nativeexpogoogle playмобильная разработкалудоманиязависимостьpet-проектсоло-разработка
Habr
RU

Книга: «System Design. Проектирование мобильных систем. Подготовка к сложному интервью»

Привет, Хаброжители! Что вас ждет на интервью по проектированию мобильных систем (MSD)? Что делать, если вас попросят разработать новый YouTube или те…

system designсюймобильная разработкавеб-разработкакотлинkotlin
Habr
RU

Про BDUI грабли на примере простого опросника, который не так прост, как кажется

Однажды у нас появилась задача, которая (на первый взгляд) выглядела очень простой: сделать опросник в приложении. На макетах всего лишь пара экранов,…

bduiмобильная разработкасистемный анализbackend-разработка
Habr
RU

Переезд с XML на Jetpack Compose на проде: базовые классы, архитектура, сложности и готовые решения

Меня зовут Родион, и я уже около 2,5 лет работаю в VK Android-разработчиком в крупном многомодульном проекте с сотнями экранов и довольно большой ауди…

androidjetpack-composeмобильная разработкаархитекура приложенийkotlinmvvmmvi
Habr
RU

Push-уведомления в мессенджере: production-грабли которых нет в туториалах

Это девятая статья про инженерные решения в ONEMIX. Тема узкая, push-уведомления. Но я её давно хотел разобрать, потому что туториалов в интернете мно…

react nativepush notificationsexpofcmapnscallkitvoipмессенджермобильная разработкаdeep linking
Habr
RU

Почему мало просто перейти на SwiftUI и Compose: заглядываем под капот перезапуска приложения Бургер Кинг

Когда старый монолит начинает мешать процессам в разработке, первое, что обычно приходит в голову командам — это переезд на новый стек. Логика понятна…

мобильная разработкамобильные приложениябигтехбургер кингфронтенд-разработкаразработка под androidразработка под iosперезапускархитектура приложенийпроцесс разработки
Habr
RU

Outbox-паттерн для мобильного мессенджера: как Telegram не теряет сообщения и почему ваш код их теряет

Это седьмая статья про инженерные решения в ONEMIX. Тема узкая, но болезненная для каждого кто делал мобильное приложение с отправкой сообщений или фа…

react nativeмессенджерoptimistic updateoutboxмобильная разработкаархитектураtelegramасинхронностьобработка ошибокretry
Habr
RU

Как я сделал групповые звонки в React Native мессенджере: WebRTC, CallKit и грабли production'а

Это третья статья из серии про инженерные решения в ONEMIX — моём мессенджере на React Native. В первой я разбирал трёхуровневый кэш сообщений, во вто…

webrtcreact nativelivekitcallkitvoip push notificationstrickle iceмобильная разработказвонкимессенджер
Habr
RU

Как я сделал трёхуровневый кэш сообщений в мессенджере на React Native — и что узнал по дороге

Я делаю мессенджер ONEMIX на React Native. К моменту, когда я начал писать этот пост, в нём уже больше десятка экранов, групповые WebRTC-звонки через …

react nativesqliteкэшированиеexpoмессенджерdrizzle ormмобильная разработкапроизводительностьархитектураtelegram
Habr
RU

200 OK по протоколу, но не OK для клиента: автоматизация контроля совместимости API и приложения

Выпустить релиз — часы работы команды. Упасть на старте — 1 секунда. Узнать об этом не из отзывов пользователей — бесценно. Серверные тесты проходят, …

мобильная разработкаapi тестированиеcicddevopsaillmbpm-системыавтоматизациякорпоративные приложения