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
Очередная история из разряда "Fake it till you make it". CTO Fireflies.ai написал в LinkedIn, как они начинали свой шестой и последний стартап - продвигали ведение заметок в митингах на основе ИИ. На самом деле сами сидели "в совещаниях" и записывали все на бумажке. "Лучший прототип — это двое парней, выживающих на пицце.".

Разработка

Надя Зуева — стартап в Дубае, AI в моде, инвестиции и жизнь фаундера
Калибровки в бигтехе: как оценивать сотрудников
Какой Ai-шник нынче нужон?! / Исследование ИИ рынка труда РФ
Не бросайте работу только потому, что ваш пет-проект идёт хорошо
Тим Кук готовится к выходу на пенсию?

Маркетинг

Руководство по пожизненным подпискам: подходят ли они вашему приложению?
Fake it till you make it #2
Голосовая клавиатура Willow позволяет вам печатать во всех приложениях iOS

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

Как закалялся код — история большой оптимизации
Flutter везде, и даже в чайнике
Building the Same Login Screen in Flutter, SwiftUI, and Compose: A Real Developer’s Comparison
KMP-NativeCoroutines: where suspend meets Swift async
How Pub Workspaces Simplify Flutter Monorepos
👍2
Android

В статье Роман показывает, как упростить преобразование (mapping) данных в Android-приложениях с помощью Kotlin — используя интерфейсы, делегацию и ковариантные дженерики. Вместо привычных data-классов можно объявить интерфейсы для сущностей и состояния, а их реализации скрыть. Это избавляет от шаблонного кода, упрощает маппинг и делает архитектуру чище и более устойчивой. Полезно для ViewModel + StateFlow + Compose.

How Reddit used the R8 optimizer for high impact performance improvements
How to simplify State and Entity mappings with Kotlin interfaces, delegation and covariant generics
1
🤖 Лучшие приложения и игры для Android 2025 в Google Play

Google объявил лучшие приложения этого года. Focus Friend, помощник по управлению экранным временем от YouTube-блогера и предпринимателя Хэнка Грина, стал приложением года в Google Play.

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

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

Приложение стало хитом сразу после запуска, заняв первое место в App Store. Согласно данным Play Store, на Android Focus Friend установили более 1 миллиона раз. Google называет Focus Friend полезным и милым приложением, а также эффективным инструментом, помогающим пользователям сосредоточиться.

Карточная игра Pokémon TCG Pocket получила награду как лучшая игра, лучшим многофункциональным приложением стал фоторедактор Luminar, а лучшей multi-device игрой — гоночная игра Disney Speedstorm.

Другие лучшие приложения для Android 2025

• Лучшее приложение для удовольствия: Edits
• Лучшее приложение для персонального роста: Focus Friend by Hank Green
• Приложение на каждый день: Wiser – 15 Minute Audio Books
• Скрытое сокровище: Pingo AI Language Learning
• Лучшее приложение для семей: ABCmouse 2: Kids Learning Game
• Для часов: SleepisolBio: sleep, alarm
• Для больших экранов: Goodnotes: Notes, docs, PDF
• Для автомобилей: SoundCloud: The Music You Love
• Для XR гарнитур: Calm – Sleep, Meditate, Relax

Лучшие игры для Android 2025

• Лучшая многопользовательская игра: Dunk City Dynasty
• Лучшая игра Pick Up & Play: Candy Crush Solitaire
• Лучшая инди-игра: Chants of Sennaar
• Лучшая история: Disco Elysium
• Продолжающаяся игра: Wuthering Waves
• Лучшая игра с Play Pass: DREDGE
• Лучшая игра для Google Play Games на PC: Odin: Valhalla Rising
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🫡1
iOS

В статье автор собирает редкие, но мощные компоненты SwiftUI, о многих из которых разработчики забывают или просто не знают. Он объединяет фрагменты из предыдущих публикаций и показывает, как использовать такие вью, как TimelineView — идеальное решение для создания цифровых часов или таймера обратного отсчёта, которые автоматически обновляются без лишнего кода. Кроме того, статья охватывает целый набор менее распространённых элементов SwiftUI — это не просто «еще один туториал», а настоящая подборка скрытых возможностей фреймворка. Освоив эти компоненты, вы сможете сделать интерфейсы своих приложений более гибкими и выразительными, существенно расширив инструментарий, доступный помимо стандартных VStack, HStack и ZStack.

24 SwiftUI Components You Didn’t Know Existed!
Little SwiftUI Tip: Get Network Information & Monitor Changes
What I Learned While Building My Veggie Garden
Singletons with Swift Concurrency
👍1
Android

Знаете ли вы, что почти все ViewModel нестабильны? Когда мы впервые изучаем Compose, нас учат использовать стабильные классы, а не нестабильные. Но ViewModel нестабильны. Так почему же никто ничего не говорит, когда мы используем нестабильные ViewModel? Причина проста. Мы не передаём саму ViewModel в композабл объект, мы передаём стабильное состояние внутри ViewModel. ViewModel обычно создаётся только один раз в компонуемом объекте верхнего уровня и передаётся в качестве аргумента. После этого она собирает управляемое ею состояние и передаёт его дочерним компонуемым объектам. Поэтому, даже если ViewModel нестабильна, это не создаёт проблем.

Основы MockK
Почему ваша ViewModel технически нестабильна — и почему Compose это не волнует
Grocery Genius — список покупок для Android
How Uber is reducing manual logins by 4 million per year with the Restore Credentials API
Android 16: What’s New and How to Implement Live Updates in Your App
Comprehensive Guide to Using Rust in Android Development
KAPT vs KSP: Why Kotlin Is Moving Toward Symbol Processing
1
Вчера Google выпустил Gemini 3, свою новейшую и самую продвинутую модель, которая теперь доступна через приложение Gemini и интерфейс ИИ-поиска. Вместе с ним вышла Google Antigravity - отдельная десктопная IDE с фокусом на агентскую разработку. С мест докладывают, что для прозрачности действий Antigravity создает Artifacts - планы, списки задач, диффы, изменения в коде, вывод тестов, скриншоты и записи браузера. Это нужно для верификации того, что было сделано и что будет сделано. Можно оставлять комментарии прямо в артефактах. Antigravity лучше всего подходит для больших монорепозиториев и инфраструктурных задач, небольших команд, которым нужно "прыгнуть выше головы", для вайб-кодинга и быстрого создания прототипов.

Разработка

Google запускает Gemini 3 с новым приложением для программирования
Most companies will slow entry-level hiring because of AI, survey says
Material 3 Expressive: Building on the failures of flat design

Маркетинг

100 уроков о том, как я довёл своё приложение до продажи за семизначную сумму
Лучшие приложения и игры для Android 2025 в Google Play
How to run a holiday sale in Play Console for Android subscription apps

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

Flutter DevTools Network Tab: Debug API Calls Like a Pro in 2025
👍3
Библиотека Jetpack Navigation 3 стала стабильной

Jetpack Navigation 3 стал стабильным в версии 1.0. Используйте библиотеку в своих приложениях уже сегодня. Например, JetBrains уже использует её в своём приложении KotlinConf.

Navigation 3 — это новая навигационная библиотека, полностью разработанная для поддержки состояний Jetpack Compose. Она предоставляет полный контроль над стеком переходов, помогает сохранять состояние навигации и позволяет легко создавать адаптивные макеты (например, list-detail). У JetBrains даже есть кроссплатформенная версия.

Подробнее: https://apptractor.ru/info/news/jetpack-navigation-3-stab.html
Платформа: Android

AppFiles: код, инструменты, практики, производительность
41
Apple объявляет финалистов премии App Store Award 2025

Компания Apple сегодня объявила имена 45 финалистов премии App Store Awards этого года, отмечая лучшие приложения и игры в 12 различных категориях.

Лучшие приложения для iPhone

BandLab — за помощь музыкантам в записи и сведении треков с сообществом
LADDER — за избавление от неопределенности в силовых тренировках
Tiimo — за представление задач в более успокаивающем формате.

Лучшие игры для iPhone

Capybara Go! — за необычное приключение в роли очаровательного существа
Pokemon TCG Pocket — за то, что делает коллекционирование и игру легендарных карт покемонов ещё интереснее (игра стала "игрой года" на Android)
Thronefall — за сочетание захватывающих оборонительных сражений с минималистичным управлением

Лучшие приложения для iPad

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

Лучшие игры для iPad

DREDGE — за захватывающую загадку и плавный игровой процесс
Infinity Nikki — за погружение в причудливый мир Миралэнда
Prince of Persia Lost Crown — за эпическое приключение от начала до конца

Лучшие приложения в категории "Культурное влияние"

Art of Fauna — запечатлела красоту дикой природы в доступных головоломках
A Space for the Unbound — за исследование психического здоровья через трогательный жизненный рассказ
Be My Eyes — за поддержку пользователей с нарушениями зрения и слабовидящих
Chants of Sennaar — за воспевание силы языка и связей
despelote — за креативное создание игрового процесса, основанного на культурных особенностях
Focus Friend — за превращение фокус-сессий в увлекательные задания
Is This Seat Taken? — за развитие эмпатии и инклюзивности
Retro — за создание социальной платформы, учитывающей конфиденциальность и позволяющей близким оставаться в курсе событий
StoryGraph — за создание инклюзивного книжного сообщества
Venba — за освещение кулинарных традиций разных стран с помощью проникновенных историй
Whoscall — за защиту пользователей от мошенничества
Yuka — за помощь пользователям в осознанном выборе потребляемой продукции
👍21
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