Мобильная разработка
13.4K subscribers
891 photos
237 videos
2.98K links
Актуальное по мобильной разработке — Android, iOS, кроссплатформа

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

Регистрация в перечне РКН: https://tprg.ru/oVBP
Download Telegram
Что такое Compose Multiplatform?

На сегодняшний день есть два основных UI-фреймворка, которые позволяют запускать один и тот же UI на разных платформах и широко представлены на рынке: React Native и Flutter.

Но статья не о них, а об удобном и мощном инструменте мобильной и десктопной разработки — Compose Multiplatform, приложения на котором можно запускать почти где угодно и на чем угодно — Android, iOS, Windows, Linux, MacOS и в браузере:

https://habr.com/ru/companies/timeweb/articles/734818/

#compose #kotlin

@mobi_dev (теперь и в Max)
🤣5👍4
Топ-5 простых приложений, которые сделали создателей миллионерами — разбираем реальные кейсы

Не обязательно делать Гугл, чтобы заработать миллион долларов. Рассказываем о максимально простых аппах, которые принесли своим разработчикам семизначную прибыль: https://tproger.ru/articles/top-5-prostyh-prilozhenij--kotorye-sdelali-sozdatelej-millionerami---razbiraem-realnye-kejsy

@mobi_dev (теперь и в Max)
🔥2
Сам себе игровая консоль: превращаем планшет с нерабочим тачскрином в игровой девайс из 8 кнопок и микроконтроллера

Ну не только же нам приложения делать, правда? Давайте реанимируем ваш старый гаджет на Android и превратим его в игровую приставку.

Для этого нам понадобятся:
— старый планшет или смартфон на android;
— Raspberry Pi Pico;
— 8 кнопок;
— прямые руки;
— и, наконец, немного кода.

Подробная инструкция в статье:

https://habr.com/ru/companies/timeweb/articles/736438/

#android #diy

@mobi_dev (теперь и в Max)
👎2🔥2
Отладка iOS-приложений на практике: 3 реальных бага

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

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

#ios

@mobi_dev (теперь и в Max)
Что скрывает приложение Белого дома? Трекинг, обход пейволлов и JS с GitHub Pages

Декомпиляция официального Android-приложения правительства США показала, что даже государственный софт может быть напичкан сомнительными практиками. Но разбор интересен не скандалом, а набором антипаттернов, которые разработчики (и их заказчики) допускают слишком часто.

Ключевые находки, полезные для любого мобильного разработчика:

— Инжектор в WebView скрывает cookie-баннеры, GDPR-диалоги и пейволлы на сторонних сайтах. Встроенный браузер приложения подменяет поведение страниц — это и нарушение регуляций, и пример того, как не стоит вмешиваться в чужой контент.

— GPS-трекинг через OneSignal. Код для сбора координат (с интервалом 4,5 минуты в фоне) полностью присутствует в сборке, формально отключён флагом, но может быть активирован серверным конфигом без обновления через Google Play. Урок: если функциональность не нужна, исключайте соответствующие модули из билда, а не просто отключайте их флагами.

— Supply-chain риск: YouTube-плеер загружает HTML-страницу с GitHub Pages стороннего разработчика. Компрометация этого аккаунта позволит выполнить произвольный код в приложении. Хостинг критичных ресурсов на непроверенных площадках без SRI — плохая практика для любого продукта, особенно государственного.

— Артефакты разработки в продакшен-сборке: localhost, IP разработчика, экспортированная отладочная Activity, дев-меню. Это не просто неаккуратность, а потенциальные векторы атаки (например, через IPC).

— Отсутствие certificate pinning. Трафик между приложением и серверами можно перехватить на скомпрометированной сети.

Для мобильных разработчиков этот разбор — готовый чек-лист того, что нужно проверить перед релизом: исключить дев-артефакты, изолировать сторонние зависимости, настроить pinning и пересмотреть использование SDK с избыточными возможностями. Полный список найденных уязвимостей: https://tproger.ru/news/razrabotchik-dekompiliroval-prilozhenie-belogo-doma---nawyol-obhod-

#новости #android
🔥6🌚1
Google двинул on-device ML в тренды GitHub — два проекта для мобильных

В топ GitHub Trending недели попали два репозитория Google AI Edge.

Gallery (+4,3 тыс.) — демо с примерами on-device ML: генерация текста, классификация изображений, перевод речи. Всё локально на Gemma через LiteRT (бывший TensorFlow Lite) и MediaPipe. Сборки под Android и iOS — готовый референс для GenAI-фичи без облака.

LiteRT-LM (+2,2 тыс.) — C++ рантайм для 3–7B LLM на телефоне. Заточен под чипсеты Pixel и Samsung, единый API — альтернатива llama.cpp.

Остальные проекты недели разобрали на Tproger.

@mobi_dev (теперь и в Max)
👍4🤔1
Три ИТ-события, которые вы могли пропустить (а зря)

Пока все гонятся за хайповыми новостями, мы вместе с коллегой Андреем Дмитриевым из JUG.ru собрали события, которые уже повлияли на мир разработки.

В пилотном выпуске нового подкаста:
— Хакеры стерли десятки тысяч ПК через Microsoft Intune
— Дефицит оперативной памяти до 2030 года
— Оптимизация glibc под x86_64

О других событиях вы можете узнать, послушав подкаст.

Особое внимание предлагаем уделить рефлексии. В выпуске мы подсветили, почему те или иные истории важны для ИТ-сообщества. А теперь призываем вас в комменты под видео: что уже вошло в вашу жизнь из этих кейсов? И как думаете, что из этого не производит резонанса?

Смотрите подкаст и присоединяйтесь к дискуссии: https://tprg.ru/S7jD

@mobi_dev (теперь и в Max)
1🤔1
Локальный ИИ на iPhone — без облака и без зависимости от API

Google выпустил AI Edge Gallery для iOS: приложение запускает Gemma 4 прямо на устройстве. Ответы на вопросы, распознавание фото, расшифровка голоса — всё работает локально, без интернета. Для разработчиков это референсная реализация on-device ML с открытым исходником на GitHub — можно разобрать, как интегрировать модель в своё приложение.

На iPhone запускаются облегчённые версии на 2 и 4 миллиарда параметров. Вместе с iOS-версией добавили Thinking Mode (chain-of-thought с видимыми шагами рассуждений) и Agent Skills — плагины-инструменты, которые модель вызывает сама. Tool use на телефоне — теперь не только в слайдах, а в коде на GitHub под Apache 2.0.

@mobi_dev (теперь и в Max)
👏72
7 июня Яндекс проводит Mobile Runtime (офлайн в Москве и онлайн)

В этот раз программа делится на два трека — AI и Not so AI. Эксперты расскажут про влияние нейросеток на пайплайн и архитектуру.

Что в программе:

Проблема контекста в AI: Александр Иванов (Яндекс Go) на воркшопе покажет, как структурный индекс кода (ast-index) заменяет медленный grep и позволяет AI-агентам адекватно ориентироваться в гигантских монорепозиториях, не сливая токены впустую.

Performance-инженерия: Лев Бондаренко (Яндекс Еда) разберет кейс медиаленты. Расскажет про управление памятью, дебаг и архитектурные решения, которые позволили сохранить плавность интерфейса при тяжелом контенте.

Процессы и Seniority: на круглых столах лиды из Яндекса, Сбера, Райффайзенбанка и Одноклассников обсудят «обратную сторону AI» — почему сложность задач растёт вместе с внедрением агентов и как качать T-Shape скиллы, когда стек меняется слишком быстро.

Если вы работаете с нативной или кроссплатформенной разработкой, думаете про BDUI и перформанс — присоединяйтесь 7 июня.

Регистрация уже открыта.
3👎1
Android 17 убирает opt-out для адаптивности

На Google I/O 2026 анонсировали: Android 17 (API level 37) удаляет временный opt-out от ограничений на ориентацию и resizability. При target API 37 приложение обязано адаптироваться к экранам sw > 600 dp — планшетам, foldables и ChromeOS.

В Android 16 эти изменения уже ввели, но дали opt-out — можно было оставить app фиксированным под телефон. В Android 17 опции больше нет.

Что делать:
- Тестировать через флаг UNIVERSAL_RESIZABLE_BY_DEFAULT в App Compatibility Changes под SDK 36.
- Готовить UI на Compose 1.11 — Grid/FlexBox-лейауты и MediaQuery API.

Мотивация от Google Play — бейдж «Optimized for large screens» для приложений, прошедших новый quality bar.
👎5❤‍🔥1👍1
Android Skills — модульные AI-инструкции для разработки

Google выложила Android Skills — набор готовых markdown-инструкций для любой LLM (Claude, Gemini, GPT), которые проводят агента через рутинные архитектурные задачи в Android-проекте.

В наборе:
— View → Compose миграция с сохранением ViewModel-логики.
— Реализация adaptive-лейаутов под Android 17 (sw > 600 dp).
— Navigation 2 → Navigation 3 transformation.
— Миграция со старых camera-библиотек на CameraX.

Технически Skills — структурированные `.md` файлы с шагами, проверками и code patterns. LLM подключает их как контекст и идёт по чеклисту, не «вспоминая» Compose из памяти. Запуск — через новый Android CLI 1.0. Репо открытый, форкается под свой стек.

@mobi_dev (теперь и в Max)
👍2
Пять багов, которые видно только на живом железе

Подборка кейсов из практики мобильного QA — баги, которые проходят формальную проверку каждой итерации, но ломаются на стыке платформ:

— Android RatingBar наследует ProgressBar и считает рейтинг через округление по stepSize. На реальных Samsung округление уходило вверх: касание четвёртой звезды давало 5. Фикс — stepSize 0,01 и ручное округление в листенере.

— iPad слал в JSON OSName «iPadOS», бэкенд знал только «iOS» и возвращал 400 «Provider UUID not found». Все планшеты остались без пушей из-за одной строки.

— WebSocket чата не отправлял код 1000 при выходе, сокеты копились на каждом входе, приложение падало. Корень — переиспользованная библиотека основного банковского продукта.

— Чипсы специальностей и кнопка выбора счёта без скролла: на эмуляторе и тестовых данных всё ок, на восьми тегах и длинном списке UI ломался.

Внутри ещё промокоды и валидация на стыке веба и мобилки.

@mobi_dev (теперь и в Max)

@mobi_dev (теперь и в Max)
👍3👎3
Compose Multiplatform 1.11: iOS становится ближе к нативному ощущению

Кроссплатформенный UI часто ломается на мелочах: курсор в text field, selection handles, жесты, системное меню. В Compose Multiplatform 1.11 JetBrains как раз двигает эти детали на iOS, а не только добавляет ещё один общий API.

В релизе есть experimental native text input поверх UIView, concurrent rendering по умолчанию, обновлённые Compose UI test APIs v2 и переработанная обработка touch для web targets. Для мобильных команд это хороший набор сигналов: где shared UI уже зрелый, а где нужна проверка на устройстве.

Можно изучить релиз и выбрать, что тестировать в своём KMP-приложении. В деталях особенно полезны ограничения новых text input API и изменения в тестах.

@mobi_dev (теперь и в Max)
🔥3🍌31👌1
Если вы устали от бесконечных тасок и созвонов, то мы приготовили для вас игру, которая поможет отдохнуть

А заодно проверить вашу способность быстро запоминать новую инфу. Переходите по ссылке и играйте в нашу «Меморину». И делитесь результатами в комментариях!

Играть тут: https://tprg.ru/Yldr

@mobi_dev (теперь и в Max)
👍2