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

• Аудитория https://t.iss.one/apptractor/1066
• Сайт https://apptractor.ru/

YMReferral
Download Telegram
Mobile Development by AppTractor
🌐 Apple опубликовала топ американских приложений по загрузкам за 2024 год. Второй год подряд китайское приложение для шоппинга Temu занимает первое место. Учитывая, что до этого там был TikTok, озабоченность китайским нашествием очевидна. На втором месте Threads…
Исход: куда едут разработчики из России

На прошлой неделе Google Play объявил о том, что прекращает отправку денег российским разработчикам. Учитывая, что биллинг прикрыли уже давно, а сложности с получением денег существуют уже несколько лет, шаг закономерный. Интересно посмотреть, упало ли за прошедшие 4 года количество разработчиков в стране и как изменилось их количество в ближайших странах.

Посмотрим отчет Apptica Top Publishers с издателями (что подразумевается под "издателем" не совсем понятно, но так как во всех странах одинаковое будем просто наблюдать за трендом) по платформе Android и отсортируем по годам.

• График логарифмический. Цифры доступны тут.
• В России количество разработчиков в 2022 резко выросло (+58%) и в 2024 потом пошло на спад - в этом году издателей стало меньше на 928 единиц (-15%).
• Грузия, Армения, Белоруссия и Казахстан за 2022 год выросли по количеству Android-разработчиков вдвое или даже больше (Казахстан сделал х3). Дальше еще подросли, а потом в 2024 пошли на спад.
• У всех стран в 2024 меньше разработчиков, чем было. Вероятно, это связано с политикой чистки Google Play и ужесточившимися правилами публикации.
• Для примера возьмем в Европе Испанию - в 2022 тоже случился рост (+77%) и дальше количество колебалось примерно в области погрешности вычислений. И США - в 2023 было 28,389 издателей, в 2024 году 26,409. На iOS — 14,041 и 13,633 соответственно.
• Количество iOS-издателей в России плавно снижается, без резких скачков.

И что: Грузия, Армения, Белоруссия и Казахстан обогнали по росту и Испанию, и Россию. Вероятно туда и ушли многие издатели. Впрочем, политики самого Google не дают понять картинку более ясно - в 2024 году снижение обусловлено то ли чисткой, то ли продолжающейся миграцией.
👍3
🧩 Первый пошел

Эмулятор Delta получил сегодня важное обновление, позволяющее пользователям поддерживать его развитие через Patreon, не выходя из приложения. Существующие подписчики могут подключить свои аккаунты Patreon в настройках Delta, что позволит им получить доступ к таким преимуществам, как альтернативные иконки приложений и экспериментальные функции. По словам разработчика приложения Райли Тестута, Delta — первое известное ему приложение в американском App Store, которое содержит ссылку, позволяющую пользователям совершать покупки за пределами App Store, используя External Purchase Link Entitlement, которое Apple ввела еще в январе.

Разработка

Куда едут разработчики из России
Nvidia выпустила дешевый микрокомпьютер для ИИ
Doing projects to learn can be bad advice

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

Впервые в App Store эмулятор Delta добавил ссылку на Patreon

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

Master KMP as an Android Developer by Building a Joke-Generator App

iOS

Фоновая загрузка файлов на сервер в iOS
SRNetworkManager — современный сетевой слой
The Ultimate Guide to Validation Patterns in SwiftUI
Traps and Countermeasures for Abnormal onAppear1 Calls in SwiftUI
Sending vs Sendable in Swift
A generic SwiftUI Animated Segment Control
Be careful wrapping a throwing function in a Task

Android

5 minute guide on understanding Hilt annotations
Koin IDE Plugin: A Koin Configuration Tree
What's new in CameraX 1.4.0 and a sneak peek of Jetpack Compose support
Understanding Low Memory Management in Android: Kswapd & LMK
Please open Telegram to view this post
VIEW IN TELEGRAM
2👏2
🧩 Бесплатный доступ к GitHub Copilot в VS Code

GitHub давно предлагает разработчикам бесплатные продукты и услуги. Сегодня частично и GitHub Copilot становится бесплатным.

• Все работающие в VS Code получат доступ к 2,000 завершениям кода и 50 сообщениям в чате в месяц, просто войдя в свой личный аккаунт GitHub.
• Copilot Free предоставляет вам выбор между моделью Claude 3.5 Sonnet от Anthropic и моделью GPT-4o от OpenAI.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
Видео и подкасты за неделю на @AppFiles

(iOS En) Avoid Crashes in Swift: How Overflow Operators Work
(iOS En) Stacked Cards - Looping Cards - SwiftUI
(iOS En) First Look at Xcode 16.2: New Swift Testing Feature
(iOS En) SwiftUI Searchable Modifier: Build a Search Feature in 15 Minutes
(And Ru) Публикация Android и KMP библиотеки в Maven Central
(And Ru) Запускаем мобильные UI-тесты эффективно
(And En) Now in Android: 112 - Android 16 Developer Preview 1, Passkeys Spotlight Week, and more
(And En) Designing apps for Android XR
(And En) Adapting Android apps for XR
(And En) Build immersive apps & experiences with OpenXR & Unity
(And En) How to Draw On a Canvas In Jetpack Compose
(And En) Multi-dollar String Interpolation in Kotlin
(Crs Ru) Flutter Dev Podcast #49: многомодульность на Flutter
(Dev Ru) Compose и SwiftUI: найди 10 отличий
(Dev Ru) Как мы писали проигрыватель с нуля под каждую платформу
(Dev Ru) Как ВКонтакте измеряет перфоманс приложений
(Dev Ru) Очевидные и неочевидные дыры безопасности в мобильной разработке
(Dev Ru) Страх и ненависть в мобильных автотестах. Строим своё облачное решение
(Dev Ru) Лучший UI фреймворк для разработки на Java — JavaFx, Swing, UI разработка
Remind users to Rate your App - Compose Multiplatform

#ios #android #mobile #video
👍6
В 2024 доходы App Store и Play выросли на 15.7%, но загрузки упали на 2.3%

В 2024 году глобальные потребительские расходы на мобильные приложения и игры в App Store и Google Play составили $127 миллиардов, увеличившись на 15.7% по сравнению с предыдущим годом. Но в этом году количество загрузок приложений в мире сократилось на 2.3% по сравнению с 2023 годом, достигнув почти 110 миллиардов.

• Примечательно, что в прошлом году подписку предлагали только 5% приложений по всему миру, но на их долю пришлось 48% доходов в обоих магазинах.
• Из 127 миллиардов долларов общих потребительских расходов по всему миру в 2024 году $91.6 миллиарда пришлось на App Store, что на 24% больше, чем в прошлом году. Потребительские расходы в Google Play по всему миру снизились на 1.5% в годовом исчислении и достигли $35.7 миллиарда.
• 10 самых доходных приложений в мире обеспечили 13.7% всех потребительских расходов, что на 1.2% больше, чем 12.5% в 2023 году.
• На долю США приходится значительная часть общего объема потребительских расходов, поскольку они дали $47.6 миллиарда, что на 11% больше по сравнению с аналогичным периодом прошлого года (на долю Apple App Store пришлось $34.4 миллиарда, что на 18.4% больше, в то время как выручка Google Play в США снизилась на 4.7% и достигла $13.2 миллиарда в 2024 году).
• Из 110 миллиардов загрузок в 2024 году на iOS пришлось 28.3 миллиарда установок, что на 1.1% меньше, чем в прошлом году. Количество загрузок приложений для Android в Google Play сократилось на 2.6% до 81.4 млрд.
• Бразилия была самым быстрорастущим рынком с точки зрения потребительских расходов, которые выросли на 73% в годовом исчислении.
• В 2024 году наибольший рост числа загрузок приложений наблюдался в Мексике — на 225 миллионов больше, чем в 2023 году.

И что: обратите внимание - 5% приложений с подпиской дали 48% доходов.
👍52🔥2
Android

В первой ссылке о том, как использовать Compose Preview для представлений на основе XML. Кирилл тут пишет, что это для того, чтобы не переходить на Compose. А мне как раз кажется, что это лучший способ перейти - начинать с малого и потом влезать в технологию там, где это уместно. Стоя на плечах гигантов ☺️

Назад в будущее: превью Compose для представлений на основе XML
AniVu — подкасты через RSS
Tracer для Android вышел в версии 1.0.0
Публикация Android и KMP библиотеки в Maven Central
Вышла вторая Developer Preview версия Android 16
Inure — красивый менеджер приложений для Android
Improving Android release process at Eureka (Pairs app)
Introduction to MockK and Mocking Basics
Immutable lists and how they protect your Android app from crashing
Debugging Kotlin Coroutines: Making “Optimised Out” Variables Visible
Is reflection slowing down your code?
Using Android Presentation API with Jetpack Compose

#android
👍3
Разработка

Как мы ускорили сборки для Android и iOS на 50%
Compose и SwiftUI: найди 10 отличий
Запускаем мобильные UI-тесты эффективно
Как мы писали проигрыватель с нуля под каждую платформу
Как ВКонтакте измеряет перфоманс приложений
Очевидные и неочевидные дыры безопасности в мобильной разработке
Страх и ненависть в мобильных автотестах. Строим своё облачное решение
Новый физический симулятор Genesis обучает роботов в 430,000 раз быстрее, чем в реальности
Бесплатный доступ к GitHub Copilot в VS Code
Problem Driven Development
How Notion Builds Their iOS and Android Apps
Payment Button Design Best Practices

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

Маркетологи в мобайле. Итоги года 2024. Часть 1
Рекламодатели смогут улучшить продвижение мобильных приложений
В 2024 доходы App Store и Play выросли на 15.7%, но загрузки упали на 2.3%

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

Flutter Dev Podcast #49: многомодульность на Flutter
Flutter Mix. Делаем верстку проще
Как мы раскрыли внутреннюю архитектуру Flutter и затащили его на собственную платформу
A primer into native interactions in Compose Multiplatform apps
Wrapping Android XR For KMP

#mobile #dev
1
Просто делать проекты, чтобы учиться, может быть плохим советом

Немного опосредованно ко вчерашнему посту о "въезжании в технологию". На Reddit обсуждение - стоит ли обучаться разработке просто создавая проекты:
Многие люди всегда повторяют совет «просто начни создавать что-то для решения небольшой проблемы, и ты научишься этому», когда новичок спрашивает, с чего начать. Я считаю это плохим советом. Потому что я делал это с одним из моих приложений для iOS, которое я создавал, и я реализовал многие вещи, просто погуглив мои задачи или то, что я хотел сделать. Однако причина, по которой я говорю, что это плохой совет, заключается в том, что многое из того, что вы можете найти, может сделать вещи более сложными, чем они должны быть, или устаревшими, или в этих советах могут не знать, что в SwiftUI уже существует новая функция для решения этой проблемы. В итоге вы создадите приложение, в котором будете много раз изобретать колесо или будете реализовывать фичи некачественно, потому что у вас не будет соответствующих знаний для создания приложений на SwiftUI.

Совет создать проект, чтобы учиться, не является плохим советом, если вы уже прошли какой-нибудь подходящий курс, потому что, по крайней мере, вы будете лучше подготовлены, чтобы создавать вещи с меньшими трудностями.

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

Не все согласны с автором:
У людей есть сильная тенденция начинать с курсов и оставаться там, чувствуя себя продуктивными, но на самом деле не производя ничего. Это известно как tutorial hell.

Изобретать колесо - один из лучших способов обучения. Так вы учитесь справляться с более сложными задачами. Да, довольно часто есть встроенный подход, который прост и правилен, но почти так же часто Apple не предоставляет вам удобного API, и вам остаётся решать проблему самостоятельно.

Кроме того, количество информации, которую вы можете усвоить из курса/книги, резко возрастает, если вы ранее уже пытались решить какие-то изучаемые проблемы.

Но большинство поддерживает идею того, что надо совмещать создание с обучением. А как вы изучаете новые технологии?
51
У AppsFlyer, кроме нового Performance Index, вышел и отчет о монетизации приложений и игр - The State of App Monetization 2024. Главный факт, собственно, уже известен - iOS занимает лидирующее положение среди приложений, работающих по подписке. Пользователи тратят на них в среднем в 5.4 (!) раза больше, чем на Android. Впрочем, разрыв в ARPU меньше в странах с высоким уровнем доходов и больше в таких регионах, как Латинская Америка или Юго-Восточная Азия. Но, очевидно, в развитых странах еще больше.

Разработка

Просто делать проекты, чтобы учиться, может быть плохим советом
Golden Rules for Mobile System Design Interviews
OpenAI on Mobile Development, Previews, & Snapshot Testing

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

Маркетологи в мобайле. Итоги года 2024. Часть 2
Монетизация приложений 2024 — отчет AppsFlyer
AppsFlyer Perfomance Index 17

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

Делаем кастомный трансформер для BLoC
Klibs.io — Search 1400+ KMP libraries
Creating Web Demos for Compose Multiplatform Apps
Flutter’s recommended architecture: why not BLoC?
Announcing Flutter AI Toolkit

iOS

The SwiftUI Christmas Tree на GitHub — новогодняя елка на SwiftUI
SwiftUI: Всё, что вам нужно знать о модификаторе containerRelativeFrame (и немного больше)
Introducing SnapShooter: A Swift Framework for Effortless Snapshot Testing
iOS Unit Testing Interview Questions
Why Certain View Modifiers in Swift 6 Cannot Use the @State Property
Exploring TabView Advancements in SwiftUI

Android

Orbit MVI с сахаром: вкусный фреймворк для однородной архитектуры
Kotlin companion object explained
Improving Performance in Jetpack Compose Apps
A quick migration journey from Hilt to Koin Annotations
AI Vision on Android: CameraX ImageAnalysis + MediaPipe + Compose
Popular Gradle mistakes (and how to avoid them)

#android #ios #mobile #dev
4👍4
Рождественское дерево. И куча подарков под ним. С праздником всех причастных🎄
🍾20
У команды Threads вышла объемная статья о том, как они наблюдают за и работают с производительностью iOS-приложения. Можете почерпнуть несколько интересных метрик, несколько приемов, но в целом - хороший рассказ о внутренностях разработки в такой корпорации, как M. Особенно порадовал эпизод про эксперимент со специальным замедлением работы приложения, чтобы найти границы влияния. Так что если I или F в следующий раз у вас будут необычно медленны - знайте, что это все эксперименты разработчиков.

Разработка

Why Zero Tech Debt is a Myth (and Maybe a Red Flag)

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

Маркетологи в мобайле. Итоги года 2024. Часть 3
Влияние стратегии «mobile-first»: пришло время инвестировать в мобильное приложение
Опубликован AppsFlyer Performance Index 17 — Рейтинг лучших медиа-источников в мобильной рекламе

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

Celebrating Flutter’s “Production Era"
My 6 Favourite Updates in Flutter 3.27

iOS

Как мы работаем с производительностью Threads для iOS
Reading and displaying Genmoji in non-rich text formatted data context
Unleashing the Power of Core ML in iOS Development
How to make a Swift function 10,625,000 times faster

Android

App Sizer — анализ размера Android-приложения
8× faster 5× memory savings
Jetpack compose — One Line trick for your ‘LazyColumn’
How I Made a Game Engine Using MVI in Kotlin
How Coroutines withContext Actually Work
👍2
Итоги года от RuStore

Сегодня команда поделилась результатами работы по трём направлениям: бизнес, продукт и технологии.

• >50 000 приложений и игр от разработчиков из 40 стран мира
• 1/3 каталога — от зарубежных паблишеров
• Х4 спрос на загрузку приложений
• >300 млн скачиваний из каталога

• Раздел Киоск для пополнения баланса в играх и сервисах, например, Steam - Киоск доступен в приложении RuStore и на официальном сайте
• Интеграция с GitFlick и AsoDesk
• Поисковые теги в приложениях
• Доработанные отзывы: ИИ, расширенная фильтрация и кол-во параметров
• Добавили формат Android App Bundle
• Добавили в Billing SDK возможность оплаты на устройствах без RuStore
• Улучшенный поиск в Консоли и Приложении
• Создали SDK Install Referrer для отслеживания рекламной атрибуции

• Crash Free в Android RuStore в 2024 — 99.8%
• Новая архитектура установки приложений на основе стейтов, полностью стабилизирована
• 500+ модулей в Android-проекте - сборка собирается: hot <1 мин, cold <5-6 мин
• Всё покрыто авто-тестами: на Android – 97%, на бэке – 80%
• Весь UI в Android приложении на нашей дизайн-системе Luise на Jetpack Compose
• Передовые архитектурные паттерны: DDD, CQRS и SAGA
🤡265👍1🌭1
🤡28🫡3👍2
С мест докладывают:
В конце концов, технический долг — это такая же форма долга, как и любая другая: он управляем, а иногда даже необходим. Это часть естественного баланса в реальном развитии. И если кто-то утверждает, что достиг мифического состояния «нулевого технического долга», я бы сказал, что он либо не понимает сути, либо работает над чем-то настолько несущественным, что это не имеет значения. Так что давайте перестанем притворяться, что технический долг — это то, чего стоит бояться. Давайте примем его, будем управлять им и использовать его так, как он есть: как инструмент, позволяющий нам двигаться быстро, делать итерации и создавать вещи, которые имеют значение. Потому что, честно говоря, смотреть на кодовую базу без техдолга так же скучно, как на высыхание краски.
Прочитайте и используйте по назначению.

Разработка

Почему нулевой технический долг — это миф (и, возможно, красный флаг)
Surf-итоги кода: Flutter, Android и iOS в 2024-м
F* : A general-purpose proof-oriented programming language

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

Итоги года от RuStore

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

Flutter 3.27 — Что нового во Flutter?
Lessons Learned From My First Mobile Flutter App - uStor Storage App

iOS

CoreEngine — простая и легкая однонаправленная архитектура на Swift
iOS to AI Engineer: Your Roadmap
Optimizing iOS App Performance
Write Swift Like Apple. Part 2

Android

Простая оптимизация LazyColumn в одну строчку кода
AnimeTV — просмотр аниме на Android TV
Оптимизация под контролем: инструменты и метрики для Аndroid-приложений
Разработка плагина для Android Studio
Kotlin Exception Handling: Why Singleton Exceptions are a bad idea
Android Feature Flag Implementation with Firebase Remote Config + Kotlin Flow + Jetpack Compose
Binary Compatibility Validator: Managing API Breaking Changes in Your Android Library
1👍1🔥1
🔥2
Рынок мобильных приложений в России 2024

Совсем новогоднее исследование ☺️

• По данным Apptica, в этом году (с 1 декабря 2023 по 30 ноября 2024) в России было совершено 11.63 миллиарда установок - это немногим больше (10.87), чем в  2023.
• За год пользователи потратили 846.39 миллиона долларов, что тоже больше прошлогодних 773.13 млн. Россия остается на 20 месте по доходам в мире, между Египтом и Южной Африкой.
• Главные категории по доходам - Развлечения, Action игры и Социальные сети.
• Топ приложений по загрузкам по данным AppMagic - на первом месте Телеграм, который прибавил более 3 миллионов установок:
--- Telegram
--- VPN - fast proxy + secure
--- Wildberries
--- TikTok
--- OZON: товары, одежда, билеты
• Топ приложений по доходам - ВКонтакте уступил Телеграм, который увеличил свою прибыль почти на 8 миллионов:
--- Telegram
--- PUBG MOBILE
--- Royal Match
--- VK: social network, messenger
--- Roblox

И что: поздравляю всех причастных! 🎄
🎄11
15 лучших статей AppTractor в 2024 году

Весь год я находил для вас самые интересные новости и статьи о разработке мобильных приложений и их маркетинге, технологиях и мобильном рынке. Всего за год у меня на сайте было 760 тысяч посетителей, которые прочитали более 1.5 млн материалов - и это самые популярные статьи сайта за год:

2024 App Marketing Trends Report
Побочные эффекты Jetpack Compose в подробностях
Fantasy Hike — фитнес-трекер по мотивам «Властелина колец»
Что такое Copy-On-Write
Что такое состояние гонки (race condition)
Осваиваем ViewModel в Android: «можно» и «нельзя»
Что такое Hashable в Swift
Как в Duolingo удалили 10,000 строк кода с помощью Reaper
В чем разница между LinkedList и ArrayList
Bluetooth LE Spam: спам через BLE
Как сделать мобильные приложения, которые приносят $3,000 в день
Культ Obsidian: почему люди одержимы приложением для заметок
Xcode 16 потребует 16 Гб для работы Predictive Code Completion
Почему Ollie перешел от SwiftUI к UIKit
Встраиваемый Swift: начинаем работу

Спасибо, что писали, читали, комментировали и делились! С Новым Годом и Рождеством. Хороших приложений! 🎄🎄🎄
12🌭2🍾2