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
Новые баги COBOL

Новый большой еженедельный дайджест - в этом выпуске несколько технических разборов Max, отказ от MVVM и использование Retrofit с корутинами, магия анимаций RecyclerView и генерация UI Kit с использованием ИИ, опыт работы с Protobuf на реальном проекте, COBOL в 2025, вяжущая фасолина в топе App Store и многое другое. Заходите!
👍3😁2
iOS

Как и большинство разработчиков, я тысячи раз писал if someValue != nil на Swift, ни секунды не задумываясь. Это было быстро, привычно и ощущалось безопасным. Но затем, во время плановой чистки кода, я решился на смелый поступок: удалил все вхождения != nil в iOS-проекте среднего размера и заменил их более выразительными конструкциями.

Я заменил все != nil в своем Swift-коде
TSAlertController — элегантная библиотека оповещений
Swift Raw Identifiers
Checking and editing the details of a calendar event
🥱91👍1
Android

Compose Unstyled — это API на основе Compose Foundation для лёгкого создания любой дизайн-системы. Он предоставляет нестилизованные, доступные компоненты с гибкими API для настройки тем — вся сложная работа по созданию правильного пользовательского опыта и доступности выполняется за вас.

Deepr — управление глубокими ссылками
Compose Unstyled: The missing Design System layer for Compose UI
Architectural Evolution of and Android app
Dependency Injection + Dependency Inversion: More Robust and Testable Code
Designing with personality: Introducing Material 3 Expressive for Wear OS
A new layer of security for certified Android devices
1
Google будет требовать идентификации разработчиков для распространения приложений вне Play Store

Компания хочет проверять личность всех разработчиков, распространяющих приложения для Android, даже если эти приложения не представлены в Play. По заявлению Google, это добавляет «важный уровень ответственности в экосистему» ​​и призвано «защитить пользователей от вредоносных программ и финансового мошенничества». Пользователи с «сертифицированными» устройствами Android, то есть с установленными магазином Play, сервисами Play и другими приложениями Google Mobile Services (GMS), смогут блокировать установку приложений от непроверенных разработчиков.

Google заявляет, что будет проверять только личность разработчиков, но не содержимое их приложений или их происхождение. Разработчикам, распространяющим приложения вне Play Store, необходимо будет подтвердить свою личность через новую консоль разработчика Android, которую Google в настоящее время разрабатывает. Она аналогична консоли Google Play, которую разработчики используют в Play Store, но Google заявляет, что обеспечит более простой и оптимизированный процесс проверки.

По плану, открытие верификации для всех разработчиков случится в марте 2026 года, а с сентябрь 2026 эти требования вступают в силу в Бразилии, Индонезии, Сингапуре и Таиланде. С этого момента любое приложение, установленное на сертифицированном устройстве Android в этих регионах, должно быть зарегистрировано проверенным разработчиком. Далее систему начнут внедрять по всему миру.

А вот что пишут люди:
Меня больше всего беспокоит потенциальная неэффективность управления, которая может нанести несоразмерный ущерб независимым разработчикам. Мы уже видели, как автоматизированные системы Google могут произвольно блокировать известных разработчиков в Google Play практически без обратной связи. Подобная система, предоставляющая Google ещё больший контроль, может легко усугубить эту проблему.

Неясно, будет ли это простая мера, вроде Play Protect (которую пользователи, по крайней мере, смогут отключить), или нечто гораздо более ограничительное, подрывающее открытость платформы.

Кирилл:
Моё мнение - изменение правильное и полезное, затронет только недобросовестных разработчиков, но и дает Google возможность давления на разработчиков так как критерии верификации могут меняться или её вовсе смогут отозвать. Также это важно в мире, когда монополии магазинов приложения падают, а корпорации надо сохранять контроль.
👍4😢4🔥21👻1
Компании Илон Маска все таки подали в суд на Apple и OpenAI, обвиняя их в том, что их соглашение о внедрении ChatGPT в iPhone подавляет конкуренцию в сфере искусственного интеллекта. В иске, поданном в понедельник, принадлежащие Маску X Corp. и xAI также обвиняют App Store в «снижении приоритета» конкурирующих чат-ботов и супер-приложений, включая Grok и X. Компании Маска утверждают, что у пользователей iPhone «нет причин» загружать сторонние приложения с искусственным интеллектом, поскольку компания «заставляет» пользователей использовать ChatGPT в качестве приложения чат-бота по умолчанию при включении Apple Intelligence. «Apple и OpenAI заблокировали рынки, чтобы сохранить свои монополии и не допустить конкуренции со стороны таких новаторов, как X и xAI», — говорят в компании. Похоже, что скоро у нас будет еще выбор ИИ-провайдера, как сейчас есть выбор поиска или браузера.

Разработка

Сильная ссылка: фундамент управления памятью в программировании
Делайте ошибки дешёвыми, а не редкими — искусство совершать ошибки
Communication is The Job
10 tiny UI fixes that make a BIG difference

Маркетинг


Использование ежедневных квестов повышает удержание
Меряемся коэффициентами конверсии
X и xAI подали в суд на Apple и OpenAI

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

Cactus — кроссплатформенный фреймворк для локального развертывания LLM/VLM/TTS моделей
What’s Next for Kotlin Multiplatform and Compose Multiplatform – August 2025 Update
👍32
Как часто нужно релизить приложение?

App Store дает буст в поиске при каждом релизе, но если часто выпускать новые версии, то это (кажется) перестает работать.

Что говорят:

• Всякий раз, когда вам нужно выпустить новую функцию или исправление. Не загоняйте себя в график.
• Booking выпускает релизы два раза в неделю. Лично я считаю, что это немного перебор, но многие Agile-команды выпускают релизы раз в две недели.
• Не уверен, что в App Store есть маркетинговый пуш, но если следить за обновлениями, то всё равно придётся ждать 1-2 недели, пока все обновятся.
• Очень часто встречаются самые продаваемые приложения, которые не обновлялись больше года. Не думаю, что алгоритм ранжирования App Store особенно заботится о частоте обновлений.
• Возможно, это непопулярное мнение, но позиции моих ключевых слов значительно улучшились при сравнительно минимальных обновлениях — всего лишь раз в неделю или раз в две недели.
• У нас нет чётких сроков. Как только мы вносим существенное улучшение и оно кажется стабильным, мы его внедряем. Обычно мы тестируем приложение в TestFlight 2–3 дня, прежде чем отправить его на проверку. Поскольку мы постоянно разрабатываем что-то новое, некоторые обновления выходят не сразу, из-за чего у меня иногда возникает ощущение, что мы упускаем возможность улучшить приложение.

В общем, кажется, самый популярный ( и оптимальный?) график - раз в неделю или раз в две недели. Как часто ты выпускаешь новые версии?
👍62
😁91👍1
Пока идет сражение для Chrome, Anthropic выпустил браузерный ИИ-агент, работающий на основе моделей искусственного интеллекта Claude. Добавив расширение в Chrome, некоторые пользователи теперь могут общаться с Claude в боковом окне, которое сохраняет контекст всего, что происходит в их браузере. Пользователи также могут разрешить агенту Claude выполнять действия в своем браузере и выполнять некоторые задачи от их имени. Некоторые - потому что агент Claude для Chrome пока доступен группе из 1000 подписчиков тарифного плана Anthropic Max, стоимость которого составляет от 100 до 200 долларов в месяц. Интересно, что это не первая попытка Anthropic создать ИИ-модели, способные управлять компьютером. В октябре 2024 года компания запустила ИИ-агента, способного управлять ПК. Однако тогдашнее тестирование показало, что модель довольно медленная и ненадёжная.

Разработка

Anthropic запускает ИИ-агента для Chrome
Why 90% of APIs Fail (And How to Design Ones That Don't)

Маркетинг

Польша - главный рынок приложений Европы
Как часто нужно релизить приложение?
How to Format and Structure Long Descriptions for ASO on Google Play and iOS

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

Flutter Will Be Dead?
1👍1
В интернете опять выясняют - уже умер Flutter или скоро умрет. В кои-то веки автор подошел разумно к ответу на этот вопрос и говорит - зависит. Flutter не умер. И не умирает. Но никто и не гарантируется его вечное доминирование. Фреймворк, который победит в следующем десятилетии, — это тот, который лучше всего адаптируется к меняющимся потребностям разработчиков и требованиям платформ. Сейчас Flutter довольно хорошо адаптируется. Настоящий вопрос не в том, «умрет ли Flutter?». А в том, «будет ли Flutter развиваться достаточно быстро, чтобы оставаться актуальным?». По его мнению - будет.

Разработка

Why I Stopped Using Clean Code (And You Should Too)
How to Slow Down a Program? And Why it Can Be Useful.

Маркетинг

Хочешь думскролить? Спроси у подружки
Первое приложение

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

Flutter умрёт?
Let Your AI Assistant Tame Your Tech Debt (with Dart, Flutter and DCM MCP Servers)
5 Things You Absolutely Must Know About the New React Native 0.81 Release

iOS

SwiftToasts — тосты для SwiftUI
Stack Inspector: мониторинг стека в iOS и macOS
Tiny SwiftUI Tricks That You’ll Actually Use in Real Projects
Making the tab bar collapse while scrolling
Re: UIKit/AppKit-Free SwiftUI App
Xcode Migrations: From Stone Age to AI Mastery

Android

Deloitte Android Developer Interview Experience
Clean Architecture in Android: The Complete Interview Guide
The evolution of Wear OS authentication
🔥3👍2🍌1🍾1
Bitrig - создание iOS-приложений на iPhone

Bitrig позволяет создавать нативные приложения Swift для телефона, просто общаясь с искусственным интеллектом. Разработчики Bitrig работали над SwiftUI в Apple и решили этот подход довести до совершенства. Bitrig позволяет любому создавать отточенные приложения прямо на телефоне.

Видео: https://youtu.be/CUlWhF3ERME

Bitrig использует Claude Sonnet 4.0 с простым системным промптом и определениями инструментов для генерации нативного кода Swift. Обычно запуск этого кода на iPhone требует компиляции и подписи в Xcode, а Xcode на iPhone не работает. Поэтому авторы написали собственный интерпретатор Swift. Помимо прочего, это позволяет мгновенно просматривать приложение в Bitrig и делиться им, просто указав URL.

Если у тебя есть платный аккаунт разработчика Apple, ты можешь подключить его к Bitrig. Система скомпилирует приложение на своем сервере и загрузит его в App Store Connect, чтобы можно было распространять его через TestFlight или App Store. Этот последний шаг также позволит тебе получить полностью оптимизированную сборку приложения.

Правда, в инструменте пока нет всех фреймворков Apple, но разработчики постепенно добавляют их. Так что скоро полноценный вайб-кодинг, вероятно, станет доступен и на iPhone.

Больше вайб-кодинг приложений богу вайб-кодинга!
🤡7👍1
📺 Видео и подкасты за неделю @AppFiles

(iOS En) Login Page + Firebase Email Authentication + Email Verification
(iOS En) Login Page UI + Firebase Phone Auth
(iOS En) What’s New in SF Symbols 7 – Stunning Visual Effects for iOS & macOS 26
(iOS En) Fluid Zoom Transition with Liquid Glass
(And Ru) Google закрывает свободу на Android
(And En) Android Developer Story: How Dashlane brought Credential Manager to Wear OS with 92% code reuse
(And En) Credential Manager for Wear OS
(And En) Large Scale Changes with AI – Migrating millions of lines of Java to Kotlin at Uber
(Crs Ru) Kotlin Multiplatform в большом проекте
(Crs En) How to Deep Link Into iOS & Android With Compose Multiplatform
(Crs En) Kotlin Multiplatform's Cross Platform Brilliance at Norway's 377-Year-Old National Postal Service
(Crs En) Scale your Kotlin Multiplatform projects using dependency injection
(Dev Ru) Как «думают» LLM: внутренняя механика языковых моделей
(Dev Ru) Как AI научился рассуждать — Reinforcement learning, reasoning models
(Dev En) 4 Common Mistakes in Mobile System Design Interviews
(Dev En) Data Analysis for finance in Kotlin
(Dev En) Professional Cloud Architect Certification Course – Pass the Exam
(Dev En) Computer Vision with Arduino Tutorial
(Mrk Ru) iOS подписки на TV пультах. Окупаемость 3 месяца?

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

(iOS Ru) Стратегия автотестирования для iOS приложений
(iOS Ru) 5 вопросов для iOS разработчика
(iOS Ru) Борьба с утечками памяти: от задачи до победы
(And Ru) 5 уроков из опыта реализации pixel-perfect тестирования дизайн-системы в Android
(And Ru) Gradle-сборка. Измеряем самое важное
(And Ru) Шифруем файлы в Android
(Dev Ru) Как писать чистый код — угадываем что ввел юзер и дизайним с нуля Clean Code Approach
Please open Telegram to view this post
VIEW IN 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