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

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

Регистрация в перечне РКН: https://tprg.ru/oVBP
Download Telegram
Взлом через картинку в Apple: уроки громкой уязвимости для разработчиков

Мир устроен так, что самые опасные угрозы обычно скрываются там, где их меньше всего ожидают. Мы в ИБ привыкли к фишинговым письмам и вирусам, но редко думаем, что обычная картинка в мессенджере может превратиться в инструмент шпионажа. Именно поэтому мы решили рассказать о громкой уязвимости PT-2025-34177 (CVE-2025-43300) – zero-day, которая, говоря простыми словами, позволяет злоумышленнику совершить атаку через вредоносную картинку, открытую пользователем на своем устройстве. И на этом примере показать, почему безопасность разработки — это не абстрактная теория, а жизненно важная практика для бизнеса, разработчиков, обычных пользователей и нас самих. Да-да, мошенники пишут даже сотрудникам службы ИБ, и картинки тоже отправляют.
Читать далее

Читать: https://habr.com/ru/companies/pt/articles/943630/

@a_cup_of_java | Другие наши каналы
👍2😱2🤝1
Android. Glance Widget. Часть 2. Конфигурация данных для виджета

Рассмотрим, как добавить конфигурационную activity для виджета, как сохранять, доставать и применять настройки.
Читать далее

Читать: https://habr.com/ru/articles/943678/

@a_cup_of_java | Другие наши каналы
Android. Glance Widget. Часть 2. Конфигурация данных для виджета

Рассмотрим, как добавить конфигурационную activity для виджета, как сохранять, доставать и применять настройки.
Читать далее

Читать: https://habr.com/ru/articles/943678/

@a_cup_of_java | Другие наши каналы
Apple
На GitHub появился коммит 1978 года за авторством Microsoft
Microsoft выложила на GitHub исходники BASIC 1.1 для MOS 6502, оформив коммит датой 1978 года. Это исторический код, стоявший у истоков компании

— Читать дальше «На GitHub появился коммит 1978 года за авторством Microsoft»
2
Жизненный цикл UIViewController в 2025 году: что изменилось и что устарело

В 2022 году я написал статью «Жизненный цикл UIViewController», где подробно разобрал порядок вызова методов и основные сценарии работы с ними.

С тех пор прошло больше трёх лет, и в iOS появилось несколько изменений, которые делают старую статью уже не до конца актуальной.
Читать далее

Читать: https://habr.com/ru/articles/943778/

@a_cup_of_java | Другие наши каналы
👍43
Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 2

Flutter & GitLab CI/CD. Сборка и подписание мобильных приложений

Привет! Меня зовут Данил Абдрафиков, я мобильный разработчик в компании TAGES. Эта статья является продолжением первой части руководства по настройке GitLab CI/CD для Flutter приложений, в котором мы подробно разобрали настройку физической машины и подготовили GitLab Runner для работы. Теперь, когда инфраструктура готова, перейдем к самому интересному – автоматизации сборки и подписания мобильных приложений.

Готовы превратить сборку мобильных приложений из рутинной задачи в полностью автоматизированный процесс? Тогда начинаем!
Читать далее

Читать: https://habr.com/ru/articles/943154/

@a_cup_of_java | Другие наши каналы
👎2👍1🔥1
Календарь домашних тренировок — 10 улучшений в пет-проекте

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

Самим приложением пользуюсь регулярно. На главной странице для незарегистрированных пользователей в качестве примера как раз показывается моя статистика. Помимо меня есть ещё 53 зарегистрированных пользователя с подтверждённым email.

https://github.com/dergunovs/fit - исходный код приложения
https://vkvideo.ru/playlist/15313879_11 - видео про разработку

Frontend: Typescript, Vite, Vue, Tanstack Query, Vitest, Vue I18n, Tauri
Backend: Typescript, Fastify, Mongoose, MongoDB, Swagger

Публикация приложения в RuStore

С помощью Tauri добавил генерацию формата APK. Зарегистрировался в RuStore в качестве разработчика, заполнил поля с описанием, сделал скриншоты. Модерация прошла очень быстро. Теперь приложение можно удобно скачивать и обновлять. Сам APK файл весит около 10 мегабайт. За 4 месяца с момента публикации в RuStore оттуда было 65 установок приложения.

Дизайн
Читать далее

Читать: https://habr.com/ru/articles/943834/

@a_cup_of_java | Другие наши каналы
👍31🤔1
Сломанный Galaxy Z Flip5 + клавиатура BlackBerry Q10 = необычный современный слайдер

Инженер собрал слайдер-смартфон: взял сломанный Galaxy Z Flip5 и встроил в него клавиатуру BlackBerry Q10, получив рабочий гибрид с ностальгией по 2000-м

— Читать дальше «Сломанный Galaxy Z Flip5 + клавиатура BlackBerry Q10 = необычный современный слайдер»
👍2🤔1
Мой путь новичка в разработке: FreeSpace — мобильное приложение для любителей космоса

Меня зовут Маша, я ученица «IT Школы Samsung». Хочу рассказать о своём проекте — мобильном приложении FreeSpace, которое объединяет новости о космосе, интерактивную карту и сообщество энтузиастов. Это не просто рассказ о коде, но и история моего пути в Android-разработке.
Читать далее

Читать: https://habr.com/ru/companies/samsung/articles/943884/

@a_cup_of_java | Другие наши каналы
🔥1
Dota Diviner: Когда математика побеждает интуицию

«Мы не выбираем, когда приходит момент, чтобы всё доказать.Только решаем. Поедем ли мы ради этого.»

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

Написал товарищу, который тогда был тренером по CS в Севастополе.
Он ответил: «Приезжай завтра».
Просто так. Без подробных вопросов. Просто потому, что мы оба понимали: аналитика — это не только цифры. Это опыт, болезненные ошибки и попытки найти закономерность в хаосе игры.

Собрал рюкзак. Ноутбук. Пара футболок.
И отправился на автостанцию...
Читать далее

Читать: https://habr.com/ru/articles/924726/

@a_cup_of_java | Другие наши каналы
🗿6🥱4🤪21
Квиз: Кто ты из российских мессенджеров

Готов погрузиться в атмосферу русского киберпанка? Наш новый квиз определит, какой ты отечественный мессенджер. Ответь на несколько вопросов о работе, апдейтах и зомби-апокалипсисе, чтобы узнать всю правду.

— Читать дальше «Квиз: Кто ты из российских мессенджеров»
🔥2🤣2
[Перевод] Next.js меня окончательно достал

Наконец, настал этот момент, и я решился написать статью. Давно хотел, но как-то не хватало мотивации. А ведь, знаете, как говорят: «гнев — лучший мотиватор». Есть же такое выражение?

Предыстория

Я приглашаю вас в путешествие, но сначала нужно расставить декорации. Представьте, что вы работаете в некой компании X, и один из ваших сервисов на Next.js крякнулся. Ну и поскольку это Next.js, то мы понятия не имеем, что конкретно произошло, так как логирование процессов по умолчанию включено только при разработке.

И теперь перед нами квест — найти и настроить механизм логирования для продакшена. Будет нелегко, но нам как бы не привыкать.
Читать далее

Читать: https://habr.com/ru/companies/ruvds/articles/943728/

@a_cup_of_java | Другие наши каналы
2👎1
Мобильная разработка за неделю #601 (1 — 7 сентября)

В новом дайджесте «стеклянный мир» iOS 26 и Flow-контейнеры в Compose, Android Glance Widget и жизненный цикл UIViewController 2025, лучшие практики агентного программирования, как замедлить программу и почему это может быть полезно, приложения, вышедшие в июле, и заработавшие больше $50,000, и многое другое. Заходите!
Читать далее

Читать: https://habr.com/ru/articles/944754/

@a_cup_of_java | Другие наши каналы
2👍1
Важные изменения ASO в 2025 году

Год еще не закончился, но больших апдейтов в ASO набралось на полноценный разбор. Apple и Google обновляют сторы: меняют поиск, добавляют новые поверхности и страны, внедряют AI-инструменты, делают модерацию строже и многое другое.

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

Читать: https://habr.com/ru/articles/944782/

@a_cup_of_java | Другие наши каналы
Поддержка PWA в Аврора 5.2

В версии ОС «Аврора» 5.2 наш браузер получает долгожданную поддержку Progressive Web Apps (PWA) - технологии, которая позволяет веб-приложениям выглядеть и работать как полноценные нативные приложения.

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

Меня зовут Тимур Валеев, я руковожу командой, которая занимается развитием браузера для ОС «Аврора», и сегодня мы разберем, как это было реализовано.
Читать далее

Читать: https://habr.com/ru/companies/rostelecom/articles/943456/

@a_cup_of_java | Другие наши каналы
👍6👎21
Apple
Календарь iCloud использовали для рассылки фишинговых писем
Мошенники используют iCloud Calendar для фишинга: рассылка писем с серверов Apple помогает обходить спам-фильтры и угрожает пользователям.

— Читать дальше «Календарь iCloud использовали для рассылки фишинговых писем»
🤔2
Как упростить разработку: опыт и размышления (компиляция из моей переписки)

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

Азазель предложил идею, которая кажется логичной и полезной:
Читать далее

Читать: https://habr.com/ru/articles/944946/

@a_cup_of_java | Другие наши каналы
👎1
MAX без оболочки: Что мы нашли в его APK

Недавно появившейся в мессенджер «Макс», наделал много шума. Он является достаточно спорным приложением и мне пришла в голову мысль изучить приложение и посмотреть, а настолько ли опасно оно, как о нем говорят.
Как можно познакомиться с приложением ближе, чем через его код? Тем более, что для исследования android-приложений нам не понадобятся сложные инструменты на подобии IDA или Ghidra, как это бывает с анализом исполняемых файлов.

Для анализа я использовал стандартный, для подобной задачи, набор инструментов: JADX, APKtool, VSCode ну и конечно же Android Studio, куда без него в анализе APK файлов.
Но, прежде чем лезть под капот «Макса» я установил его на эмулятор устройства и посмотрел его функционал и требуемые им разрешения. После того, как я ввел номер телефона и подтвердил его, «Макс» попросил доступ к моим контактам (Рисунок 1). Достаточно стандартное поведение для мессенджера, позволяет находить контакты из списка, зарегистрированных в «Максе»
Читать далее

Читать: https://habr.com/ru/articles/945306/

@a_cup_of_java | Другие наши каналы
👎11🤔3🔥2🍌1
Натив, Flutter или KMP — выбираем мобильный фреймворк для e-commerce

В 2025 году уже недостаточно просто выпустить приложение — оно должно быстро адаптироваться к изменениям рынка, удобно и эффективно интегрироваться с новыми технологиями и обеспечивать хороший пользовательский опыт. Но что лучше выбрать: нативную разработку, кроссплатформу, или Kotlin Multiplatform?

Александр Кияйкин, CTO компании по разработке мобильных приложений CleverPumpkin, разбирает эти три подхода и сравнивает плюсы и минусы каждой технологии.
Читать далее

Читать: https://habr.com/ru/companies/cleverpumpkin/articles/945268/

@a_cup_of_java | Другие наши каналы
👎9👍3
Apple
Apple представила iPhone 17 Air, 17 Pro с новым дизайном и AirPods 3 с пульсометром
Apple представила iPhone 17, ультратонкий 17 Air, 17 Pro с редизайном и AirPods Pro 3 с пульсометром и ИИ-фишками iOS 26

— Читать дальше «Apple представила iPhone 17 Air, 17 Pro с новым дизайном и AirPods 3 с пульсометром»
zenplan: как я сделал себе карманного помощника для целей и задач

Привет, Хабр! 👋

Меня зовут Денис, я продуктовый аналитик, и как многие из нас, я постоянно разрываюсь между проектами, встречами, идеями и личными задачами. Список дел разрастается быстрее, чем успеваешь их выполнять, а заметки и цели теряются между Google Docs, Notion и стикерами на рабочем столе.

В какой-то момент я понял, что трачу больше времени на организацию задач, чем на сами задачи. И решил написать себе карманного помощника, который соберёт всё в одном месте. Так появился мой бот zen_plan_bot.
Читать далее

Читать: https://habr.com/ru/articles/945412/

@a_cup_of_java | Другие наши каналы
3