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

• Аудитория https://t.me/apptractor/1066
• Сайт https://apptractor.ru/
Download Telegram
Веселая, но тем не менее сильно запрещенная Meta, наконец-то добавит рекламу WhatsApp. Хотя изначальные авторы мессенджера клятвенно обещали никогда этого не делать, их уже давно нет в компании, а монетизировать главный актив все больше хочется. В первую очередь реклама появится в разделе «Статусы» и будет похожа на нативные истории пользователей. Также появятся платные подписки и продвижение каналов для авторов. Пора заводить канал в WhatsApp?  ☺️

Разработка

Что такое Docs-as-Code: подход к документации в стиле разработчиков
Developers Don’t Need More Docs
Lessons From 9 More Years of Tricky Bugs

Маркетинг и монетизация


Маркетинговый анализ AIGC-приложений в I квартале 2025 года
В WhatsApp будет реклама

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

Кроссплатформенный опыт Surf с Flutter Web
Flutter vs Jetpack Compose: Which UI Toolkit Wins in 2025?
Building a Space Flight News App with Compose Multiplatform for Android, iOS, and Desktop: Part 2
1🌭1
Читаете какие-нибудь каналы в WhatsApp?
Anonymous Poll
1%
Да, много
2%
Несколько
93%
Нет
4%
Посмотреть
😁4
Как добиться успеха на мобильных устройствах в 2025 году - отчет Sensor Tower

Вышло дополнение к годовому отчету Sensor Tower за 2024 года. Отчет State of Mobile 2025: TikTok Edition, созданный на основе рыночной аналитики Sensor Tower и культурного анализа TikTok, объединяет точные данные о приложениях и человеческом поведении, формирующие будущее мобильных устройств. Этот отчет расширяет идеи из предыдущего отчета и включает в себя глубокое погружение в дополнительные темы, такие как географическое расширение, категории Производительность и Утилиты, а также Знакомства.

Вот, например. Чтобы понять, какие рынки имеют наибольший потенциал для вашей вертикали, первым шагом будет измерение относительной силы каждого рынка и того, как он развивается. Рыночные баллы Sensor Tower ранжируют каждый рынок на основе трех основных показателей: привлечение пользователей, вовлеченность и потенциал монетизации. Каждый рынок оценивался с использованием этих показателей по шкале от одного до пяти (пять для наиболее эффективных рынков), а общий балл рассчитывался как средневзвешенное значение этих трех баллов. США, Австралия и Япония вошли в пятерку лучших рынков благодаря высокой монетизации, в то время как высокие показатели привлечения новых пользователей вывели ОАЭ и Саудовскую Аравию на 2-е и 4-е места соответственно. Если говорить о росте, то Германия возглавила исследованные рынки в 2024 году с сильным ростом доходов и загрузок. Австралия, США, Франция, Канада и Великобритания также продолжили обеспечивать огромный потенциал роста для неигровых приложений
1👍1
iOS

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

Apple реализует промокоды для встроенных покупок
Стеклянный фасад Apple: почему новый дизайн iOS 26 и macOS — красивая ошибка
SwiftUI: The NEW TextEditor/AttributedString/AttributedTextSelection Combo
SwiftUI: Liquid Glass. From Basic to (A Little) Advance
Exploring the Secrets of layoutPriority in SwiftUI ZStack
Migrating internal iOS libraries to a monorepo using Swift Package Manager
From Massive SwiftUI Views to Reusable Components: The Root MVVM Approach to Modular Interfaces
An open source tool to speed up iOS app launch
Android

В Reddit снова недовольство: выкладывать приложение на Google Play стало не просто сложно — абсурдно сложно для одиночек. Один из авторов треда делится, что Google требует всё больше бюрократии: подтверждение адреса, банковские реквизиты, верификация личности, обязательное наличие сайта, а иногда и видеозапись, где ты демонстрируешь, как работает твоё приложение. И всё это — даже если ты просто один человек с простым приложением, без юридического лица и команды. Причём часто причина отказа непонятна: «Кнопка на экране выглядит неинтуитивно» — и весь релиз встал. На этом фоне Apple неожиданно выглядит более дружелюбно. Да, плата за аккаунт есть, но процесс модерации и публикации чёткий, предсказуемый и гораздо менее хаотичный. Разработчики задаются вопросом — не пытается ли Google выдавить с платформы мелких и независимых? Потому что сегодня чувство именно такое: Play Console теперь не для всех.

FigX — надежный импорт ассетов из Figma в Android-проект
Не хотите поговорить о Kotlin Contracts?
Google Play is making it harder for solo devs — Apple handles this way better
Things I Learned from Reverse Engineering My Own Android App
Mastering Coroutine Cancellation in Kotlin: Best Practices, Common Pitfalls, and Safe Handling of Repeating Tasks
Supercharge Your Android Workflow: A Practical Guide to CircleCI Automation
😢3💯3
Совершенно случайно нашел сервис, который позволяет читать закрытые пейволом статьи Medium бесплатно - Freedium. Просто кидаете в него ссылку и он выдает полный текст без украшательств. Кайф! Добавьте в закладки, точно пригодится.

Разработка

Anysphere запускает Ultra подписку на Cursor AI стоимостью $200

Маркетинг и монетизация

AppMetrica поможет маркетологам лучше анализировать целевые действия в приложениях
Как добиться успеха на мобильных устройствах в 2025 году — отчет Sensor Tower
Какого результата ждать от ASO и что можно спрогнозировать на старте работы
What the best subscription apps get right about paywalls

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

PWA vs сторы: что делать, если нужно вернуться в App Store и Google Play?
Supabase × Flutter in 2025 — The Full‑Stack Guide
iOS 26 Just Left Flutter Devs Behind
🔥11👍82🤡2
FaultOrdering — открытый инструмент создания файлов компоновки для ускорения запуска iOS-приложений

Sentry совместно с Emerge Tools открыли исходный код ключевого компонента своего инструмента Launch Booster — теперь он доступен как Swift‑пакет под названием FaultOrdering. Этот инструмент помогает ускорить запуск iOS‑приложений за счёт генерации order‑файлов, которые оптимизируют расположение кода в бинарнике. В результате уменьшается количество обращений к памяти при холодном старте и достигается заметное ускорение запуска — по данным авторов, до 20%.

Особенность FaultOrdering в том, что для его использования не нужно вносить изменения в код приложения. Сбор данных происходит через встроенный отладчик, который ставит брейкпоинты на ключевые функции и отслеживает их выполнение во время UI‑тестов. Итоговый order‑файл автоматически прикрепляется к результатам теста и может быть применён в процессе сборки приложения.
👍53
iOS

Foundation Models, работающие на устройствах, стали одной из главных премьер WWDC 2025 и появились первые примеры использования. В данной статье автор Ice Cubes (открытый клиент Mastodon) использовал модели для автоматической генерации тегов к постам. Сам он описывает свой опыт работы так: Amazing "После многих лет борьбы с ключами API, ограничениями токенов и сетевыми ошибками это кажется обманом. Вся интеграция ИИ занимает около 100 строк кода. Никаких внешних зависимостей. Никаких файлов конфигурации. Фреймворк просто работает". Но на первый взгляд кажется, что сфера применения моделей Apple очень ограничена и вряд ли потянет серьезные задачи. Впрочем, это лишь первый опыт и дальше, возможно, они раскочегарятся.

Внедрение ИИ в ваше приложение: используем Foundation модели Apple
FaultOrdering — открытый инструмент создания файлов компоновки для ускорения запуска iOS-приложений
StructuredQueries — типобезопасный, выразительный и компонуемый SQL
Exploring tab bars on iOS 26 with Liquid Glass
How to use VideoKit to add video to your SwiftUI app
The Ultimate Guide to the Foundation Models Framework
The evolution of Mobile CI: Navigating the shift to Infrastructure-as-a-Service
SwiftUI 3D Charts: Add a Whole New Dimension to Your Data
iOS & macOS Clean Architecture: Part 1 — From Chaos to Clarity
👍3
Android

В команде мобильной платформы Motive недавно всерьёз занялись ускорением сборки Android‑приложений — чем больше инженеров, тем острее проблема долгих билдов и тем нужнее быстрый обратный цикл. Статья рассказывает, как им удалось сократить время сборки и какие решения применили. Первым делом они активировали Configuration Cache — одну из мощнейших фич Gradle, которая позволяет кешировать результаты фазы конфигурации и повторно использовать их для ускорения дальнейших сборок. Но на пути стоял плагин play‑services‑oss‑licenses, без которого они не могли отображать лицензии зависимостей, и который был несовместим с Configuration Cache Чтобы не отказываться от экрана лицензий, команда разработала собственную кастомную реализацию. Они использовали плагин licensee для генерации JSON‑файла с данными по лицензиям, а затем создали Gradle‑таск, помеченный как @CacheableTask, копирующий этот файл в директорию assets. Эта задача обеспечивала нужную зависимость от licensee‑таска и вписывалась в цепочку сборки через androidComponents API. В результате JSON оказывается среди ресурсов приложения, и в рантайме достаточно просто распарсить его для вывода данных пользователю. Такой приём решил конфликт между бизнес‑требованием (отображение лицензий) и необходимостью ускорения билдов с помощью кеша конфигурации. Отличный пример, как можно обойти ограничения сторонних плагинов, не жертвуя UX и используя доступные инструменты Gradle. Вместо тупого увеличения железа Motive копнули глубже и оптимизировали сам процесс сборки, адаптируя его под свои реальные потребности и требования.

Improving the Build Performance of Our Android Apps
Decorator Pattern in Kotlin — Embracing Open/Closed Principle
K2 Mode Takes Off: High Adoption, Fewer Bugs, and Major Improvements in 2025.1
Ktor 3.2.0 Is Now Available
Generating Fractals in Kotlin with Jetpack Compose
2👍1
📺 Видео и подкасты за неделю на @AppFiles

(iOS Ru) Как перевезти 250+ SPM модулей из динамики в статику и не сойти с ума
(iOS Ru) Пагинация: от идеи до реализации
(iOS Ru) Стратегии ускорения старта на практике
(iOS En) AlarmKit - Live Activities
(iOS En) Interactive Snippets - App Intents
(iOS En) Swift 6.2: Apple has listened to developer feedback!
(iOS En) Gradient Generator using On-Device Intelligence - FoundationModels
(iOS En) What's New in SwiftUI - WWDC 2025
(And Ru) Адаптация мобильного приложения под ТВ-платформы
(And Ru) Баттл codegen-инструментов от разработчиков дизайн-систем
(And Ru) История, принципы и концепции библиотеки навигации Decompose
(And Ru) Что нового в Android 16 для разработчиков и пользователей
(And Ru) Как ускоряют Android-приложения в Яндексе: интервью с инженером
(And En) Now in Android: 118 –What’s new in Android development at Google I/O 2025 (part 2)
(And En) Navigating the future with Jetpack Navigation 3 - Core Concepts
(And En) Bot to the future: Two years later
(And En) Build a mobile app using the Home APIs on Android
(And En) Beginner's Crash Course to the New Navigation 3 Library (Android & KMP)
(And En) Kotlin Coroutine Gotchas
(And En) Kotlin Coroutines - Debugging Tools Overview
(And En) Single-Threaded Coroutines in Kotlin
(And En) Let's try implementing Nested Navigation with the New Navigation 3 Library
(Crs Ru) Firebase + KMP: Разрушаем мифы и создаем гибкие решения
(Crs Ru) Duit – как создать эффективный BDUI-фреймворк для Flutter
(Crs Ru) Аудит безопасности мобильных приложений
(Crs En) Full Guide to Material3 Theming in Compose Multiplatform
(Dev Ru) Как ускорить карьеру в ИТ? Перенимаем мировой опыт: от Гарварда и Стэнфорда до Кремниевой долины
(Dev Ru) Легаси. Оптимизации. Обфускация. Героическая борьба с Minecraft
(Dev Ru) Алгоритмы на собеседовании: ритуал или необходимость?
(Dev Ru) Как не сойти с ума от FOMO из-за AI
(Dsg En) How to Make Apple's Liquid Glass Effect In Figma

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

(iOS Ru) iOS-приложения под защитой Apple! Или нет?
(And Ru) Как избавиться от рекурсии, или Как мой код попал в Google
(And Ru) Микширование аудиопотоков в Android
(And Ru) Как мы победили техдолг в проекте Android RuStore
(Crs Ru) Опыт внедрения Kotlin и Compose Multiplatform в продакшн-решение
(Dev Ru) Как решать задачи на Leetcode
(Dev Ru) Как устроен сетевой код в играх
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍1
Трудности обслуживания ИИ

Дайджест со всеми материалами за прошлую неделю - использование Foundation Models и обновления UIKit/SwiftUI по следам WWDC, трудности обслуживания приложений под Android и ускорение карьеры в IT, автомобильный компьютер с нескучным функционалом, стеклянный фасад Apple и многое другое. Заходите!
👍4
🧩 Any Distance выложили в Open Source

Дэниел Кунц открыл код Any Distance, приложения, выигравшего Apple Design Award в 2023 году. Вот что он пишет про свой проект:

"Сегодня я открываю исходный код Any Distance, приложения для фитнес-трекера, над которым я работал вместе с несколькими другими людьми почти 5 лет. Any Distance начинался как способ поделиться красивой графикой ваших тренировок в социальных сетях. В конечном итоге он превратился в венчурный стартап, нацеленный на свержение Strava. Хотя мы так и не приблизились к этой цели или даже к соответствию продукта рынку (на мой взгляд), в итоге мы создали много интересного программного обеспечения, которым я до сих пор горжусь".

"Сейчас в программном обеспечении для iOS происходит возрождение красоты и мастерства, и я горжусь тем, что люди по-прежнему используют нашу работу как источник вдохновения. С середины 2023 года приложение находится в «режиме обслуживания». Я не хочу вдаваться в подробности того, что именно послужило причиной этого, но скажу, что это было довольно распространенное сочетание классических неудач стартапов — проблемы со-основателей, PMF (или, скорее, его отсутствие), выгорание и проблемы со сбором средств".

"Все, кто меня знает, знают, что у меня смешанные отношения к SwiftUI и платформами Apple в целом. Я все еще думаю, что в производственных кодовых базах недостаточно хороших примеров SwiftUI. Apple покажет вам 100 способов сделать базовый список дел, типы в котором компилятор едва успеет проверить за разумное время, но что-то более сложное, и вы будете предоставлены сами себе. Поскольку кода SwiftUI так мало, LLM с трудом могут быть полезны за пределами шаблонов".
Я провел много времени, экспериментируя с различными комбинациями SwiftUI, UIKit и Metal, чтобы сделать Any Distance максимально красивым и производительным. Многое из того, что мы сделали, до сих пор не было воспроизведено (насколько мне известно). Я не буду утверждать, что все, что мы сделали, — это лучший способ что-то сделать. Но этого оказалось достаточно, чтобы получить премию Apple Design Award.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Как выжать максимум из ASO: новые возможности, тренды и ошибки в продвижении

Что меняется в App Store и Google Play и какие нововведения нельзя игнорировать — расскажем на бесплатном вебинаре «Большой ASO-разбор».

Рассмотрим:
• Актуальные тренды: персонализация стора, AI и автоматизация в ASO, новые форматы представления приложений
• Важные новости из мира ASO
• Как реалистично оценить потенциал оптимизации и не потратить бюджет впустую
• Ошибки, из-за которых крупные приложения теряют органический трафик
• Кейсы из практики: что работает и не работает в ASO прямо сейчас
• Обновления в сервисе MetaMagic, которые облегчают подготовку метаданных

Спикер: Валерия Шалимова — ASO Lead Appbooster
26 июня (чт) в 16:00 мск

📌 Зарегистрироваться
👍31
iOS

Очередной топ инструментов с WWDC. Вот некоторые дополнения к уже известным, о которых я писал:

AlarmKit — разрешает будильники сторонним приложениям, есть поддержкА Live Activities, кастомные звуки, таймеры и напоминания
🈸 Новая аналитика App Store Connect — теперь с MRR, API для аналитики, офферами для покупок
🐥 Упрощённая Swift 6 concurrency@MainActor по‑умолчанию, @concurrent для постепенного перехода
🌐 Wi‑Fi Aware — ближняя передача данных быстрее, дальше и с большим количеством подключений, т.е. потоковое видео или мультиплеер
📝 Улучшения String Catalog — AI‑комментарии и удобный перевод строк + автозавершение

Any Distance выложили в Open Source
VLCUI — плеер VLC для SwiftUI
Адаптация мобильного приложения под ТВ-платформы
Как перевезти 250+ SPM модулей из динамики в статику и не сойти с ума
Пагинация: от идеи до реализации
Стратегии ускорения старта на практике
URLSession in Swift: Build a Clean and Testable Networking Layer
Top 10 Developer Tools Apple introduced at WWDC25
What is @concurrent in Swift 6.2?
Reverse-Engineering Xcode's Coding Intelligence prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2😱21