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
Калькулятор

Вот чувак в Reddit пишет, что делает калькулятор для iOS. Сначала поулыбался - не, ну серьезно, калькулятор? - а потом полез в AppMagic и перестал улыбаться. Вот, например, Calculator+ - 66 миллионов (!) установок, $16 миллионов (!) валового дохода, $264K за прошлый месяц. Не, ну падает, да. Но в октябре 10 калькуляторов заработали больше $10K, 3 больше $100K, у 29 приложений из категории больше 100 тысяч установок. Так что не такая уж это и плохая тема - калькулятор…
👏7👍43
iOS

Нашел интересное открытое приложение для macOS. Dayflow записывает данные с экрана с частотой 1 кадр/с, анализирует их каждые 15 минут с помощью ИИ и формирует сводки и таймлайн ваших действий с отчётами (можно пересматривать таймлапсы). Оно лёгкое (размер приложения — 25 МБ), использует около 100 МБ оперативной памяти и менее 1% загрузки процессора. Кроме того, Dayflow по умолчанию означает владение и конфиденциальность. Вы контролируете данные, выбираете поставщика ИИ и можете хранить всё локально, если вам это удобно.

Dayflow — таймлайн вашего дня за компьютером
5 вещей о Optional в Swift, которые всех сбивают с толку
Флаги функций в Swift
10 SwiftUI Performance Secrets Every iOS Developer Should Know
7 Swift Operators That Look Weird but Are Actually Brilliant
Prompting users to review your app
SwiftUI: Discardable Slider
👍3
Android

Как приручить WebView: пререндерим экраны заранее (AndroidX WebKit prerenderUrlAsync), меряем не ощущения, а TTVR — время до визуальной готовности — лёгким offscreen-детектором, шлём метрики в Grafana. Внутри — когда и что пререндерить, таймауты/отмена, cookie-политика и готовые сниппеты. На проде — до 2.5× быстрее и меньше «белых экранов».

Google смягчает новые ограничения на загрузку сторонних приложений в Android
Как ускорить WebView в Android и доказать это цифрами
Fixing YouTube Playback in Jetpack Compose: The 3 Changes That Brought My Player Back
From ExoPlayer2 to Media3: Rebuilding Android Playback at Patreon
Google's automated review system is now protecting pirates and punishing developers for using Firebase App Check
👍4
Хоронили Flutter - порвали два Хабра (С) Автор статьи разбирает все любимые мифы: что Flutter тормозит (на самом деле просто не любит плохой код), что экосистема маленькая (55 000 пакетов — это, конечно, крошки), и что state management — это хаос (скорее, творческий выбор по вкусу). А потом показывает, что BMW, Google Pay и куча других серьёзных игроков уже давно спокойно живут на этом «похороненном» фреймворке. Так что, кажется, пора не хоронить Flutter, а признать: зомби-фреймворк оказался удивительно живучим.

Разработка

Hero выпускает SDK для автодополнения промптов
Chad: The Brainrot IDE — дикая среда разработки с играми и развлечениями

Маркетинг

Свой калькулятор
A guide to lifetime subscriptions: are they right for your app?
Oops! They Did It Again: How Supercell Made 5.7x Revenue For Clash Royale

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

Flutter — везде (и даже в чайнике). Часть 1
Распознаём позу человека во Flutter Web с MediaPipe
Как на Хабре каждый раз хоронят Flutter
How to Get the Most Out of Junie in a Kotlin Multiplatform Project
What’s new in Flutter 3.38
🥱7🤷‍♀5🍾31
🩼 Apple анонсировала партнерскую программу для мини-приложений в App Store

Мини-приложения внутри больших продуктов — это «программные пакеты, скрипты или игровой контент, добавляемые после установки приложения и выполняемые на устройстве, при условии, что такой код написан на HTML5, JavaScript или другом языке, одобренном Apple». Например, это мини-игры, чат-боты, плагины или игры в эмуляторах. При этом важно, чтобы мини-приложения не контролировались разработчиком основного приложения.

Приложения-участники должны поддерживать определённые технологии App Store:

• Advanced Commerce API и вспомогательные технологии для надлежащего продвижения мини-приложений и любых связанных с ними покупок
• Declared Age Rating API для предоставления контента и возможностей, соответствующих возрасту
• Использовать систему встроенных покупок Apple, которая предоставляет пользователям привычный и надежный способ совершать покупки, легко проверять историю покупок, просматривать, изменять или отменять подписки, а также обращаться в службу поддержки, например, для запроса возврата средств
• Конечную точку Send Consumption Information в App Store Server API для отправки информации о встроенной покупке пользователя в Apple при запросе возврата средств (эта информация также помогает информировать и улучшать процесс запроса возврата средств)

Уже можно подать заявку на участие в программе, в ответ Apple снизит комиссию за встроенные в такие мини-приложения покупки до 15%.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
📺 Видео и подкасты за неделю @AppFiles

(iOS En) Location OnBoarding Animation Using SwiftUI
(iOS En) Please stop making this Swift mistake
(iOS En) Using SwiftUI Foundation Models Transcripts to build a Chatbot
(iOS En) Monetizing Apps With SwiftUI - Tip Jar
(iOS En) Android developer verification walkthrough
(And En) Now in Android: 122 – Android Studio updates, Android 16 beta feature, and more
(And En) Building Androidify: an AI-powered Android experience
(And En) More customization in Material 3: the path to expressive apps
(And En) Building adaptive apps for Android
(And En) Building intelligent Android apps with Gemini
(And En) What's new in Android Studio's AI Agent
(And En) Building for TV and cars with Compose
(And En) All Types of Sliders In Material3 Expressive Explained
(And En) The 5 Coolest Android Studio Hacks In 5 Minutes
(And En) Gradle Tutorial: Task Types (for Build Engineers)
(And En) Gradle Tutorial: Build Lifecycle (for Build Engineers)
(Crs Ru) Как закалялся код — история большой оптимизации
(Crs Ru) Flutter везде, и даже в чайнике
(Crs Ru) WhiteLabel App на Flutter. Один код — тысяча лиц
(Crs Ru) Как Flutter преобразует графический слой микроядерной ОС
(Crs Ru) Многомодульность на Flutter. Переезжаем с монолита
(Crs Ru) Перевод OpenHarmony на статический язык и рантайм
(Crs En) Liquid Glass effect is now available in Compose Multiplatform
(Dev Ru) Калибровки в бигтехе: как оценивать сотрудников
(Dev Ru) Надя Зуева — стартап в Дубае, AI в моде, инвестиции и жизнь фаундера
(Dev Ru) IT рынок перегрет. Удаленка vs Работа в офисе. Сколько стоит содержать офис?
(Dev En) Discrete Mathematics Course for Beginners

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

(Dev Ru) Как начинающему программисту получить первый оффер
(Dev Ru) Релокация в США, часть 1: Безопасность, оружие, визы и медицина
(Dev Ru) А/В-тесты на коленке
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Актуальные практики, которые всех сбивают с толку

Традиционный дайджест со всеми материалами за неделю - Optional в Swift, которые всех сбивают с толку, актуальные практики работы в фоне и стартапы в Дубае, ИИ простыми словами, партнерская программа для мини-приложений в App Store, смягчение ограничений на загрузку сторонних приложений в Android и многое другое. Заходите!
2🔥2
Руководство по пожизненным подпискам: подходят ли они вашему приложению

Большая статья (в моем переводе) от RevenueCat о lifetime подписках или, проще говоря, одноразовых покупках "на всю жизнь". Разбирается зачем они нужны, кому нужны, плюсы и минусы с точки зрения пользователя или издателя. Ничего экстраординарного, но для закрепления и материала и размышлений не бросить ли все и уйти в сантехники - вполне.

AppGrowth про инди, пет и монетизацию
12
🇸🇱 Android

Производительность приложения — ключевой фактор пользовательского опыта и качества приложения, и последние исследования показывают, что она тесно связана с повышением удовлетворенности пользователей, более высоким уровнем удержания и более высокими оценками. У Google началась неделя Android Performance - всю неделю разработчики компании будут предоставлять вам простые, но эффективные инструменты и рекомендации, которые помогут вашему приложению быстро добиться лучшей производительности. Они помогут вам заложить основу (уже вышла статья про R8), а затем глубже погрузиться в процесс улучшения вашего приложения.

LibrePods — все функции AirPods на Android
QmBlurView — эффекты размытия
Improving your deep links with Dynamic App Links
Migrating Now in Android to Koin Annotations 2.3
MockK: Under the cover
Recover Kotlin coroutine traces with Decoroutinator
Easier Crash Debugging in Android with a Custom In-App Dialog
Deep Dive into Jetpack Compose Text Views : The Secret Life of Composable
Why Your ViewModel Is Technically Unstable — and Why Compose Doesn’t Mind
Use R8 to shrink, optimize, and fast-track your app
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Очередная история из разряда "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