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

• Аудитория https://t.me/apptractor/1066
• Сайт https://apptractor.ru/
Download Telegram
Измеряем память

Новый еженедельный дайджест - в этом выпуске память в Swift и ужесточение проверки разработчиков для сторонней установки приложений от Google, очередная смерть Flutter и инструмент для поиска и анализа ошибок, все != nil в коде, pixel-perfect тестирования дизайн-системы в Android, Польша как главный рынок приложений Европы и многое другое. Заходите!
1👍1
Приложения, вышедшие в июле, и заработавшие больше $50,000

По данным AppMagic, в июле было выпущено 8 приложений, которые заработали более 50,000 долларов.

1. Thmanyah ($316,000) — платформа с лучшим арабским контентом. Фильмы, документальные сериалы и развлекательные шоу, созданные с душой. И это эксклюзивный центр для просмотра в прямом эфире чемпионатов Саудовской Аравии по футболу: Суперкубка Саудовской Аравии, Лиги Рошн Саудовской Аравии, Кубка Короля и Лиги Йело.

2. Overheard: Truth Before Dating ($145,000) — приложением для знакомств, которое поможет оценить партнера. Хотите ли вы узнать энергетику собеседника, заметить ранние тревожные сигналы или просто хотите пообщаться с теми, кто уже встречался с кем-то, Overheard поможет вам чувствовать себя уверенно на свиданиях.

3. Luna AI — Soulmate Drawing ($142,000) — персональный гид на базе ИИ по любви, самопознанию и внутренней ясности. Ищете ли вы свою вторую половинку, расшифровываете ли важный сон или раскрываете тайны своего имени с помощью нумерологии, Luna предлагает инструменты, которые помогут вам лучше понять своё сердце и разум.

4. IGAMES PS2 ($70,000) — эмулятор PLAYSTATION 2 с ретро-играми.

5. Bible Bff-Modern Bible Stories ($66,000) — современное перепрочтение Библии.

6. Rolemance AI: Characters Chat ($64,000) — ИИ-чат с выдуманными персонажами.

7. Pixel Cake ($58,000) — профессиональное программное обеспечение для обработки изображений на базе искусственного интеллекта.

8. Novelove ($56,000) — микро-драмы в текстовом формате.

Что можно сделать в одно лицо? Я бы сказал, что второе (как обязательный элемент маркетинга - просрать все пользовательские данные), если проработать нормальные промпты к ИИ - третье и пятое.
👍41
Android

Леланд Ричардсон покидает Google после 8 лет работы над Jetpack Compose. Ричардсон был ключевым архитектором фреймворка Jetpack Compose для Android, а ранее был инженером в Airbnb, где участвовал в развитии технологий React Native и open-source проектов для фронтенд-разработки. Переходит в Anthropic, так что, вероятно, скоро Claude сможет еще лучше создавать приложения.

Slide to Unlock — настраиваемый слайдер для разблокировки
Android. Glance Widgets. Начало
Упрощаем NFC: обзор нового SDK для Android разработки
Интересная «Request-Based» архитектура на примере Блокнота с открытым исходным кодом
Google закрывает свободу на Android
Leland Richardson, a key architect of Jetpack Compose, leaves Google
New Shadow API for Jetpack Compose
Kotlin 2.4 Rich Errors: What They Are and How to Prepare
Free android lint perf
Upload a Photo, Get a Caption. Google’s On-Device AI Is Getting Crazy Good
Flow Layouts in Compose
Android ViewModel Data Loading: Best Practices and Flow-Based Architecture
The Case of the Missing Handler
Nested routes with Navigation 3
👍5
Занятная статья о том, что нужно уметь не только ускорять программы, но и прогнозируемо их замедлять. Это может быть полезно для выявления условий гонки, моделирования ускорения и оценки точности профилировщиков. Проблема, однако, в том, что хорошо и прогнозируемо замедлить код не всегда легко (в силу, например, процессорных архитектур, которые умеют распараллеливать операции без участия человека) и автор делится своими наработками.

Разработка

Как замедлить программу и почему это может быть полезно
Как «думают» LLM: внутренняя механика языковых моделей
Как AI научился рассуждать — Reinforcement learning, reasoning models
Улучшаю UX во Flipper Zero
The psychology of fixing bugs

Маркетинг

Маркетологи в мобайле: Олег Ярилин (Head of Performance Marketing, Яндекс — с Алисой)
Приложения, вышедшие в июле, и заработавшие больше $50,000
Vocal Image использует ИИ, чтобы научить людей лучше пользоваться голосом
iOS подписки на TV пультах. Окупаемость 3 месяца?
RuStore On Air #1

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

Kotlin Multiplatform в большом проекте
Compose Multiplatform простое приложение c MVI
Injecting Android Context in Compose Multiplatform with Koin
New powerful DI solution for Flutter
2
Android

С Android 10 (Target sdk 29) Google ввел новую политику безопасности. Новая политика SELinux звучит просто: «Нельзя исполнять файлы из той директории, в которую можно записывать». Всё это очень хорошо, но многие проекты сломались. Termux из Google Play УМЕЕТ запускать бинарные файлы на target sdk 29+. Автор статьи решил поделится, как выполнить бинарный файл из data/data/com.ваш.пакет/files на новых версиях sdk БЕЗ полного клонирования Termux и БЕЗ С/C++ части. Сам метод запуска будет именно на java.

Capsule — скругленные углы для Jetpack Compose
Запуск бинарных файлов из data/data на Android 10+ (Обход SELinux)
Enabling R8 for Big and Old Apps
Cracking Android Interviews: The Questions That Actually Matter
Easy Way To Migrate Your Apps For Google Play’s 16 KB Page Size Compatibility
Best Play Store alternatives for publishing Android apps?
👍2
Китайский технологический гигант Tencent открыл исходный код двух специализированных моделей перевода, заявив, что они превосходят известные инструменты, такие как Google Translate, в международных бенчмарках. Tencent Hunyuan MT 7B и Hunyuan MT Chimera 7B заняли первые места в 30 из 31 протестированных языковых пар. Обладая 7 миллиардами параметров, эти модели значительно компактнее многих базовых моделей в своём классе, поэтому требуют меньше вычислительной мощности и могут работать на более слабом оборудовании. Модели доступны с открытым исходным кодом на Hugging Face, кроме того Tencent опубликовала исходный код на GitHub.

Разработка

Tencent открыла код двух высокопроизводительных моделей перевода
Что такое фаззинг
События, которым можно доверять: выстраивание процесса работы с разметкой приложения с точки зрения аналитика
Real time Computer Vision on mobile
Dependency Hell: The Hidden Costs of Dependency Bloat in Software Development

Маркетинг


Mirava - мировые цены
Простая фишка ASO, которая в разы увеличивает загрузки
Длинный или короткий пейвол?

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

How Flutter 4.0 Changes Everything
Multi-Module Configuration for Kotlin Multiplatform & Compose Multiplatform — Gradle Convention Plugins for KMP & CMP
3
iOS

Документация Apple для разработчиков скрыта за JavaScript, что делает её невидимой для большинства LLM. Apple Docs MCP дает доступ к официальной документации Apple по языку Swift, фреймворкам, API, SwiftUI, UIKit и видеоматериалам WWDC через Model Context Protocol. Это делает документацию "видимой" и позволяет реализовать, например, поиск документации по iOS, macOS, watchOS, tvOS и visionOS с помощью ИИ-запросов на естественном языке.

Apple Docs MCP — Model Context Protocol Server для документации Apple
Array или Set для 10 тыс. элементов в Swift — вопросы с собеседования
«Стеклянный мир» iOS 26. Адаптируем приложение под новые гайдлайны
Взлом через картинку в Apple: уроки громкой уязвимости для разработчиков
SwiftUI: Huge Dive into The “Native” Webview & WebPage
Enhancing the tab bar with a bottom accessory
Debugging Swift Concurrency: “Am I on the Main Actor?” (Not the Main Thread)
Practical Guide to Working with the SwiftNIO File System
Swift Type Aliases: The Secret Weapon Senior Developers Use for Cleaner Code
👍1
Android

Один энтузиаст и поклонник Android успешно запустил свой блог на старом смартфоне Google Pixel 5, превратив его в полноценный веб-сервер. Этот проект демонстрирует, как можно дать вторую жизнь устаревшему устройству и одновременно сократить энергопотребление. Эксперимент оказался полностью успешным. Сайт работает быстро и стабильно, и, по словам автора, невозможно определить, что он размещен на Android-телефоне, а не на обычном сервере или VPS. В ближайшее время автор не планирует менять эту конфигурацию, так как она полностью оправдала его ожидания.

Android. Glance Widget. Часть 2. Конфигурация данных для виджета
Side-Effects in Jetpack Compose Made Simple
Stop Breaking Your Modifiers: The Right Way to Stack with .then() in Jetpack Compose
Android Studio Narwhal 3 Feature Drop
Androidify: Building AI first Android Experiences with Gemini using Jetpack Compose and Firebase
This blog is running on a recycled Google Pixel 5
Build Smarter Android Apps with Vision: ML Kit the Easy Way
👍31
Google не будет разделять свой бизнес, но федеральный судья предварительно распорядился о внесении других изменений в деловую практику технологического гиганта. Например, Google не сможет обуславливать лицензирование Play Store распространением определенных приложений или увязывать выплаты в виде доли от дохода с сохранением определенных приложений. Google также будет обязан предоставлять определенные данные о поисковом индексе и взаимодействии пользователей «квалифицированным конкурентам» для предотвращения исключающего поведения, а также предлагать конкурентам услуги поиска и синдикации поисковой рекламы по стандартным тарифам, чтобы они могли обеспечивать качественные результаты, одновременно развивая собственные технологии. Пока это, правда, ни о чем не говорит - еще будет апелляция и Верховный суд. Так что все станет понятно ориентировочно только в 2028.

Разработка

Google избежал разделения, но вынужден отказаться от эксклюзивных сделок
How Coding Can Improve Design
The One Architecture Decision That Destroyed Every Project I Touched
Writing Code Was Never The Bottleneck

Маркетинг

В Директе стало доступно продвижение мобильных приложений из RuStore
Увеличил пробный период → но начал просить карту

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


Как мы добились оценки приложения в 5 звезд за 2 часа
FlutterBox - Open Source Flutter Widget Library Platform
👍31
Дух элитного дизайна

"В компьютерных науках есть только две сложные проблемы – инвалидация кэша и именование переменных". Добавлю третью - выбор цветов для приложения. Так что может быть пригодится для следующего проект - "9 роскошных цветовых палитр, воплощающих дух элитного дизайна". На картинке, например, полуночная роскошь.
👍11💅31
iOS

Отладка всегда будет частью разработки. Но есть огромная разница между блужданием в темноте с print() и системным подходом с правильными инструментами. Начните использовать их сегодня, и ваше будущее "я" скажет вам спасибо, когда вы будете отлаживать сложные проблемы в продакшене с тысячами пользователей.

ARC в Swift
Жизненный цикл UIViewController в 2025 году: что изменилось и что устарело
Why TCA Is Making a Comeback in 2025 (And Why Enterprises Love It)
SwiftUI: AVAudioEngine With Swift Concurrency
I Spent 5 Years Debugging Swift Apps Wrong — Here’s What I Wish I Knew Day One
👍2
Android

FlowRow и FlowColumn — это composables, похожие на Row и Column, но с одним ключевым отличием: элементы автоматически переносятся на следующую строку, когда в контейнере заканчивается место. Такое поведение создает несколько строк или столбцов, позволяя создавать более адаптивные интерфейсы, в которых контент не обрезается, если элементы слишком велики для одного измерения. Они особенно полезны для создания таких элементов интерфейса, как набор «чипов» или фильтров, где элементы должны переноситься на следующую строку по мере уменьшения пространства на экране. В этой статье мы подробно рассмотрим возможности flow-контейнеров, узнаем, как управлять расположением элементов, выравнивать их по отдельности и использовать «веса» (weights) для создания адаптивных сеточных структур.

Flow-контейнеры в Compose
Больше Pixel получат Material 3 Expressive
Neumorphic Compose UI Kit — неоморфизм для Jetpack Compose
Мой путь новичка в разработке: FreeSpace — мобильное приложение для любителей космоса
Stop Re-fetching Data: Master LRU Caching in Your Android App
Mastering Kotlin Collections: A Developer’s Journey from Confusion to Clarity
👍3
Исследования METR показало, что ИИ на самом деле замедлял разработчиков на 19%, хотя им казалось, что они работают на 20% быстрее. После этого автор провел собственный шестинедельный эксперимент и выяснил, что ИИ замедляет его в среднем на 21%, подтверждая результаты исследования. Он пришел к выводу, что заявления о многократном увеличении производительности не соответствуют действительности. Ключевой аргумент автора заключается в вопросе: если ИИ-инструменты настолько эффективны, то где же «поток низкокачественного программного обеспечения»? Он предоставляет данные, свидетельствующие о том, что количество новых программных релизов — веб-сайтов, игр, мобильных приложений — осталось на прежнем уровне, без ожидаемого экспоненциального роста после массового внедрения ИИ в 2022–2023 годах. Автор критикует IT-индустрию за увлечение этой идеей, которое приводит к увольнениям и снижению зарплат. Он призывает других разработчиков доверять своему опыту и скептически относиться к заявлениям о «10x-программистах», поскольку данные о реальном выпуске ПО их не подтверждают.

Разработка

Where's the Shovelware? Why AI Coding Claims Don't Add Up

Маркетинг

Япония с ИИ
ChatGPT станет новой ключевой платформой дистрибуции и роста. Или нет?
The ultimate guide to price localization

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

Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 2
Cross-Platform CI/CD: TUUCHO’s KMM Jenkins Pipeline with iOS, Android, and Visual Regression QA
My flutter app size just doubled after flutter upgrade
I finally understood Flutter layout
👍5🤡21🤔1
📺 Видео и подкасты за неделю @AppFiles

(iOS En) iOS 26 Lock Screen Carousel With Reflection Effect Using SwiftUI
(iOS En) How to hide the content of a view in a screenshot (iOS tutorial)
(iOS En) Swift concurrency for curious Kotliners
(iOS En) SwiftUI: How To Seamlessly Morph Liquid Glass Shapes
(iOS En) Auto Resizing Dynamic Sheets Using SwiftUI
(iOS En) Mastering Liquid Glass in SwiftUI – Buttons, Containers & Transitions
(And Ru) Облегчаем жизнь больших экранов на Compose
(And Ru) Разбор MAX программистом
(And Ru) ProGuard — Стандарт Мобильной Безопастности?
(And Ru) Ты готов к собеседованию в Альфа-Банк? Интервью мобильного разработчика
(And En) TheAndroidShow: The latest for devs from Made by Google, Gemini in Android Studio, a new Androidify
(And En) What's new in Android Studio Narwhal 3 Feature Drop
(And En) Androidify app deep dive
(And En) Bring your most expressive apps to the wrist: Wear OS 6 and the new Pixel Watch 4
(And En) Connect Model Context Protocol (MCP) servers to Android Studio to improve AI agent capabilities
(And En) Now in Android: 121 – Android Studio Narwhal, Android 16 QPR2 beta, and more
(And En) Build your Kotlin and Android apps with Buck2
(And En) Exposed inline value classes for Java in Kotlin 2.2
(And En) Kotlin Worst Practices — How to Maximize Your Hassle
(And En) Putting Kotlin Flows Together
(And En) Develocity Analytics: Get end-to-end visibility into your build process
(Crs En) Blueprints for Scale: What AWS Learned Building a Massive Multiplatform Project
(Crs En) Lessons learned decoupling Architecture Components from platform specific code
(Dev Ru) Лучший билд команды и проекта в IT
(Dev Ru) DevRel в мобильной разработке: между платформами, комьюнити и командой
(Dev Ru) Числа в программировании — Почему компьютер не понимает 0.1 + 0.2
(Dev En) How You Use an AI Coding Agent the RIGHT Way For Mobile Development
(Dev En) Introducing EmbeddingGemma: The Best-in-Class Open Model for On-Device Embeddings

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

(And Ru) Организация кода в проекте — в какой пакет положить Kotlin класс
(Dev Ru) Архитектурное собеседование — по обе стороны баррикад (+ все собеседования)
(Dev Ru) Backend-Driven UI и конструкторы. Благо или зло?
(Dev Ru) Открытое собеседование — технический руководитель: разбор кейса
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Стеклянный контейнер

Все статьи, новости и видео за неделю - «стеклянный мир» iOS 26 и Flow-контейнеры в Compose, Android Glance Widget и жизненный цикл UIViewController 2025, лучшие практики агентного программирования, как замедлить программу и почему это может быть полезно, приложения, вышедшие в июле, и заработавшие больше $50,000, и многое другое. Заходите!
👍4
📱System Design всё чаще становится частью повестки мобильной разработки.

Сегодня недостаточно просто уметь строить экраны: от Android-разработчиков ждут архитектурного взгляда: как проектировать SDK, интегрировать KMP, выстраивать эксперименты и переосмысливать подходы.

Podlodka Android Crew — онлайн-конференция, в новом сезоне которой обсудят архитектурные решения, способные выдерживать рост, сложность и нагрузку.

📌 В программе:

— как использовать Ktor на Android и зачем вам знать про его Pipeline и Plugins (JetBrains)

— что отличает удобный SDK от токсичного и как проектировать «гостеприимные» библиотеки (RuStore)

— история масштабной миграции с TEA и архитектурные выводы по итогам (Auto ru)

— функциональное программирование в Android: приёмы, нюансы производительности и тестирование (Dodo Engineering)

🗓Конференция пройдёт 15–19 сентября

🔗Билеты — https://podlodka.io/droidcrew
🍌2👍1
iOS

Первые пять лет своей карьеры в iOS-разработке я был тем разработчиком, который разбрасывал повсюду операторы print(), словно конфетти на новогодней вечеринке. Нужно проверить переменную? print(myVariable). Приложение падает? print("Made it here!"). Сложная структура данных ведёт себя странно? print("Debug: \(someComplexObject)"). И знаете что? Это работало. Вроде как. Пока не перестало. Пробуждение пришло во время особенно изнурительного сеанса отладки, когда в моей кодовой базе было разбросано более 47 операторов print (да, я считал). Консоль выглядела как цифровая лавина, и я тратил больше времени на прокрутку отладочной информации, чем на исправление ошибок.

Как правильно отлаживать iOS-приложения
AwaitlessKit — синхронные обёртки для async функций
The Cupertino Ghost in the Machine: An Analysis of Xcode's New AI Assistant
@ViewBuilder usage explained with code examples
Creating Light and Dark Mode Icons using Icon Composer
Turning CI Logs into Actions
7 Swift String Interpolation Tricks That Will Make You a Better Developer
10 SwiftUI Hacks For Cleaner Apps, Less Code Same Power
3
Android

В современных медиа-ориентированных приложениях обеспечение плавного и бесперебойного воспроизведения является ключом к хорошему пользовательскому опыту. Пользователи ожидают, что их видео запустится мгновенно и будет воспроизводиться без задержек. Основная проблема — задержка. Традиционно видеоплеер начинает работу — подключается, загружает, анализирует и буферизует — только после того, как пользователь выбрал элемент для воспроизведения. Такой реактивный подход медленный для современных коротких видео. Решение — действовать проактивно. Нам необходимо предвидеть, что пользователь будет смотреть дальше, и подготовить контент заранее. В этом и заключается суть предварительной загрузки. В этой серии статей из трёх частей, Google подробно рассмотрит мощные инструменты Media3 для (пред)загрузки компонентов.

Reveal — эффект подсветки (обучающие подсказки) для Compose Multiplatform
Облегчаем жизнь больших экранов на Compose
Разбор MAX программистом
ProGuard — Стандарт Мобильной Безопастности?
Ты готов к собеседованию в Альфа-Банк? Интервью мобильного разработчика
Mastering Conditional Layouts in Jetpack Compose: The Flexible Way
runBlocking in practice: Where it should be used and where not
Inside Burst’s Test Interceptors
The Hidden Dangers of Jetpack Compose State (And How to Fix Them With Real Examples)
Elevating media playback: Introducing preloading with Media3
Google Just Gave Android Developers Superpowers — Here’s How I’m Using Them
👍3
Компания OpenAI заявила, что разрабатывает платформу найма на базе искусственного интеллекта, которая позволит компаниям и сотрудникам найти общий язык. Этот сервис может составить серьёзную конкуренцию LinkedIn. Продукт называется OpenAI Jobs Platform, и компания планирует запустить его к середине 2026 года. Миссия - "использовать ИИ, чтобы найти идеальное соответствие между потребностями компаний и тем, что могут предложить работники". OpenAI также заявляет, что начнет предлагать сертификацию для людей с разным уровнем владения ИИ через свою OpenAI Academy, онлайн-программу, которую компания запустила в прошлом году. Представитель OpenAI сообщил, что компания планирует запустить пилотную программу сертификации OpenAI в конце 2025 года.

Разработка

OpenAI анонсирует платформу найма на базе искусственного интеллекта
Лучший билд команды и проекта в IT
DevRel в мобильной разработке: между платформами, комьюнити и командой
Числа в программировании — Почему компьютер не понимает 0.1 + 0.2
Как упростить разработку: опыт и размышления (компиляция из моей переписки)

Маркетинг

Как выбрать ПРАВИЛЬНОЕ приложение для инди-разработки
Важные изменения ASO в 2025 году

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

Pragmatic KMP for Mobile at Somnox
Is it time for Flutter to leave the uncanny valley?
6👍6