Мобильная разработка
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
[Перевод] 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
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 | Другие наши каналы
Как мы сократили время доставки кода в 40 раз, или Непрерывная поставка в действии

Как сократить доставку кода в 40 раз: опыт CI/CD

Читать: https://tprg.ru/Fhe4

@mobi_dev | Другие наши каналы
🌚4
Станислав Петров: «Ключевые отличия РЕД ОС М от Android – вовсе не в интерфейсе»

Мобильную операционную систему РЕД ОС М устанавливают на все большее количество смартфонов и планшетов, а уже в 2026 году ожидается, что на РЕД ОС М будут работать десятки тысяч производимых в Подмосковье мобильных девайсов Passion. И, разумеется, все хотят задать разработчикам самые неудобные и каверзные вопросы. О том, как развивается ОС, чем она отличается от “перекрашенного Android”, а также о перспективах российских смартфонов и сравнении с продуктами Google и других вендоров рассказывает Станислав Петров, руководитель группы разработки мобильной ОС компании РЕД СОФТ.
Узнать, в чем отличия РЕД ОС М

Читать: https://habr.com/ru/companies/redsoft/articles/946516/

@a_cup_of_java | Другие наши каналы
👎14👍1
Generic'и и protocol'ы в Swift

Привет, Хабр! В прошлых статьях мы говорили про ARC и управление памятью в Swift, но обошли стороной ещё одну сильную сторону языка. Речь идёт о generic'ах и протоколах - именно они делают Swift таким чистым и мощным. В этой статье мы разберёмся, как они работают и почему без них невозможно представить современный Swift.
Читать далее

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

@a_cup_of_java | Другие наши каналы
👍4
Не одним CRDT едины или как решать конфликты в local-first приложениях

Сегодня поговорим про реализации решения конфликтов подходов local / offline-first – это когда ваше приложение позволяет пользователям работать полностью или частично оффлайн, а когда они выходят в сеть, синхронизировать все их изменения.

Примеры таких приложений: Notion-like редакторы, Figma-like вайтборды или Linear-like таск менеджеры.

Основная идея – коллаборация, а коллаборация несет за собой конфликты, разберем очень наглядный пример:
Читать далее

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

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