Мобильная разработка
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
Как сделать 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
Compose + Koin + Jetpack Navigation: что мы поняли за 2 года

Привет, Хабр! Меня зовут Арсений Шпилевой, и я Android-разработчик в core-команде WB Partners, Wildberries & Russ. Сегодня поделюсь нашим опытом развития архитектуры приложения на Jetpack Compose: с какими ограничениями мы столкнулись, как укротили навигацию от Google и какими молитвами всё это подружили с Koin. Главным образом речь пойдёт про навигацию на уровне UI, без data- и domain-слоёв.
Читать далее

Читать: https://habr.com/ru/companies/wildberries/articles/939526/

@a_cup_of_java | Другие наши каналы
Как мы создали курс по разработке мобильных игр, в котором Java оживает, а наставник становится другом

В этом году мы запустили новую образовательную программу «Разработка мобильных игр» для школьников 8–9 классов — и она получилась по-настоящему особенной. Это не просто очередной курс по программированию или геймдеву: мы объединили код, персонажей, физику и истории в одно целое, сделав обучение настоящим приключением. Вместо сухих лекций, ребята начинают стажировку в виртуальной гейм-студии, где их сопровождает наставник Максим. Он не просто рассказывает про программирование, а делится эмоциями, личными историями и шутками про баги. Объясняет сложные вещи «на пальцах», вместе с учениками разбирает задачки и отвечает на вопросы в формате встреч (лонгридов) с примерами кода и иллюстрациями. Такая история «по ту сторону экрана» сильно вовлекает учеников: сторителлинг помогает им лучше усваивать материал и понимать, зачем всё это нужно.
Читать далее

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

@a_cup_of_java | Другие наши каналы
Мессенджер
Национальный мессенджер Max: что умеет и чего от него ждать
Разбираем вместе с экспертами, как работает Max: функции, интеграции с Госуслугами, вопросы безопасности и перспективы развития сервиса.

— Читать дальше «Национальный мессенджер Max: что умеет и чего от него ждать»
👎24👍2🌭2🍌1💊1
Swift Concurrency и CoreBluetooth: как построить современный BLE-сервис

На случай проблем с сетью в Ситидрайве есть оффлайн-сценарий — управление дверьми машины через Bluetooth. Недавно мы с командой обновили этот механизм и значительно улучшили интеграцию различных модулей телеметрии.

Я взял на себя часть по iOS и попробовал применить новый Swift Concurrency поверх старого CoreBluetooth. В этой статье расскажу, какие подводные камни вылезли при совмещении structured concurrency и callback-ориентированного API, как их обойти и на что стоит обратить внимание, если вы тоже решите «прикрутить» современные async/await к старому API.
Читать далее

Читать: https://habr.com/ru/companies/citydrive/articles/946328/

@a_cup_of_java | Другие наши каналы
👍5
Swift на Android: создаём библиотеку

Привет, хабр!

Поддержка Android в Swift 6 и swift-android-sdk от finagolfin это настоящий прорыв, который наконец-то позволил мне выпустить JNIKit, который я разрабатывал для проекта SwifDroid ещё со времён Swift 5. Теперь мы можем просто import Android, вместо того чтобы возиться с ручным импортом NDK header'ов, а сборка конечных бинарников теперь обеспечивается не отдельным тулчейном, а минималистичной SDK, которую в скором времени сделают официальной на Swift.org.
Читать далее

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

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