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

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

Регистрация в перечне РКН: https://tprg.ru/oVBP
Download Telegram
Три ИТ-события, которые вы могли пропустить (а зря)

Пока все гонятся за хайповыми новостями, мы вместе с коллегой Андреем Дмитриевым из 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
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.
👎6❤‍🔥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)
👍41
Пять багов, которые видно только на живом железе

Подборка кейсов из практики мобильного 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)
🔥4🍌31👌1
Если вы устали от бесконечных тасок и созвонов, то мы приготовили для вас игру, которая поможет отдохнуть

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

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

@mobi_dev (теперь и в Max)
👍3
Forwarded from Чашечка Java
Локализация через Enum: избавляемся от рантайм-парсинга

В статье на Tproger разобрали три подхода к локализации: классическое наследование требует дублировать поля вручную, стандартные ARB/JSON парсятся в рантайме и съедают память, а табличные генераторы требуют ручного запуска после каждой строки.

Выход — Enum в одном файле без внешних ресурсов. Это убирает рантайм-парсинг и ручное дублирование. Если ваши сервисы сопрягаются с клиентами, где локализация до сих пор требует JSON или генераторов, стоит переложить её на compile-time решение.
⚡️Если вы разрабатываете мобильные игры и хотите зарабатывать больше без комиссий сторов — заходите в канал D2C!

Здесь пишут о том, как запустить собственный вебшоп и продавать игрокам напрямую: настройка, LiveOps, рост повторных покупок.

А ещё можно задать вопросы и получить ответы от тех, кто уже строит веб-монетизацию в геймдеве.

➡️Подписывайтесь

Реклама. ООО Е-Промо. ИНН 5260246781. Erid: 2W5zFHq9LYH

Это #партнёрский пост
Please open Telegram to view this post
VIEW IN TELEGRAM
Появляется всё больше материалов с практическим опытом внедрения ИИ в крупных командах. Меня в таких историях всегда забавляет момент, когда эйфория от возможностей сталкивается с суровой реальностью процессов. Недавно посмотрел доклад Артура Василова про адаптацию ИИ в команде мобильного Яндекс Браузера — в нём звучит несколько идей, которые показывают настоящую картину.

Во-первых, нельзя просто взять и сказать: «всё, теперь мы работаем в 2 раза быстрее, вот LLM, вперёд» — это не серебряная пуля. Внедрять нужно постепенно и методично, выстроив среду и условия для перехода к AI-first разработке.

Во-вторых, как показала практика команды, реальное ускорение — 10–30%, а не в разы, как можно мечтать, потому что разработка лишь часть цикла производства. Ускорение разработки ≠ ускорение выхода фич на прод, и это важно чётко понимать.

Ещё одна мысль, которую я сам периодически повторяю окружающим: не пытайтесь применить ИИ везде и всюду. Берегите мозг, разгружайте себя от рутины, используйте там, где это уместно, но не прекращайте думать своей головой и отвечать за результат.

В докладе ещё много всего: как обеспечить окружение, какие метрики использовать для внедрения, как кучу Objective-C кода переводят на Swift, как подтягивают изменения из Chromium и мёрджат, что важно понимать бизнесу про AI-first. Такой набор тем даёт достаточно полную картину того, с чем сталкивается команда при внедрении, и оставляет пространство для собственных выводов и решений.
💯7👍3🔥21🌚1
Бывают баги, которые видно только на живом железе, поэтому для надёжного тестирования мобильных приложений компании либо собирали парки из «живых» устройств в офисах, либо покупали сотрудникам минимально необходимый набор, не покрывая все кейсы.

Теперь делать это совсем не обязательно, потому что можно собрать себе набор устройств через мобильную ферму Selectel.

Мобильная ферма — это реальные устройства, которые находятся в надёжном дата центре, а выбрать себе нужные для тестов можно просто через админку. После завершения сеанса ваши настройки сохранятся для будущих тестов, а данные — надёжно защищены. В парке устройств самые разные модели: от топовых до старых и редких. Система поддерживает параллельное тестирование, а обслуживание устройств Selectel полностью берёт на себя.

Кстати, новые клиенты при регистрации до 31го июля получат 100 минут на тест.

Это #партнёрский пост
💯2
Forwarded from IT Юмор
💯10😁6🗿2
Аутсорс, инхаус или выделенная команда — что реально дешевле?

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

Разбираемся, как считать настоящий TCO (полную стоимость владения) по трём моделям:
🔘Инхаус — почему свой разработчик дороже оффера;
🔘Аутсорс — за что вы платите маржу подрядчику;
🔘Выделенные команды — почему «возьмём человека и ускоримся» работает не всегда.

Внутри — формулы для каждой модели и чек-лист из 3 пунктов, чтобы выбрать формат под свой проект.
Please open Telegram to view this post
VIEW IN TELEGRAM
Kotlin 2.4.0 стабилен: что меняется для Android- и iOS-приложений

Летом Kotlin исполняется 15 лет, но для мобильной разработки важнее релиз 2.4.0. В стабильной ветке появились context parameters и explicit backing fields — то, что упростит шаблонный код в Android-проектах. Kotlin/Native теперь поддерживает Swift packages, что упрощает связку с iOS-зависимостями в Kotlin Multiplatform.

Compose Multiplatform дошёл до 1.12.0-beta01, а Compose Hot Reload — до 1.2.0-beta01. Если собираете shared UI под Android и iOS, это сокращает цикл правка-сборка-проверка. Gradle 9.5.0 тоже на борту. Подробности в обзоре.
👍2
Forwarded from Типичный программист
Android 17 даёт приложениям функции, которые ИИ-агенты могут вызывать сами

Привыкли, что приложение ждёт, пока вы сами нажмёте кнопку? В Android 17 Google меняет правила: разработчик аннотирует функции приложения, и ИИ-агент может дергать их через Jetpack, получая доступ к локальному состоянию.

Приложение перестаёт быть островом и становится частью инфраструктуры для агентов. 16 июня вышел Android 17 с API 37, а 9 июня появился Android CLI 1.0. Теперь проект можно собирать из командной строки.

Вдобавок с 30 сентября разработчиков ждёт обязательная верификация в четырёх странах, а в Play сервисный сбор отделяется от платёжного. Разобрали дайджест июня — кто платит, кто мигрирует и что ломается.
👎2