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
Разработка

Как мы ускорили сборки для 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
🤮 Доход от подписки Duolingo вырос на 567% за четыре года

Обещали себе в новом году выучить язык и заняться спортом? ☺️

2024 год стал для Duolingo самым большим годом по доходам, и они выросли сразу на много. Согласно данным AppFigures, в 2024 году пользователи отдали «зеленой птичке» $678 млн. Это на 37% больше, чем в 2023 году, и более чем на 560% больше, чем в 2020 году.

С ключевым словом «изучение языков» в App Store есть более 10 000 приложений. Если суммировать их, то эти приложения получили чуть больше 440 миллионов долларов валового дохода за весь 2024 год.

То есть все конкуренты вместе взятые заработали меньше, чем Duolingo в 2024 году.

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

Скорее всего эта тенденция сохранится и в 2025 году, но интересно, сможет ли кто-нибудь из конкурентов приблизиться к ней сейчас, когда ИИ открывает столько возможностей для изучения языков, особенно с помощью голоса.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍143😱2
🐥 Swift Student Challenge стартует 3 февраля

В этом году Apple снова организует ежегодный конкурс Swift Student Challenge. Он стартует 3 февраля и запись на него продлится три недели.
Apple проводит Swift Student Challenge ежегодно, чтобы мотивировать и оценить креативность и мастерство студентов. Конкурс дал тысячам учащихся разработчиков возможность продемонстрировать свои творческие способности и возможности программирования, а также получить реальные навыки, которые они смогут применить в своей карьере и за её пределами.

В этом году Apple планирует выбрать 350 победителей, чьи работы «демонстрируют превосходство в инновациях, творчестве, социальном влиянии или инклюзивности». Из этих 350 человек 50 получат звание «выдающихся победителей» (Distinguished Winners) и будут приглашены на три дня в Купертино (предположительно на WWDC 2025).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Чистим Android-проект просто и правильно

При разработке Android-приложений дисковое пространство может быстро загрязняться результатами сборки, кэшами Gradle и конфигурационными файлами IDE.

По умолчанию команда Android Studio «Build → Clean Project» удаляет не все. Могут накапливаться кэши, артефакты из модулей, остатки файлов Gradle и результаты сборки.

В этой статье представлен один скрипт, который комплексно решает все эти проблемы, с фантастическим выводом консоли, показывающим использование пространства до и после. Рассматривается macOS/Linux (с помощью Bash) и Windows (с помощью Batch), а также проясняется, как Lite-чистка скрипта сравнивается с Build → Clean Project с точки зрения освобождаемого дискового пространства и объема проекта.
🙈7👍3
Интересно наблюдать за падением гигантов (хорошо, правда, что не изнутри). Докладывают, что за два года, с ноября 2022 года, когда был запущен ChatGPT, количество вопросов на Stack Overflow упало в 3.25x. Да, можно сказать, что это также результаты политик, кривой модерации, но факт умирания уже налицо.
Это как Советский Союз, который закончился в 1986 году, только он был настолько большим, что гиганту потребовалось пять лет, чтобы рухнуть. SO, похоже, умер в 2019 году и закроется в 2026-м (в лучшем случае).


Разработка

Количество новых вопросов на StackOverflow сократилось на 77% по сравнению с 2022 годом
Мок-интервью по мобильному системному дизайну
Проектирование и запуск разработки
Что не так с мобильными сервисами в Android и iOS
Mobile App Performance: метрики производительности
Релизный процесс приложений Ozon
Operating System in 1,000 Lines
Building the B&Q Mobile Apps

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

Объявлены победители 2024 AppleVis Golden Apples
Лаборатория Google запустила Daily Listen — персонализированный подкаст, основанный на ваших интересах
Доход от подписок Duolingo вырос на 567% за четыре года
Netflix начал заниматься спортом, и это принесло свои плоды
Рынок мобильных приложений в России 2024

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

PWA vs Native App. Как и зачем в Альфа-Бизнесе создавали свой MobileWeb
Exploring Isolates — Guide to Parallelism In Dart & Flutter
Migrate your Android Project to Compose Multiplatform Project
3👍2😢1
Моя роль технического директора-основателя: седьмой год

Мигель Карранса, основатель RevenueCat, каждый год пишет пост, в котором оглядывается на последние двенадцать месяцев. 2024 год был хорошим годом для RevenueCat, возможно, лучшим с 2020 года. Хотя работа была гораздо более трудной, чем представлял себе Карранса, очевидно, что компания преуспела в достижении своих целей. В статье обсуждаются результаты работы компании в прошлом году, уроки, которые она извлекла (о культуре, найме, построении компании и масштабировании в качестве основателя), а также планы на будущее.

А какие итоги года у вас, у вашей компании? Поделитесь в комментариях или в личном сообщении. Лучшие опубликую в канале и на сайте.
👍5🔥3
Уменьшаем количество вопросов

Первая посленовогодняя подборка за идеальную рабочую неделю - уменьшаем написание boilerplate и удаляем десятки тысяч строк кода, чистим проекты правильно и наблюдаем за закатом Stack Overflow, оцениваем рынок мобильных приложений в России в 2024 году, отслеживаем перформанс-метрики и многое другое. Подключайтесь!
👍73