apptractor | Unsorted

Telegram-канал apptractor - Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

11101

Цифры, советы и все интересное о разработке мобильных приложений и сервисов. Комментарии и вопросы можно писать прямо @lbogolubov • Аудитория https://t.me/apptractor/1066 • Сайт https://apptractor.ru/ • Поощрения: https://boosty.to/apptractor

Subscribe to a channel

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

iOS

Малоизвестные представления SwiftUI
I've been doing this since 2009 and Apple has officially exhausted me
sohamb.1390/design-an-analytics-manager-in-ios-0430d58304cf">Design an Analytics Manager in iOS
provar67/how-to-organize-tabview-in-swiftui-using-composable-architecture-be76826ad2b1">How to organize TabView in SwiftUI using Composable Architecture
Apple Engineer Shows How To Build a SwiftUI Step Counter

Android

MMKV — эффективное key-valu хранилище от Tencent
В чем отличие между job и supervisor job — вопросы с собеседований
Экспорт и импорт File Templates в IDE от Intellij
Управление настройками с помощью Jetpack DataStore: Простой подход к сохранению данных разных типов
Handling One-Time Events in Jetpack Compose: Channels vs. SharedFlow
Tap to focus: Mastering CameraX Transformations in Jetpack Compose
Function, KFunction, KCallable, and all those other function types in Kotlin

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

matheusdeveloper.henrique/flutter-live-activity-from-development-to-testing-a4fcca6325d9">Flutter Live Activity: From Development to Testing

Разработка

Как мы сократили time to market на 17%, не выжигая команду и не теряя в качестве
Test-Driven Development with an LLM for Fun and Profit
The documentation problem in development

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

Маркетологи в мобайле: Иван Останков (Островок)
В преддверии бана TikTok, количество изучающих китайский в Duolingo выросло на 216%
Создатель Gas и tbh сделал приложение для исчезающих фотографий в iMessage

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🇸🇱 Android Automotive получит больше приложений

Google объявил, что программа мобильных приложений для автомобилей будет запущена в следующем месяце. Компания рассказала об этой программе на своей конференции для разработчиков I/O в прошлом году. Цель программы - расширить количество приложений, доступных для загрузки из Google Play Store в автомобилях, работающих под управлением автомобильной ОС Android. Google, по сути, прочесывает Play Store в поисках мобильных приложений, совместимых с большими экранами, и оценивает их на предмет безопасности для использования в автомобилях.

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

Для начала, приложения, поддерживающие только ARM-устройства, не попадут в программу, поскольку во многих автомобилях используются чипы x86. Более того, Google утверждает, что на начальном этапе программы рассматриваются только те приложения, которые относятся к категориям видео, игр и браузеров. Для участия в программе эти приложения должны соответствовать всем требованиям Google по качеству для этих категорий.

Приложения, которые не соответствуют всем гайдлайнам, все равно могут быть допущены к участию в программе при запуске в новом режиме совместимости Android Automotive. Режим совместимости - это новая программная функция, доступная на некоторых автомобилях, которая обеспечивает возможность возврата назад для приложений, не имеющих видимой кнопки «назад», отображает приложения в обозначенной безопасной области, масштабирует приложения, чтобы они были более заметны на расстоянии, и блокирует действия приложений, когда автомобиль переходит в режим движения.

Программа будет запущена в следующем месяце. Приложения, отвечающие требованиям программы, можно будет загрузить с 2025 года из Google Play Store в автомобили, работающие под управлением Android Automotive.

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Новый год - новые хотелки. Хочу сделать ПЛАТНЫЙ чат для инди - так и назову XYIndie. Про приложения как бизнес - обсуждение проектов, идей, маркетинга, монетизации, может быть юридических тонкостей, поиск партнеров и вообще коллег по несчастью. В целом вход рубль, выход два. Кто не обсуждает - вылетает. Может уже такое есть? Будете участвовать?

Разработка

Разработка цифровых открыток в масштабах Airbnb
How to Choose the Right Database in a System Design Interview
How to build an AI side project using AI in 2025

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

Приложения для здорового питания в России 2024
Самые скачиваемые и зарабатывающие приложения в мире в декабре 2024

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

pomis172/mastering-scrollable-in-flutter-4cbc5f42420e">Mastering Scrollable in Flutter
How to Release Your Flutter App on the Google Play Store

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

iOS

Используем диалог подтверждения в SwiftUI
Приложение React Native с поддержкой Apple Watch и виджетов
Adopting Swift 6 across the app codebase
Accessibility That Fits
Handle plurals in SwiftUI Text views with inflection
Swift 6: Typed Throws
Using Copilot to write a raindrop audio synthesizer using AVAudioEngine
Legacy Code Rescue: Taming a Thousand-Line View Controller
How to use cryptographic hash functions in CryptoKit for iOS security
gokhanvaris/creating-a-network-manager-in-swiftui-with-clean-code-principles-d767a0e93a9a">Creating a Network Manager in SwiftUI with Clean Code Principles

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Уменьшаем количество вопросов

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

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Видео и подкасты за неделю на @AppFiles

(iOS Ru) Переезд с UIKIT на SwiftUI — кажется, УЖЕ ПОРА!
(iOS En) Complete Habit Tracker App - SwiftUI, SwiftData CRUD
(iOS En) Carousel With Ambient Background Effect - SwiftUI
(iOS En) How to hide a View when the app goes into the background
(iOS En) RawRepresentable and AppStorage
(iOS En) Persistence Image Caching - SwiftUI
(iOS En) Reduce Memory Consumption when using Large Images
(And Ru) Олег Афанасьев про причину создания Rustore и будущее Play Market
(And En) What's new in Android Studio Ladybug
(And En) Media & Camera experiences
(And En) How to Encrypt DataStore On Android
(And En) Android XR Introduction - Build Apps With AR & VR Support
(And En) How to Record the Screen of ANY Android App
(And En) We fixed an inconsistency in Kotlin (non-local break & continue)
(And En) Guards and Pattern Guards
(Crs En) React Native Full Course for Beginners
(Crs En) Full-Stack Game Development - Kotlin & Compose Multiplatform
(Dev En) BA x Frontend: Как перестать проектировать в голове
(Dev En) IoT Home Automation Project Tutorial

#ios #android #mobile #video

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

Чистим Android-проект просто и правильно
Google открывает доступ к Home API
mpvKt — медиаплеер для Android
Куда идёт мобильная разработка: подводим итоги 2024 года
Sequence Showcase — подсветка элементов на Jetpack Compose
Debugging Kotlin Coroutines: Making “Optimised Out” Variables Visible
pegongorasep/error-handling-in-android-with-kotlin-two-approaches-for-clean-architecture-92b0c0dae3f6">Error Handling in Android with Kotlin: Two Approaches for Clean Architecture
Type-Safe Deep Link Navigation using Jetpack Compose
Kotlin — Functional (SAM) interfaces VS Function-Type Performance

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Чистим Android-проект просто и правильно

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

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

В этой статье представлен один скрипт, который комплексно решает все эти проблемы, с фантастическим выводом консоли, показывающим использование пространства до и после. Рассматривается macOS/Linux (с помощью Bash) и Windows (с помощью Batch), а также проясняется, как Lite-чистка скрипта сравнивается с Build → Clean Project с точки зрения освобождаемого дискового пространства и объема проекта.

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🤮 Доход от подписки Duolingo вырос на 567% за четыре года

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

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

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

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

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

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

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

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: начинаем работу

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

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Рынок мобильных приложений в России 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

И что: поздравляю всех причастных! 🎄

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Видео и подкасты за неделю на @AppFiles

(iOS Ru) Мок-интервью по мобильному системному дизайну
(iOS Ru) Задачи с собеседования: LRU Cache — leetcode
(iOS En) Interactive Tab Bar - SwiftUI
(iOS En) iPhone Apps 101 - Project Based SwiftUI App Development
(iOS En) Multiple Image Viewer - AsyncImage - SwiftUI
(And Ru) Куда идёт мобильная разработка: подводим итоги 2024 года
(And En) How to Create a FAB Explode Transition Animation in Jetpack Compose
(And En) I've Used Jetpack Compose For 4 Years - Here's the Good and the Bad
(Crs Ru) PWA vs Native App. Как и зачем в Альфа-Бизнесе создавали свой MobileWeb
(Dev Ru) Проектирование и запуск разработки
(Dev Ru) Что не так с мобильными сервисами в Android и iOS
(Dev Ru) Mobile App Performance: метрики производительности
(Dev Ru) Релизный процесс приложений Ozon
(Dev Ru) Effect oriented programming — Системы эффектов в языках программирования
(Dev En) How Notion Builds Their iOS and Android Apps
(Mrk En) I Spent $400 on Ads: How Many App Installs Did I Get?

#ios #android #mobile #video

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Итоги года от 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

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Рождественское дерево. И куча подарков под ним. С праздником всех причастных🎄

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

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

Разработка

Просто делать проекты, чтобы учиться, может быть плохим советом
engineervishvnath/golden-rules-for-mobile-system-design-interviews-bd7b71e4f454">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 (и немного больше)
mkemalgokce/introducing-snapshooter-a-swift-framework-for-effortless-snapshot-testing-0264c64e23eb">Introducing SnapShooter: A Swift Framework for Effortless Snapshot Testing
shobhakartiwari/ios-unit-testing-essential-interview-questions-c88a9e529d05">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
rajputmukesh748/improving-performance-in-jetpack-compose-apps-c5812bba1a7f">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

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Новое исследование показало, что примерно 20% всех вакансий в интернете - фейковые, вакансии-призраки. Почему так происходит отдельный разговор, однако могу напомнить про еще одну мою публикацию, в которой говорится что делать:

• Делайте умный, а не большой нетворкинг. Стратегический нетворкинг, это создание нужных связей в компаниях, в которых вы хотели бы работать. Общаясь с действующими сотрудниками, вы не только узнаете о реальных вакансиях, на которые они нанимают, но и сможете воспользоваться рекомендацией сотрудника из вашей сети для получения вакансии, которая еще не объявлена.
• Станьте рассказчиком. Научитесь рассказывать о своей карьерной траектории — где вы были и где хотите быть — это еще один навык, необходимый соискателям. Рекрутеры и менеджеры по подбору персонала оценивают кандидатов по тому, насколько легко они могут кратко рассказать о своем опыте.
• Погрузитесь в непрерывное обучение. Приверженность к изучению новых навыков, даже если для этого приходится выкраивать время из текущей работы и других обязанностей, является ключевым фактором на быстро меняющемся и конкурентном рынке труда, таком как разработка программного обеспечения. Найдите социальные обучающие сообщества и сообщества практиков, где вы сможете изучать новые навыки и концепции и становиться лучше в своем деле.
• Оставайтесь открытыми. Никогда не знаешь, где можешь найти свою следующую работу. Если вы всегда были менеджером по продуктам, вы можете быть удивлены, обнаружив, что можете быть успешным и в команде инженеров. Если до сих пор вы тяготели к корпоративным компаниям, поищите вакансии в стартапах, проектах с открытым исходным кодом или небольших компаниях, нуждающихся в ИТ-поддержке.

Разработка

20% вакансий в Интернете на самом деле существует
30 уроков от 30 лучших продуктовых лидеров
Boosting Performance in a Diagramming App with Quadtrees and Binary Search on Path

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

Дружим RabbitMQ и Flutter/Dart
JOY Ads: UGC как система
Pixelfed — децентрализованная альтернатива Нельзяграм*
Супераппы банков украдут ваших клиентов. Как сделать так, чтобы пользователи не ушли из ритейл-приложения

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


divyanshub024/introducing-mirai-a-server-driven-ui-framework-for-flutter-d020fd0c387d">Introducing Mirai — A Server Driven UI framework for Flutter
ksufi7350/mvvm-officially-recommended-by-google-for-flutter-development-ba17f899d320">MVVM: Officially Recommended by Google for Flutter Development
10 Flutter Widgets Probably Haven’t Heard Of (But Should Be Using!)

iOS

Blueprint — декларативный UI-конструктор
Swift 6.0 Actors: Goodbye Race Conditions!
SwiftUI: Zipping Files
vishwasng/swiftui-other-views-2c5649a45b4a">SwiftUI :- Other Views
maatheusgois/managing-singletons-in-memory-in-swift-d4420af2f446">Managing Singletons in Memory in Swift

Android

Android Automotive получит больше приложений
Стековая и кучная память в Kotlin
Exploring ViewModel Internals
morganes56/from-junior-to-senior-evolving-usecases-and-viewmodel-in-android-clean-architecture-e88725161855">From Junior to Senior: Evolving UseCases and ViewModel in Android Clean Architecture
Integrating Google ML Kit for Barcode Scanning in Jetpack Compose Android Apps

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Результат неправильного и преждевременного релиза приложения - увольнение генерального директор. Я публиковал статью о катастрофе, которая постигла Sonos с их новым приложением, и тогда окончание истории было неизвестным. Сегодня пришел промежуточный результат - CEO уволился (ну или его уволили). Он пришел в Sonos в 2012 году в качестве коммерческого директора. На посту генерального директора он курировал выпуск многих успешных аппаратных продуктов, но одна оплошность с приложением — и вот он уходит. Что интересно, директор по продуктам Максим Буват-Мерлин, который, наверное, в большей степени несет вину за выпуск кривого приложения, остался на своем посту.

Разработка

Генеральный директор Sonos Патрик Спенс покидает свой пост после неудачного запуска приложения
30 Lessons from 30 Top Product Leaders

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

Как Gamelight трансформирует привлечение пользователей с помощью AI инноваций
The price of your product is wrong

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

CodeStyle на Flutter-проектах: базовые принципы и правила — шаблон на все случаи жизни
Mastering Flutter Testing: Integration Tests
mohaberabi98/logging-in-compose-multiplatform-a5cf750dbce0">Logging In Compose Multiplatform

iOS

Множественное число в текстовых представлениях SwiftUI с помощью склонения
Using Approval Tests to Bring Legacy Code Under Test
Exploring Tab View Styles in SwiftUI
SwiftUI Lists: Present rows of data explained with code examples
Bringing App Intents to Your SwiftUI App

Android

Распространенные ошибки в шаблоне UseCase для Android
ViTune — музыкальный плеер для Android
Примеры использования File Templates для типовых сценариев, где требуется шаблонный код
How We Reduced the WINK+ Android App to Less Than 10MB
Reverse-Engineering the Compose Compiler Plugin: Intercepting the Frontend
DiffUtils, Myers’ Algorithm and Jetpack Compose
Getting Started with CameraX in Jetpack Compose

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Android

Корутины в Kotlin: делаем «Optimised Out» переменные видимыми
Aspecto — идеальная сетка для Jetpack Compos/Multiplatform
Kotlin Coroutines под капотом: отмена корутин
How modifiers order affects Compose UI appearance
FilterChip Dropdown selector in Jetpack Compose
Top 3 Most Common Animations You Can Use in Your Jetpack Compose Project
Android Dynamic Animated SVGs (with Lottie Dynamic Properties)
Common Android UseCase Pattern Mistakes
5 steps to use Paging3 library with Jetpack Compose

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

❤️ Приложения для здорового питания в России 2024

По данным AppMagic, Топ-10 приложений для здорового питания за 2024 год в мире заработали около 382 миллионов долларов при 71 миллионах установок. А как дела с этой категорией обстоят в России?

Топ-10 приложений по загрузкам в России:

1. Счетчик Калорий от fatsecret
2. Худеем за 30 дней
3. Интервальное Голодание
4. OKOK·International
5. YAZIO Calorie Counter & Diet
6. BMI Calculator
7. Убрать жир с живота за 30 дней
8. Похудение для женщин дома
9. Таблица калорийности и калории
10. Lifesum: Подсчет каллорий

Лидер получил более 3 миллионов новых установок, приложение на 10 месте почти в 10 раз меньше. Если взять лидера — Счетчик Калорий от fatsecret, то на Google Play у него приходится 1.77 млн установок, а на App Store 1.41 млн. В целом же для Топ-10 приложений примерно 72% установок идет от Android и только 28% от iOS.

Ноябрь 2024 года поставил рекорд по установкам — эти приложения получили 1.23 млн новых пользователей. В мире, однако, загрузки таких приложений постепенно падают.

Топ-10 приложений по расхода:

1. YAZIO Calorie Counter & Diet
2. Calorie Counter by fatsecret
3. Lifesum: Подсчет каллорий
4. Счетчик калорий и БЖУ — Arise
5. Худеем за 30 дней
6. Интервальное Голодание
7. If: Интервальное голодание
8. Худеем за 30 дней. Фитнес дома
9. Таблица калорийности и калории
10. Keto Diet app by
Keto.app

Лидер за год заработал $464,2110, приложение на 10 месте — в 35 раз меньше. В целом лидер получает примерно такую же долю всех доходов, как им в дейтинге. Топ-10 приложений заработали за год $1,172,017, то есть он получил 40%.

Доходы приложений для здорового питания, диет и тренировок сильно пострадали после 2022 года, и хоть и выросли в 2024, сейчас их доходы практически не растут.

Можно ли преуспеть в категории? С трудом, и то только в одной стране. Подробнее в обзоре.

И что: установки приложений для питания в стране поставили исторический рекорд — и если вы рассчитываете на набор пользовательской базы, то сейчас, кажется самое время. Однако доходы за установками пока не последовали. И в условиях отключения Google Play вряд ли можно ожидать их роста. Однако в мире доходы этой категории растут и если делать приложение сразу для мирового рынка, то можно отъесть какую-то часть не только роста, но и старой аудитории.

Какая еще категория вам интересна? Напишите в комментариях. И, конечно, поставьте ❤️, если хотите продолжения

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Моя роль технического директора-основателя: седьмой год

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

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

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Интересно наблюдать за падением гигантов (хорошо, правда, что не изнутри). Докладывают, что за два года, с ноября 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
abid.ghani/building-the-b-q-mobile-apps-ce69ab593797">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

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

iOS

iOS 18.3 намекает на новое приложение Invites от Apple
Swift Student Challenge стартует 3 февраля
Что такое Lazy Variables в Swift
Giffy — клиент Giphy на чистой архитектуре
Задачи с собеседования: LRU Cache — leetcode
How a new Xcode 16 feature helped my work project eliminate 66,000 lines of code
Understanding opaque types and protocols with associatedtype in Swift
Introduction to JWTs in Swift
SwiftData CRUD Operations with ModelActor
Keyboard-driven actions in SwiftUI with onKeyPress
Testing Background Uploads in iOS

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

🐥 Swift Student Challenge стартует 3 февраля

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

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

В этом году Apple планирует выбрать 350 победителей, чьи работы «демонстрируют превосходство в инновациях, творчестве, социальном влиянии или инклюзивности». Из этих 350 человек 50 получат звание «выдающихся победителей» (Distinguished Winners) и будут приглашены на три дня в Купертино (предположительно на WWDC 2025).

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

erid: 2W5zFGRJWFz

В Новый Год вместе с AsoGen 🩵

Продвинь своё приложение по лучшей цене!

В период с 1 по 6 января включительно, тебя ждут выгодные предложения на:

🩵Установки по ключевым словам;
🩵Прямые установки;
🩵Отзывы и рейтинги;
🩵И многое другое.

Жми, чтобы воспользоваться акцией! ⬇️

HAPPY-HAPPY

Реклама ООО "ИВТ" 7707475940 ИНН

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Облако — это конструктор!

The Art of Programming — подкаст об ​​инструментах, технике и разработке ПО. По следам конференции HighLoad 2024 записали новый выпуск, в котором обсуждаем индустрию публичных облаков.

Вместе с Данилой Дюгуровым, CTO MTC Web Services, говорим о новостях индустрии, создании новых облачных платформ, потенциале рынка и принципах формирования топовых команд разработки.

🎧Слушайте The Art of Programming на всех популярных подкаст-площадках.

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

Онлайн-курс по Android-разработке от НИУ ВШЭ

Центр непрерывного образования ФКН НИУ ВШЭ открывает набор на новый онлайн-курс «Android-разработчик на Kotlin» для начинающих.

Программа подойдет:
〰️〰️〰️〰️
- Новичкам в IT: познакомитесь с ООП и функциональным программированием, освоите языки Java и Kotlin
- Специалистам с небольшим опытом в этой сфере или из других направлений IT: узнаете, как устроен жизненный цикл мобильного приложения и освоите популярные библиотеки

За 5 месяцев вы:
〰️〰️〰️〰️
- Освоите официальные языки программирования для платформы Android
- Познакомитесь с полным циклом разработки мобильного приложения
- Освоите популярные библиотеки для мобильной разработки
- Погрузитесь в сложные аспекты работы с потоками: использование синхронизаторов, атомарных переменных и Concurrent Collections для потокобезопасного доступа к данным
- Сделаете итоговый проект

Старт онлайн-курса — 24 февраля.

При подаче заявки до 31 декабря действует скидка 10%.

Погрузиться в Android-разработку можно на бесплатном онлайн-интенсиве «Мобильная разработка на Android: от основ до готового продукта».

Подробнее о программе

Реклама: Федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский университет «Высшая школа экономики».
Erid: 2SDnjevF7Vu

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

С мест докладывают:

В конце концов, технический долг — это такая же форма долга, как и любая другая: он управляем, а иногда даже необходим. Это часть естественного баланса в реальном развитии. И если кто-то утверждает, что достиг мифического состояния «нулевого технического долга», я бы сказал, что он либо не понимает сути, либо работает над чем-то настолько несущественным, что это не имеет значения. Так что давайте перестанем притворяться, что технический долг — это то, чего стоит бояться. Давайте примем его, будем управлять им и использовать его так, как он есть: как инструмент, позволяющий нам двигаться быстро, делать итерации и создавать вещи, которые имеют значение. Потому что, честно говоря, смотреть на кодовую базу без техдолга так же скучно, как на высыхание краски.
Прочитайте и используйте по назначению.

Разработка

Почему нулевой технический долг — это миф (и, возможно, красный флаг)
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
shobhakartiwari/ios-to-ai-engineer-roadmap-00e5ed8c4084">iOS to AI Engineer: Your Roadmap
shobhakartiwari/optimizing-ios-app-performance-1f9bd7a9f0b3">Optimizing iOS App Performance
uwaisalqadri/write-swift-like-apple-part-2-44e025e51824">Write Swift Like Apple. Part 2

Android

Простая оптимизация LazyColumn в одну строчку кода
AnimeTV — просмотр аниме на Android TV
Оптимизация под контролем: инструменты и метрики для Аndroid-приложений
Разработка плагина для Android Studio
patilshreyas/kotlin-exception-handling-why-singleton-exceptions-are-a-bad-idea-c53714ee6db5">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

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

У команды 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"
debasmitasarkar.93/my-6-favourite-updates-in-flutter-3-27-892d8f0c943e">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
herlandro/how-to-make-a-swift-function-10-625-000-times-faster-218808a7c4c2">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

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

📱 Открытый урок: Навигация на SwiftUI без UIKit

Хотите создавать приложения с нативной навигацией и современными подходами? Узнайте, как это сделать на бесплатном вебинаре! 🚀

Что вас ждёт на уроке:

- Разберём навигацию в проектах на SwiftUI.
- Научимся писать приложение с нативной навигацией на SwiftUI с поддержкой iOS 14, используя OpenSource-решения и авторские разработки.
- Изучим интеграцию диплинков в проект в декларативном стиле.

👨‍💻 Кому будет полезно:
Разработчикам с базовым или продвинутым опытом работы со SwiftUI.
Тем, кто хочет создавать нативные приложения с современными подходами.
Тем, кто работает с iOS 14+ и ищет универсальные решения для проектов.

⭐️ Спикер: Сергей Балалаев — опытный разработчик iOS-приложений и эксперт по SwiftUI.

Когда: 26 декабря в 20:00 (мск).

🎓 После вебинара вы сможете:
- Реализовывать навигацию на чистом SwiftUI.
- Интегрировать поддержку для iOS ниже 16 с помощью современных решений.
- Создавать профессиональные приложения с нативной навигацией, соответствующей современным стандартам.

👉 Участвуйте бесплатно, зарегистрируйтесь по ссылке: https://otus.pw/6nBn/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Mobile Development by AppTractor - iOS и Swift, Android и Kotlin, Flutter и Dart, инструменты, рынок и все остальное

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

Немного опосредованно ко вчерашнему посту о "въезжании в технологию". На Reddit обсуждение - стоит ли обучаться разработке просто создавая проекты:

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

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

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

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

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

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

Но большинство поддерживает идею того, что надо совмещать создание с обучением. А как вы изучаете новые технологии?

Читать полностью…
Subscribe to a channel