С мест докладывают:
В конце концов, технический долг — это такая же форма долга, как и любая другая: он управляем, а иногда даже необходим. Это часть естественного баланса в реальном развитии. И если кто-то утверждает, что достиг мифического состояния «нулевого технического долга», я бы сказал, что он либо не понимает сути, либо работает над чем-то настолько несущественным, что это не имеет значения. Так что давайте перестанем притворяться, что технический долг — это то, чего стоит бояться. Давайте примем его, будем управлять им и использовать его так, как он есть: как инструмент, позволяющий нам двигаться быстро, делать итерации и создавать вещи, которые имеют значение. Потому что, честно говоря, смотреть на кодовую базу без техдолга так же скучно, как на высыхание краски.Прочитайте и используйте по назначению.
У команды 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
📱 Открытый урок: Навигация на 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
Просто делать проекты, чтобы учиться, может быть плохим советом
Немного опосредованно ко вчерашнему посту о "въезжании в технологию". На Reddit обсуждение - стоит ли обучаться разработке просто создавая проекты:
Многие люди всегда повторяют совет «просто начни создавать что-то для решения небольшой проблемы, и ты научишься этому», когда новичок спрашивает, с чего начать. Я считаю это плохим советом. Потому что я делал это с одним из моих приложений для iOS, которое я создавал, и я реализовал многие вещи, просто погуглив мои задачи или то, что я хотел сделать. Однако причина, по которой я говорю, что это плохой совет, заключается в том, что многое из того, что вы можете найти, может сделать вещи более сложными, чем они должны быть, или устаревшими, или в этих советах могут не знать, что в SwiftUI уже существует новая функция для решения этой проблемы. В итоге вы создадите приложение, в котором будете много раз изобретать колесо или будете реализовывать фичи некачественно, потому что у вас не будет соответствующих знаний для создания приложений на SwiftUI.
Совет создать проект, чтобы учиться, не является плохим советом, если вы уже прошли какой-нибудь подходящий курс, потому что, по крайней мере, вы будете лучше подготовлены, чтобы создавать вещи с меньшими трудностями.
Я хочу сказать, что я настоятельно рекомендую сначала научиться на каком-нибудь курсе, прежде чем тратить время на создание проекта с нулевыми знаниями и тратить время на гугление 1000 различных вещей, которые создадут вам франкенштейновское приложение. Особенно потому, что плохие привычки могут стать вашими привычками по умолчанию, и могут заставить вас выглядеть плохо на собеседованиях
У людей есть сильная тенденция начинать с курсов и оставаться там, чувствуя себя продуктивными, но на самом деле не производя ничего. Это известно как tutorial hell.
Изобретать колесо - один из лучших способов обучения. Так вы учитесь справляться с более сложными задачами. Да, довольно часто есть встроенный подход, который прост и правилен, но почти так же часто Apple не предоставляет вам удобного API, и вам остаётся решать проблему самостоятельно.
Кроме того, количество информации, которую вы можете усвоить из курса/книги, резко возрастает, если вы ранее уже пытались решить какие-то изучаемые проблемы.
iOS
• Управление Xcode симулятором из симулятора
• Секретная акция, или Как выйти за пределы UICollectionView
• Ifrit — нечеткий поиск на Swift
• How we think about Threads’ iOS performance
• Introducing UIGestureRecognizerRepresentable protocol in SwiftUI
• Adjust the intensity of colors in SwiftUI views
• Enabling Genmoji in your app
#ios
В 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% доходов.
Пишите код быстрее и оставляйте больше времени на творчество вместе с AI-ассистентом разработчика
Устали от рутины? Отдайте ее AI!
Заходите на платформу GitVerse и пишите код вместе с AI-ассистентом GigaCode. Он поддерживает более 35 языков, умеет анализировать контекст, дописывать строки и функции в автоматическом и ручном режимах, а еще — писать код по комментариям и делать рефакторинг с помощью коротких команд. Всего за пару минут AI-помощник может оценить проект и трудозатраты на его создание.
Внутри AI есть функция CodeChat — с ней можно оптимизировать или отрефакторить имеющийся код, сгенерировать тесты и документацию, а также объяснить фрагмент кода. Задавать вопросы можно и по всему открытому файлу, и по конкретному фрагменту — просто выделите его в редакторе и сформулируйте запрос к CodeChat.
Хорошие новости — недавно GigaCode обновился и стал еще лучше справляться с задачами разработки: теперь наиболее вероятные продолжения кода будут генерироваться с учётом контекста всего проекта. Не забудьте обновить плагин GigaCode :)
Зарегистрироваться на GitVerse.
🧩 Первый пошел
Эмулятор 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
• maysam.shahsavari/a-generic-swiftui-animated-segment-control-f3b0b9d3ed08">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
🌐 Apple опубликовала топ американских приложений по загрузкам за 2024 год. Второй год подряд китайское приложение для шоппинга Temu занимает первое место. Учитывая, что до этого там был TikTok, озабоченность китайским нашествием очевидна. На втором месте Threads, сам TikTok на третьем. Четвертое место занял ChatGPT, пятое приложение Google. Telegram на 14 месте.
Разработка
• Как спроектировать мобильное приложение маркетплейса за 7 шагов
Маркетинг и монетизация
• Temu — самое скачиваемое приложение в американском App Store в 2024 году
• В MyTracker появился AI-ассистент для аналитики
• The best growth advice of 2024
Кроссплатформа
• Remind users to Rate your App - Compose Multiplatform
• How to develop an AI app with a local model in Kotlin Multiplatform
iOS
• Ищем неиспользуемый код с Periphery
• Exploring TabView Advancements in SwiftUI
• Integrating Extensions into Large-Scale iOS apps
• Enabling Tuist Cache: Enhancing the Developer Experience at Trendyol
• SwiftUI Button: Custom Styles, Variants, and Best Practices
Android
• Почему никогда не следует использовать !! в Kotlin
• ADBR-Server — Android Debug Bridge на Rust
• Всё, что нужно знать об Android 15: архивирование, защита данных и новые API
• LLM Based Android UI Testing – “Journeys with Gemini”
• Get your apps ready for 16 KB page size devices
• How to Enforce Type Constraints for Slot Parameters — Jetpack Compose
У Epic Games еще одна крупная победа. Объявлено, что Telefónica, один из крупнейших операторов связи в мире, начнет предустанавливать магазин Epic Games Store на каждый новый совместимый телефон на базе Android. Это будет первый случай предустановки Epic Games Store на потребительские телефоны, и это может стать следующим большим шагом в реализации мечты Epic о том, чтобы бросить вызов монополии Google на магазины приложений (и увеличить свои доходы).
Разработка
• Firebase Data Connect в открытом превью
• Карьера и лидерство в IT
• BA x Flutter: взаимодействие отделов, запуск кроссплатформы и почему хорошее ТЗ — бич креативности
• Искусство создания антихрупкого API
• Вся правда о грейдах, ревью и промоушенах
• Приземление дизайн-концепта на примере экрана платежей
Маркетинг и монетизация
• Самые скачиваемые и зарабатывающие приложения в мире в ноябре 2024
• Telefónica начнет предустановки Epic Games Store
• How Ladder onboards and keeps users engaged
Кроссплатформа
• Debugging Kotlin in Xcode with SPM Builds
• Adaptive Layouts in Compose Multiplatform
• Publish your Flutter app to App Store with Codemagic CI/CD
• Designing the Unexpected with CircularProgressIndicator
iOS
• Добавляем Image Playground в приложение
• Apple работает над складывающимся планшетом
• CoordinatorX — навигация для SwiftUI
• Noncopyable types in Swift
• alexandercohen/the-case-for-another-cache-116bf28c189e">The Case for Another Cache
• Translating an iOS/Mac app with AI and humans
• Finding unused code with Periphery
• diananareiko8/background-upload-in-ios-f885ed439bd3">Background upload in iOS
#ios
Как подружить суровые истины
Все статьи и новости за неделю - Swift и SwiftUI в iOS 18, собственная система мониторинга фильтра воды, очередные похороны Flutter и суровые истины о программировании с помощью ИИ, дейтинг в России 2024, открытые русскоязычные опенсорс-модели и многое другое. Подключайтесь!
🇸🇱 Android XR - новая ОС для гарнитур и умных очков
Google пытается создать гарнитуры уже более десяти лет - были и Glass, и Cardboard, и Daydream, и все они были хорошими идеями, но ни одна из них так и не добилась успеха. Вчера компания анонсировала Android XR - новую операционную систему, разработанную специально для устройств «расширенной реальности», таких как гарнитуры и очки. Компания сотрудничает с Samsung и многими другими производителями оборудования для создания устройств и делает новую версию Android доступной для разработчиков уже сейчас.
• Пока нет подробностей о том, как именно будет работать Android XR и чем он может отличаться от Android на телефоне. Google готовит иммерсивные версии для таких приложений, как «Карты», «Фото» и YouTube, а также говорит, что разрабатывает версию Chrome. Вероятно XR также будет поддерживать существующие приложения для телефонов и планшетов из Play Store, подобно тому, как Apple поддерживает приложения для iPad в Vision Pro.
• ИИ Gemini от Google, конечно же, находится в самом центре всего этого опыта. Google пытается создать гарнитуры уже более десяти лет - были и Glass, и Cardboard, и Daydream, и все они были хорошими идеями, но ни одна из них так и не воплотилась в жизнь - и компания считает, что ИИ - это ключ к тому, чтобы пользовательский опыт наконец заработал.
• Вчера так же был выпущена предварительная версия Android XR SDK для разработчиков - комплексный набор средств разработки для Android XR. У разработчиков появились безграничные возможности для создания и развития опыта, объединяющего цифровой и физический миры, используя знакомые API-интерфейсы Android, инструменты и открытые стандарты, созданные для XR. Все это означает, что если вы разрабатываете для Android, то вы уже разрабатываете для XR.
И что: Google пытается действовать быстро - устройство, которое компания создает совместно с Samsung, должно выйти на рынок уже в следующем году. Android XR - это, в некотором роде, кульминация ставок, которые Google cделал на ИИ, экосистему Android и носимые технологии будущего. Сыграют ли они в этот раз - узнаем в следующем году.
🤖 Google Play прекращает все отношения с российскими разработчиками
Аминь. С 26 декабря 2024 года Google Play прекратит делать платежи в адрес разработчиков, чьи банковские счета находятся в России. Доход от продаж по всему миру начисляться не будет. Так же станет невозможна монетизация - с указанной даты будут отклоняться все попытки пользователей приобрести платные приложения, сделать покупку или оформить подписку у тех разработчиков, банковский аккаунт которых находится в стране.
🤖 Очень смешно, но с мест докладывают, что Google Play вроде как обновил политику “20 тестеров на 14 дней” на “12 тестеров в течение 14 дней”. Хотя официального объявления не было, похоже, что требования все таки снизились. Вряд ли для разработчиков произойдут большие изменения. Да, вы сможете более просто набрать 12 тестеров, но были и приложения с более чем 80 тестерами, которые получали отказ в доступе к магазин. Так что будем дальше наблюдать, как Google стреляет себе в ногу.
Разработка
• Туториал «RAG с нуля»
• Building a User Signals Platform at Airbnb
• How we reduced our cloud spending by 20%
Маркетинг и монетизация
• Лучшие приложения и игры для iPhone, iPad и Mac — Победители App Store Awards 2024
• Маркетологи в мобайле: Татьяна Панюшева (Яндекс Карты)
• Duolingo помогает Netflix и помогает поклонникам «Игры в кальмара» выучить корейский язык
• В YouTube Playables появился мультиплеер
Кроссплатформа
• Why people say Flutter app do not feel native
• genovich/crossplatform-architecture-for-an-apps-core-simple-linear-scalable-3373106d2a1d">Crossplatform architecture for an app’s core. Simple. Linear. Scalable
iOS
• Улучшаем предварительные просмотры Xcode с помощью покрытия модульными тестами
• Новогоднее настроение на Metal
• shobhakartiwari/completion-handlers-vs-tasks-in-swift-471645f8234d">Completion Handlers vs. Tasks in Swift
• Mastering Forms in SwiftUI: Selecting Information
• rayleefx/ios-native-json-parser-7f054c3185f6">iOS: Native JSON Parser
• Blooming fireworks with Metal and SwiftUI
Android
• Shared Element Transition в Jetpack Compose
• Passage — аутентификация для Kotlin/Compose Multiplatform
• AndroidAPS в часах. Продолжение
• 5 steps to implement MVI architecture with Jetpack Compose
• Screenshot testing in Jetpack Compose
• How easy is drag-and-drop in Compose?
#ios #android #mobile #dev
Итоги года от 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
У 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
Разработка
• Как мы ускорили сборки для 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
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?
• ibrahimethemsen/using-android-presentation-api-with-jetpack-compose-998adeae1130">Using Android Presentation API with Jetpack Compose
#android
Видео и подкасты за неделю на @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
🧩 Бесплатный доступ к GitHub Copilot в VS Code
GitHub давно предлагает разработчикам бесплатные продукты и услуги. Сегодня частично и GitHub Copilot становится бесплатным.
• Все работающие в VS Code получат доступ к 2,000 завершениям кода и 50 сообщениям в чате в месяц, просто войдя в свой личный аккаунт GitHub.
• Copilot Free предоставляет вам выбор между моделью Claude 3.5 Sonnet от Anthropic и моделью GPT-4o от OpenAI.
Исход: куда едут разработчики из России
На прошлой неделе Google Play объявил о том, что прекращает отправку денег российским разработчикам. Учитывая, что биллинг прикрыли уже давно, а сложности с получением денег существуют уже несколько лет, шаг закономерный. Интересно посмотреть, упало ли за прошедшие 4 года количество разработчиков в стране и как изменилось их количество в ближайших странах.
Посмотрим отчет Apptica Top Publishers с издателями (что подразумевается под "издателем" не совсем понятно, но так как во всех странах одинаковое будем просто наблюдать за трендом) по платформе Android и отсортируем по годам.
• График логарифмический. Цифры доступны тут.
• В России количество разработчиков в 2022 резко выросло (+58%) и в 2024 потом пошло на спад - в этом году издателей стало меньше на 928 единиц (-15%).
• Грузия, Армения, Белоруссия и Казахстан за 2022 год выросли по количеству Android-разработчиков вдвое или даже больше (Казахстан сделал х3). Дальше еще подросли, а потом в 2024 пошли на спад.
• У всех стран в 2024 меньше разработчиков, чем было. Вероятно, это связано с политикой чистки Google Play и ужесточившимися правилами публикации.
• Количество iOS-издателей в России плавно снижается, без резких скачков.
• Для примера возьмем в Европе Испанию - в 2022 тоже случился рост (+77%) и дальше количество колебалось примерно в области погрешности вычислений. И США - в 2023 было 28,389 издателей, в 2024 году 26,409. На iOS — 14,041 и 13,633 соответственно.
• Количество iOS-издателей в России плавно снижается, без резких скачков.
И что: Грузия, Армения, Белоруссия и Казахстан обогнали по росту и Испанию, и Россию. Вероятно туда и ушли многие издатели. Впрочем, политики самого Google не дают понять картинку более ясно - в 2024 году снижение обусловлено то ли чисткой, то ли продолжающейся миграцией.
Деревья поведения, роботы и карта Марса: как построить облако с нуля
В новом подкасте от МТС Web Services разбираем, как опыт из GameDev и робототехники помогает создавать облачную инфраструктуру. Александр Стерлигов — руководитель направления Compute MWS рассказывает:
• Почему поведенческие паттерны из игр работают в облаке
• Как сократить онбординг с 6 месяцев до 2 недель
• Как стартапу в энтерпрайзе взять лучшее от двух систем
Подкаст можно смотреть и слушать на всех популярных площадках:
🎬 YouTube
🎬 VK Видео
🎧 Яндекс Музыка
🎧 Apple Podcasts
🎧 Mave Digital
Android
• Полный разбор Kotlin Delegated Property
• Google анонсировал Android XR, новую ОС для гарнитур и умных очков
• Visual Code Space — редактор кода для Android=
• SDK Development; The Good, The Bad, The Ugly+
• Understanding ViewModel Persistence Across Configuration Changes in Android
• Automate Android Feature Creation with Gradle
• Koin’s Isolated Context
• Why you should never use !! in Kotlin
#android
🦾 Вы - Android-разработчик? Повысьте свой уровень на продвинутом онлайн-курсе «Android Developer. Professional» в Отус!
Но сначала пройдите небольшой тест и проверьте, дотягиваете ли вы до уровня группы.
👉 Пройти тест
➡️ Что ждёт вас в рамках курса 👩💻:
• Глубокое погружение в промышленную Android-разработку
• Весь курс построен на языке Kotlin
• Много практики и живого общения с преподавателями
• Глубокое изучение Gradle, Dagger 2, Kotlin coroutines, а также процесса тестирования Android-приложений
• Выстраивание инфраструктуры «с нуля»
• Проектирование архитектуры приложений
• Тестирование приложений
• Глубокий разбор Android SDK
• Использование современных библиотек и фреймворков
🚀 Присоединяйтесь - стартуем уже 27 декабря. Сейчас действует скидка 15% и рассрочка!Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Видео и подкасты за неделю на @AppFiles
• (iOS En)
Все видео Swift Connection 2024
• (iOS En)
Самые популярные видео WWDC24
• (iOS En)
Predictive code completion on Xcode 16.1: Does it live up to the hype?
• (iOS En)
Credit Card Input Form - SwiftUI
• (iOS En)
Teach App Interactions to Users - SwiftUI
• (And Ru)
Полный разбор Kotlin Delegated Property
• (And En)
A vision for Android XR
• (And En)
Full Blueprint For Compose State Management - Free Live Workshop
• (And En)
Top 3 Custom Loading Animations In Jetpack Compose
• (And En)
Expanding Jewel: Markdown-to-Compose Magic
• (Crs Ru)
BA x Flutter: взаимодействие отделов, запуск кроссплатформы и почему хорошее ТЗ — бич креативности
• (Crs En)
Going from Swift to Kotlin with Skip
• (Dev Ru)
Карьера и лидерство в IT
• (Dev Ru)
Вся правда о грейдах, ревью и промоушенах
• (Dev Ru)
Искусство создания антихрупкого API
• (Dev Ru)
Путь к профессии BА: для кого подходит и как на него выйти
• (Dev En)
Gemini 2.0 for developers
#ios #android #mobile #video
💽 У Setapp вышли результаты опроса Mac-разработчиков. Из интересного - на Mac почти половина (49%) делает инструменты для улучшения продуктивности. Еще 33% делает инструменты для разработчиков. На третьем месте креативные инструменты с 19%. Более 75% Mac разработчиков в возрасте от 30 до 59 лет. У большей части (43%) нет команды, то есть они работают одни. Только 20% распространяет приложения эксклюзивно в Mac App Store. 37% распространяет продукты за пределами официального магазина. А большая часть (44%) использует оба канала. За пределами Mac App Store 74% использует в качестве площадки распространения свой сайт. 17% Steam, а 16% другие площадки.
Разработка
• Отчет Mac Developer Survey 2024
• Code Quality in the Age of AI
Маркетинг и монетизация
• Дейтинг в России 2024
• EzDubs стремится стать центром переводом для пользователей
Кроссплатформа
• Отбираем хлеб у нативных разработчиков: миграция с Kotlin/Swift на RN
• Flutter форкнули и похоронили. Эксперты о Flock, поводах для беспокойства и будущем фреймворка
• erolkuluslusoftware/the-best-flutter-app-architecture-exists-does-it-0ea8625f9848">The Best Flutter App Architecture Exists
• Far From Random: Three Mistakes From Dart/Flutter's Weak PRNG
• What’s new in Flutter 3.27
iOS
• Вышла iOS 18.2 со всеми функциями Apple Intelligence
• FlipNumberView — перекидной дисплей или представление
• Bringing Image Playground to your app
• Mocking a network connection in your Swift Tests
• Is it me or is there a hiring freeze?
Android
• Распознавание текста в реальном времени с Jetpack Compose
• Google Play прекращает все отношения с российскими разработчиками
• How we enhanced our Android App’s startup time by over 50%
• prabhat.rai1707/android-system-design-interview-google-uber-29dedbbe9fda">Android System Design Interview- Google/Uber
• Let’s build an Android camera app! CameraX + Compose
#ios #android #dev #mobile
⛑ Дейтинг в России 2024
По данным Sensor Tower, в мире мобильные приложения для онлайн-знакомств снижают свои показатели использования и вовлеченности, что вызвано множеством факторов, от экономики до растущей конкуренции. А как дела с дейтингом обстоят в России?
• По данным AppMagic, в ноябре 2024 года Топ-20 приложений в категории заработали $1.12 млн и получили 1.19 млн новых установок.
• Много это или мало? Если посмотреть в ретроспективе, то в ноябре 2021 года категория получила $1.8 млн, в 2022 $1.7 млн, в 2023 доход упал почти втрое — до $674 тысячи, в 2024 началось восстановление и доход в этом году превысил $1.1 млн. Это все еще почти в два раза меньше, чем три года назад.
• Лучшие приложения по заработку это PURE, Twinby, Mamba, VK Знакомства и Hornet.
• Интересно, что PURE получает около 40% всех доходов категории. Топ-5 приложений по доходам получает уже 91% всех денег.
• С установками по очевидным причинам такого падения не случилось, но все же они плавно снижаются. Для Топ-20 приложений в ноябре 2021 было 1.7 млн установок, в 2022 1.53 млн, в 2023 1.63 и в этом году 1.37 млн новых инсталов. Интересно, что PURE, лидер по доходам, по установкам только замыкает первую десятку.
• Недавно я делал исследование - вероятность добиться успеха новому приложению составляет около 0.33%. Как с этим дела в дейтинге? Можно ли выйти на рынок с новым продуктом и потеснить уже работающих? Нет, нельзя. Ни одно из выпущенных в 2024 году приложений не достигло в России никаких значимых успехов.
И что: доходы категории в России значительно упали и они явно концентрируются у нескольких ведущих приложений. Лидер получает практически половину всех денег. Места для новых продуктов нет. Да, есть некоторое восстановление, но до прежних показателей категории расти еще много лет - категория только в России не жизнеспособна. Что касается установок, то и они, в соответствии с мировыми тенденциями, снижаются.
Обязательно поставьте лайк, если хотите продолжения по другим категориям.
Победители App Store Awards 2024
Apple объявила лучшие приложения App Store 2024 года:
• Приложение года для iPhone - Kino
• Приложение года для iPad - Moises
• Приложение года для Mac - Adobe Lightroom
• Приложение года для Watch - Lumy
• Приложение года для Vision Pro - What If…? An Immersive Story
• Приложение года для Apple TV - F1 TV
Все финалисты тут.