Mobile Development by AppTractor
11K subscribers
1.87K photos
38 videos
11 files
4.67K links
Цифры, советы и все интересное о разработке мобильных приложений и сервисов. Комментарии и вопросы можно писать прямо @lbogolubov

• Аудитория https://t.me/apptractor/1066
• Сайт https://apptractor.ru/
Download Telegram
Android

Запутались, когда использовать withContext(Dispatchers.IO), а когда — launch(Dispatchers.IO)? В этой статье раскрывается настоящая разница: withContext — это синхронное переключение контекста, которое приостанавливает корутину до завершения блока, тогда как launch — это создание новой корутины, запускаемой параллельно. Понимание этого помогает избежать лишних переключений, уменьшить накладные расходы и правильно распределять задачи между потоками.

Библиотека Jetpack Navigation 3 стала стабильной
Как всплывающее окно в WebView съело мои два дня (viewport и с чем его кушать)
The Real Difference Between withContext(Dispatchers.IO) and launch(Dispatchers.IO)
Hot Android Libraries 2025 — Open-source projects worth using
Complete Guide to Android Services: Architecture, Implementation, and Best Practices
3🤡1
А в этой статье рассказывается, как создавать человечную визуализацию данных на мобильных устройствах. Не просто графики — а истории: данные должны быть понятны, личны и контекстуальны. На маленьком экране важно учитывать цель пользователя, тип данных (как количественные, так и качественные), взаимодействие через тап, свайп, скролл. Особое внимание — этике: честность представления, прозрачность и контроль для пользователя.
Эмпатия + дизайн + повествование = визуализация, в которой числа становятся смыслом.

Разработка

Designing Humanist Data Visualization for Mobile

Маркетинг


Сосредоточься на удобстве шаринга, а не на масштабировании
Мобильный рынок Ближнего Востока: исследование Bidease и Sensor Tower выявляет драйверы роста
Apple объявляет финалистов премии App Store Award 2025
Grow ARPU by adding value for existing subscribers: tactics + real app examples

Кроссплатформа

Smart Flutter In-App Subscriptions
1
This media is not supported in your browser
VIEW IN TELEGRAM
🇸🇱 💽 Android Quick Share теперь работает с AirDrop на iPhone

Компания Google объявила сегодня, что функция Quick Share в Android теперь работает с системой AirDrop от Apple на iPhone, iPad и Mac, обеспечивая лёгкую передачу файлов между платформами/операционными системами.

На Android устройства Apple будут отображаться в полноэкранном интерфейсе Quick Share и их можно будет выбрать в качестве получателей для обмена, если активен режим AirDrop «Все на 10 минут» (Everyone for 10 minutes). После того, как пользователь iPhone подтвердит получение, файлы будут переданы. Аналогичным образом, устройства Android будут отображаться на iPhone, iPad и Mac.

Самое примечательное, что это не совместная работа Google и Apple, все сделали в Android. Представитель Google Алекс Морикони сказал:
Это не коллаб. Мы добились этого благодаря собственным усилиям.

До патча для AirDrop в iOS осталось 3... 2...
Please open Telegram to view this post
VIEW IN TELEGRAM
😱11😁8👍2
📺 Видео и подкасты за неделю

(iOS Ru) Разбор кода: iOS-приложение для управления личными финансами на Swift. Часть 1
(iOS En) Showcase:​ Learn how apps are integrating the new design and Liquid Glass
(iOS En) Code-along: Start building with Swift and SwiftUI 
(iOS En) iOS Coding Interview: The 5 Formats You Must Know
(iOS En) Liquid Glass Text View - Converting Text Into Shape - SwiftUI
(iOS En) Expand Apple’s Foundation Models with Custom Tools and Real Data Access
(iOS En) Animated Splash Screen for SwiftUI App
(iOS En) Autoclosures in Swift Explained Simply
(And En) App performance improvements
(And En) How to debug and troubleshoot R8 optimizer
(And En) Boost Android app performance with the R8 optimizer
(And En) Floating Toolbars In Material3 Expressive
(And En) Navigation 3 library is now STABLE
(And En) Gradle Tutorial: Properties and Providers (for Build Engineers)
(Crs Ru) Хватит страдать! Лёгкий способ бросить оверинжиниринг
(Crs En) Build a Compose Multiplatform Meme Creator App With Clean Code & MVI
(Dev Ru) Как устроены АI облака — ИИ, инфраструктура, GPU, Nebius

Прошлогодние видео:

(iOS Ru) Дейтинг, Swift и Формула-1: от первых шагов в IT до победы в хакатоне
(iOS Ru) iOS разработка с нуля
(And Ru) Code Review: вы не поверите, насколько распространены эти ошибки в коде Android-проектов
(Dev Ru) Всё о лицензиях библиотек, что необходимо знать разработчику

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Стабильные вопросы разработки

Врываемся в понедельник с новым дайджестом за прошлую неделю - вопрос с собеседования, на котором сыпятся даже Senior-ы, стабильный Navigation 3 и нестабильная ViewModel, кросс-компиляция, 100 уроков развития проекта, открывашка из трубки домофона и многое другое. Заходите!
iOS
С мест докладывают, что Xcode ужасен. Постоянные ошибки, баги интерфейса, неочевидное поведение и местами плохая документация — всё это мешает спокойно писать код. В статье автор делится ошибками и «особенностями» Xcode, которые больше всего его раздражают. Главный совет: держитесь подальше от этой IDE и всегда ищите альтернативы. Которых нет, стоит добавить. А вы как бы оценили свой опыт работы с "фирменными" IDE?

Apple сосредоточится на «качестве и базовой производительности» iOS 27 в следующем году
Validator — элегантная и типобезопасная валидация входных данных
Разбор кода: iOS-приложение для управления личными финансами на Swift. Часть 1
Xcode — худшее профессиональное ПО, с которым я когда-либо работал
Embedded Swift Improvements Coming in Swift 6.3
Visual debugging with Swift Charts
Attach to Multiple Processes
Handling Non-Breaking Numbers in Dynamic Text
Managing In-App Purchases in your apps
Building Peer-to-Peer Sessions: Sending and Receiving Data with Multipeer Connectivity
👍3🤡2
Android

Недавно Джейк Уортон опубликовал статью, в которой призывает разработчиков активнее использовать бета-версии библиотек AndroidX. Он пишет, что бета-версии AndroidX — это не хлам, а боевой код, у них строгая проверка API, быстрое обнаружение и исправление багов, ускоренные обновления. Кажется, аргументы Джейка очень весомые — особенно в контексте долгосрочной стабильности и быстрого получения баг-фиксов. Однако, если у вас нет хорошо налаженной CI или тестов, есть риск: переход на беты требует ответственности и готовности реагировать на ошибки.

VanishEffect Library — эффект распыления для UI-элементов
Android Quick Share теперь работает с AirDrop на iPhone
Наш опыт публикации мобильных приложений. Часть 2: AppGallery и RuStore
You should use AndroidX betas
Port Your Android App to Meta Quest: A Step-by-Step Guide
4
В JetBrains запустили 4-недельную учебную программу по Kotlin Multiplatform — «KMP: Level Up Your Skills». Неделя 1 (10 ноября): подборка курсов, видео и статей по KMP для разных уровней — от новичков до опытных. Всё отобрано командой JetBrains. Неделя 2 (17 ноября): эксклюзивные курсы по Compose Multiplatform: бесплатный 5-часовой crash course от Филиппа Лакнера + возможность получить 30% скидку на углублённый курс. Неделя 3 (24 ноября): лучшие доклады с KotlinConf про KMP. Неделя 4 (3 декабря): вебинар «From Android Dev to KMP Pro» с приглашёнными экспертами

Разработка

Как устроены АI облака — ИИ, инфраструктура, GPU, Nebius
Why Does Development Slow?

Маркетинг


5 способов повысить удержание пользователей в вашем приложении
Новое приложение Phictly объединяет людей в обсуждении книг и фильмов
Самые скачиваемые и зарабатывающие приложения в мире в октябре 2025
Mixup делает промпты для фотографий игрой

Кроссплатформа

Kotlin Multiplatform: Level Up Your Skills Before 2026
Using Navigation 3 with Compose Multiplatform
5
Как вы вы оценили Xcode/Android Studio по пятибальной шкале?
Anonymous Poll
19%
5
21%
4
19%
3
7%
2
5%
1
7%
Пользуюсь другой IDE
21%
Посмотреть
🤡25👍1🤯1
iOS

При создании сложных систем с поведением, меняющимся во времени, визуальная обратная связь не просто приятна, она крайне важна. В этом примере Swift Charts позволили легко добавить эту возможность отладки, а вложение нескольких десятков строк кода сэкономило часы слепой отладки. Диаграммы стали не просто фичей, но и инструментом разработки, который продолжает помогать мне проверять новые функции и выявлять регрессии. Если вы работаете с какими-либо временными рядами данных или алгоритмическим поведением, подумайте о добавлении диаграмм на ранних этапах процесса разработки. В будущем вы будете благодарны.

Визуальная отладка с помощью Swift Charts
Делаем неразрывные числа в динамическом тексте
К какому компоненту отнести тот или иной класс? Мой опыт разделения функциональности между компонентами
Vercel: How we built the v0 iOS app
Beyond GeometryReader: Building Better SwiftUI Modifiers with onGeometryChange
Creating Custom Modifiers is Super Easy with SwiftUI
SwiftUI: Group Activity for REMOTE Synchronized Media Playback
4
Android

Весной 2025 года Google представила Live Updates, аналог Live Activity в iOS. В Додо Пицце быстро запушили продактов — «нам такое надо!» — и потащили фичу в Android-приложение. Но всё оказалось не так просто — разработчики столкнулись с неполной документацией, расхождениями представлений дизайнеров Google и разработчиков этого SDK, и не только. В общем, запасайтесь попкорном. Сегодня они рассказывают обо всех нюансах в реализации и тестировании Live Updates.

Новый проект Google Aluminium OS переносит Android на ПК
Simple Flashlight — фонарик для Android
Вам следует использовать бета-версии AndroidX
Live Updates на Android: где макеты врут, a SDK ставит границы
I Made My Jetpack Compose Home Screen 3× Faster — Here’s Exactly What I Did
Stop Copy-Pasting Build Logic: Use Gradle Convention Plugins Instead
Android WorkManager: A Complete Technical Deep Dive
Jetpack Compose: 6 Modifiers Nobody Tells You About
I compared 17 Kotlin MVI libraries across 103 criteria - here are THE BEST 4
2😁2
Anthropic сегодня выпустил Claude Opus 4.5, которая, по словам компании, является «лучшей в мире моделью для программирования, работы с агентами и использования компьютеров». Она превосходит предыдущие модели в решении повседневных задач, таких как глубокие исследования, и является «шагом вперёд в возможностях систем искусственного интеллекта». В тесте SWE-bench модель набрала рекордные 80.9%, а Адам Вольф, один из разработчиков Claude Code в Anthropic, написал, что в первой половине будущего года с разработчиками будет покончено. Никто больше не будет проверять код, как никто сейчас не проверяет выдачу компилятора. Страшно?

Разработка

Anthropic выпускает Claude Opus 4.5 с улучшенными возможностями программирования
Почему ваш сайт ломается, когда его трогают пальцем
Google’s New IDE Might Finally Fix What VS Code Never Could — Project IDX

Маркетинг

Разработчики инди-игр представили новый слоган: «Без ИИ»
The definitive guide to video paywalls
Monetization Report 2025

Кроссплатформа

Делаем простой фитнес-трекер на React Native + Expo
Made a liquid-glass effect in Flutter
Flutter’s New GenUI SDK: What It Can Offer?
👍2
Расширим вчерашний опрос: Как вы оцениваете ваш опыт работы с Xcode?
Anonymous Poll
10%
5
12%
4
20%
3
16%
2
19%
1
6%
Лучше, чем с Android Studio
17%
Посмотреть
Расширим вчерашний опрос: Как вы оцениваете ваш опыт работы с Android Studio?
Anonymous Poll
23%
5
29%
4
9%
3
4%
2
4%
1
11%
Лучше, чем с Xcode
20%
Посмотреть
😁7🤡2😢1
И для этого есть ИИ

Идея нового стартапа MyHair AI пришла в голову Кириаку Лефорту два года назад. 32-летний француз сидел в парикмахерской в Нью-Йорке и делал обычную стрижку, когда его парикмахер посмотрел на него и сказал: «У вас начинают немного выпадать волосы».
В моем представлении я не лысел, и до сих пор не считаю, что лысею. Но когда кто-то говорит тебе, что ты теряешь волосы, ты покупаешь все, что он тебе предлагает.

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

Это взаимодействие завело его в индустрию лечения выпадения волос, с огромным количеством дезинформации и клиниками с непроверенными отзывами (позже он пошел к врачу-трихологу, который сказал ему, что на самом деле он не лысеет).

Лефорт — серийный предприниматель, он в настоящее время управляет двумя компаниями вместе с 28-летним Тиленом Бабником. Дуэт решил объединиться и создать третью компанию: MyHair AI. Они разработали продукт всего за несколько недель. Он работает следующим образом: пользователи фотографируют свою голову и загружают фотографии в приложение MyHair. Технология искусственного интеллекта анализирует эти фотографии, чтобы измерить плотность волос и обнаружить ранние признаки выпадения.

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

Потребовалось около года на разработку идеи, несколько недель на программирование с Cursor, несколько месяцев на научную и клиническую проверку и еще несколько недель на создание потребительского приложения, чтобы дуэт был готов запустить MyHair.AI. Компания начала работу этим летом.

«Мы не нанимали никого для создания первоначального прототипа; он был полностью написан с помощью вайб-кодинга», — сказал он, добавив, что теперь, когда продукт вырос, их инженеры занимаются кодом, чтобы обеспечить его надежность и масштабируемость. MyHair AI — один из многих примеров того, как быстро стартапы могут создаваться в наши дни с ростом популярности прототипов, написанных с помощью вайб-кодинга.

Лефорт сказал, что MyHair отличается от других, потому что этот продукт — один из немногих, который построен на специальной модели искусственного интеллекта, обученной на более чем 300,000 изображений волос для диагностики облысения, а не использует для этого более общий LLM.

Мужчины беспокоятся о двух вещах в своем здоровье: сексуальной дисфункции и выпадении волос, — говорит Лефорт. - Мы решаем одну из самых больших повседневных проблем.
👍6😁5🔥2
Что такое стратегия Direct-to-Consumer и почему не развивать её — значит проиграть?

D2C (Direct-to-Consumer) — это модель, при которой вы продаете свой продукт пользователю напрямую, через свой вебшоп, без посредников вроде App Store или Google Play. Не развивать свой D2C — значит постепенно уступать позиции тем, кто уже работает так со своей аудиторией.

Индустрия смещается в сторону прямых каналов, потому что они дают контроль над доходами, данными и отношениями с игроками. Пока одни продолжают полагаться исключительно на App Store и Google Play, другие получают больше гибкости, экономят на комиссиях, лучше понимают свою аудиторию и быстрее реагируют на её поведение.

Это превращается в ощутимое преимущество: больше маржи — больше инвестиций в продукт, персонализацию и маркетинг; больше данных — точнее стратегия; прямой контакт — сильнее бренд и выше удержание. Регуляторы по всему миру уже ослабляют монополию площадок, и те, кто используют возможности D2C сейчас, занимают место, которое позднее будет гораздо сложнее отвоевать. Поэтому отсутствие D2C — это не просто «пока не приоритет», а осознанное согласие играть по правилам, которые становятся всё менее выгодными.

Если вам интересно, прочитайте подробнее о D2C-модели тут, они профессионально строят такие вебшопы.
2
Стартовал конкурс Advent of Code 2025

Настало самое чудесное время года. Время, которое можно провести, участвуя в увлекательном конкурсе по программированию.

Каждый декабрь Эрик Вастл публикует Advent of Code, увлекательный набор упражнений по программированию. С 1 по 12 декабря каждый день публикуется по одному заданию.

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

Вот сообщества для разработчиков:

Swift
Kotlin

Таблица лидеров будет автоматически обновляться, показывая, кто выполнил задачу, и выставляя оценку в зависимости от того, сколько времени у вас на это ушло. Конечно, вы всегда можете игнорировать оценку — это просто для удовольствия!
3👍2
Неделя Jetpack Navigation 3

Jetpack Navigation 3 теперь стабилен, и его использование может помочь вам уменьшить технический долг, обеспечить лучшее разделение задач, ускорить разработку функций и поддерживать новые форм-факторы. Google посвящает целую неделю новой библиотеке и поможет вам узнать о Nav3 и начать интегрировать ее в свое приложение.

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

• Понедельник: Обзор API
• Вторник: Анимации
• Среда: Глубокие ссылки
• Четверг: Модуляризация
• Пятница: Спросите о чем угодно
👍5
Вынесу из комментариев к митапу Вкусноточки. Нагенерили темы интересных докладов:

• Современный подход в навигации с использованием бургер меню
• Clean Architecture: зачем нам третья булка (лишний слой абстракции) и почему код "съезжает" в сторону
• Монолит vs Микросервисы: Переходим на архитектуру "Наггетс" — маленькие, автономные и в коробочке
• Релиз как Хэппи Мил: никогда не знаешь, какая бага (игрушка) попадется внутри
• Flutter и React Native: Это как Веганский Бургер — выглядит как настоящий, пахнет как настоящий, но на вкус всё равно г... чувствуется JavaScript
• Внедряем Dark Mode: Как не пережарить котлету до состояния #000000
• Push-уведомления: Цифровой аналог вопроса "Пирожок будете?"
• Onboarding новичков: Как выдать форму и поставить за кассу, чтобы они не пролили колу на прод

Добавляйте в комментариях.
🔥1441
Навигация на SwiftUI: чего не хватает и как исправить

В статье iOS-разработчик CleverPumpkin Даниил Апальков разбирает ограничения SwiftUI при построении сложной навигации, с которыми команда столкнулась на одном из своих проектов. Он рассказывает, в каких сценариях приходилось подключать UIKit, чтобы сохранять стабильность, показывает варианты подходов и делится выводами, какие инструменты выбирать для контролируемой навигации.
👍10🔥4🙈2👏1🌚1