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

• Аудитория https://t.me/apptractor/1066
• Сайт https://apptractor.ru/
Download Telegram
iOS

Apple выпустила новые дизайн-киты для Figma и Sketch — с поддержкой Liquid Glass для iOS 26 и iPadOS 26. Они помогут вам быстро и легко создавать высокоточные макеты дизайнов для iPhone и iPad, а также пользовательские потоки. Наборы содержат компоненты для всех распространенных элементов управления и представлений, шаблоны дизайна, стили текста, стили цветов и материалов.

Дизайн киты iOS и iPadOS 26
MobileFeedback iOS SDK — отзывы пользователей в виде чата
Sideloading и узник Apple
Handling WebView navigation in SwiftUI
The Last UIKit Developer
How to Create and Combine SwiftUI Views Without Getting Lost in Deep Nesting and Complex Layouts
Identifying Text in an Image Using the Vision framework
Using defer in Swift to manage state cleanup
Memory Efficiency in iOS: Reducing footprint and beyond
💅3👍2
Android

JetBrains совместно с TU Delft протестировали компилятор Kotlin с помощью fuzzing-подхода — генерации и мутации случайных входов, чтобы выявить нестандартные ошибки. Такой метод позволил обнаружить баги, которые не ловятся обычными тестами: краши на коротком коде, мискомпиляции, некорректные перегрузки. Для более точных результатов применялась эволюционная генерация: генетический алгоритм создавал валидный код и отбирал те фрагменты, которые сильнее нагружали компилятор. Результаты впечатляют — некоторые ошибки уже исправлены в Kotlin 2.0. Исследование показывает, насколько полезен fuzzing для повышения надёжности компиляторов, особенно при переходе на новые архитектуры вроде K2.

Torrent Search — поиск торрентов в Material 3
Open Tracker: как разработать Android-приложение для автоматического трекинга коммерческих представителей. Часть 2 + Часть 1
Exploring PausableComposition internals in Jetpack Compose
Compose stability tips and tricks
​​Add Speed Effects to Your Android Videos Using Media3
Understanding derivedStateOf in Jetpack Compose : Optimize your recompositions
A Journey with KSP and KotlinPoet
Breaking to Build: Fuzzing the Kotlin Compiler
👍52
В AppFigures проанализировали 100 самых прибыльных приложений и игр в американском App Store и выяснили, что 83 из 100 самых прибыльных приложений и игр используют Custom Product Pages, причем 30 из этих приложений и игр используют 30 или более CPP. Не используют самые большие и известные - YouTube, Netflix, Duolingo, Gmail и ChatGPT, им вроде как и не надо. Пишут, что начиная с iOS 26, CPP будут отображаться и в органических результатах поиска, так что их можно будет использовать и всем остальным, кто не "подключён" к Apple Ads.

Разработка

Сервис вайб кодинга Replit удалил производственную базу данных пользователя,
Cтартапы, работа в США, путь в IT
Привет, я ваш новый тимлид
Батарейки заряжены! Как отдыхать и восстанавливаться, не уходя в отпуск
Как измерить AI — Бенчмарки, тестирование и обучение LLM
Быстрые гипотезы, AI инструменты в мобильной разработке и зачем CTO самому писать код

Маркетинг

Маркетологи в мобайле: Степан Бадышев (Performance Marketing Lead, Яндекс Лавка)
Кастомные продуктовые страницы — секретное оружие App Store
Заработок на Budget Tracker. iOS. Подписки. Разбор ниши

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

Building Your First Kotlin Multiplatform App: From Setup to iOS App Store with Compose Multiplatform
👍5👌4
iOS

Apple запустила Retention Messaging API - тексты, предложения и баннеры будут показываться на экране отписки. Ваши сообщения могут напоминать клиентам о функциях или контенте, к которым они получают доступ по подписке, или показывают им альтернативные предложения. Предполагается четыре типа сообщений для удержания: текстовое сообщение, текстовое сообщение с изображением, сообщение о смене тарифного плана, содержащее текст и предлагаемую подписку, на которую клиент может перейти, сообщение о рекламном предложении, содержащее текст и предложение продолжить работу по сниженной цене. Предполагают запустить в 2026.

Apple представила Retention Messaging API
Последний UIKit-разработчик
Meet the Inspector view in SwiftUI
Swift 6.2 Just Changed NotificationCenter Forever — Here’s How to Use It Safely with Type-Safe Messages
Enable horizontal and vertical scrolling with ScrollView
Exploring the Secrets of layoutPriority in ZStack
👍52
Android

Понимание хеширования и взаимосвязи между equals() и hashCode() необходимо не только для собеседований, но и для написания высокопроизводительных приложений на Java и Kotlin. С помощью этого руководства вы научитесь уверенно объяснять хеширование и его применение.

Mousedroid — Android как устройство ввода для компьютера
How to Answer Hashing Like a Java/Kotlin Expert
Start making your Android app more secure today
Top 10 Jetpack Compose Patterns Every Android Dev Should Know
Android Studio Narwhal Feature Drop
👍8
Новое обсуждение на Reddit: Мобильные приложения — это дропшиппинг 2025 года (Дропшиппинг — это модель, при которой продавец не хранит товары на складе, а передаёт заказы и данные о покупателях поставщику, который напрямую отправляет товар покупателю. Не очень понял при чем тут это, но коннотации явно негативные ☺️). Автор пишет, что развелось всяких вабй-кодеров и нормальному разработчику сложно выделиться. Самый смешной ответ: Мобильные приложения стали дропшиппингом еще в 2012 году. Вы опоздали на 13 лет. Самый правильный, пожалуй: Если спросить успешного разработчика, что обеспечивает успех его бизнеса, то он, по большей части, не будет говорить о создании приложения. Будет говорить о привлечении и удержании пользователей, мотивации к подпискам и покупкам и т.п. Большинство этих вещей взаимосвязаны: чем больше у вас доход с пользователя, тем больше вы можете потратить на маркетинг; чем больше вы тратите на маркетинг, тем больше новых пользователей вы приобретаете. И лишь немногие из этих задач можно закодировать с помощью ИИ, хотя, очевидно, вы можете использовать ИИ-инструменты для программирования, чтобы реализовать многие из этих задач, если знаете, что пытаетесь сделать.

Разработка

Мобильные приложения — это дропшиппинг 2025 года
Asynchrony is not Concurrency
I Built the Same Backend in Rust, Go, Zig, and Kotlin. The Results Were Humiliating
$0 to $200/month in 7 days using Claude Code (I was completely wrong about this tool)

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

Flutter, Flame и RPG. Лучшие практики после двух с половиной лет gamedev'а
Why Instagram* Switched to React Native (Again) — And How It Finally Worked This Time
Level Up Your Flutter Code with Flutter Lints: Cleaner, Safer, Faster Apps
👍8
Android

Google запустил глобальную систему раннего оповещения о землетрясениях на базе Android — теперь миллионы смартфонов по всему миру работают как мини-сейсмометры. Устройства улавливают начальные подземные толчки (P-волны) и мгновенно передают данные на серверы, где алгоритмы подтверждают землетрясение и рассылают предупреждения до того, как начнутся разрушительные S-волны. Пользователи получают два типа уведомлений: «Be Aware» — для слабых толчков, и «Take Action» — с громким сигналом и блокировкой экрана, чтобы успеть укрыться. Система уже внедрена в 98 странах и помогла предупредить о 2 000 землетрясений, отправив почти 800 миллионов уведомлений. Опрос показал, что 79% пользователей сочли такие предупреждения полезными, даже если сами не ощутили толчков. Android превратился в крупнейшую в мире платформу для раннего оповещения — и это пример того, как технологии (b приложения) могут реально спасать жизни.

Начните повышать безопасность своего Android-приложения уже сегодня
The Kotlin Coroutine Pattern That Makes Android Apps 5x More Responsive
Avoiding common mistakes in Gradle plugin development
This One Habit Made My Kotlin Code 3× Faster
Android Earthquake Alerts: A global system for early warning
Building Responsive Android Apps: A Complete Guide to Screen Size Support in Jetpack Compose
👍7🔥4
Приложение для редактирования и обмена фотографиями VSCO делает своё приложение для камеры Capture для iOS доступным по всему миру после ограниченного запуска в июне, когда приложение можно было скачать только в Ирландии, Австралии и Новой Зеландии. VSCO также сообщила о приобретении The Freelance Photographer, предлагающего сочетание онлайн- и офлайн-семинаров по изучению фотографии и видеосъемки. The Freelance Photographer предлагает различные курсы, начиная с базового плана обучения за 208 долларов в месяц и заканчивая планом за 625 долларов в месяц, который предоставляет подписчикам доступ к более чем 50 инструментам, нескольким курсам и личному наставничеству от основателя компании Пола Уивера. Это приобретение идеально вписывается в цель VSCO — больше ориентироваться на профессиональных фотографов. В прошлом году компания запустила VSCO Hub, чтобы бренды могли находить фотографов для различных проектов, и VSCO Sites, позволяющий фотографам создавать веб-страницы для демонстрации своих работ. В мае компания запустила VSCO Canvas — инструмент для совместной работы с доской, позволяющий пользователям создавать мудборды для различных проектов. А вы бы какие курсы могли/хотели подключить к своему проекту?

Разработка

Разбор задачи из реального собеседования по мобильной разработке. Исправляем Race Condition
How I Took Over a Failing Team of Developers and Made It Great

Маркетинг

Приложение Capture от VSCO стало доступно для всех

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


Darttern Matching: When if-else Got a Glow-Up
👍2
iOS

Безвестный разработчик выпустил бесплатный курс «Шейдеры Metal для SwiftUI». Курс рассчитан на разработчиков без опыта в графике: объясняет с нуля, начиная с GPU‑основ и математических концепций, заканчивая готовыми эффектами. В курсе используется принцип «от простого к сложному»: сначала фундаментальные темы, затем процедурные узоры, шум, плавные переходы, текстуры, и с временными GLS‑эффектами. Особое внимание — на интеграцию шейдера в SwiftUI, реальную обратную связь и создание рабочего примера.

Курс «Шейдеры Metal для SwiftUI»
Анализ инцидента при миграции Core Data: скрытые ловушки, которые мы упускаем из виду
Swift Macros in the Wild: Building Reusable SwiftUI Views with @expression
How I Cracked the Walmart iOS Interview in 2025 as a Senior Developer
Creating amazing loading animations with SF Symbols
AdaptivePaddingScrollView in SwiftUI
🔥3🍾3
Android

Если вы всегда хотели написать плагин для Android Studio, но боялись спросить, то вот начальная статья о том, как это можно сделать. В ней рассматриваются важные шаги подготовки, включая настройку Gradle и управление версиями, а также подключение встроенных плагинов IntelliJ Idea и добавление поддержки K2 для плагинов Kotlin. Автор демонстрирует процесс разработки на двух практических примерах: создание настраиваемого диалога для запуска UI-тестов с выбором параметров через терминал Studio и добавление возможности запуска UI-тестов прямо из Gutter редактора, что значительно упрощает рутинные задачи для разработчиков больших Android-проектов.

FloatingTabBar — таббар на Jetpack Compose в стиле Liquid Glass
Погружение в разработку плагинов для Android Studio
13 Years with Android: What I’d Do Differently If I Were Starting Today
From Biology to Code: How Android’s Zygote Enables Fast and Efficient App Launching
The Android Plugin I Couldn’t Live Without — So I Rebuilt It from Scratch
👍5
В разработке мобильных приложений есть много терминов, связанных с пользовательским опытом: retention, onboarding, activation, churn, и один из самых загадочных и в то же время важных — AHA-момент. Это не просто красивое словосочетание — это момент истины. Это момент внезапного озарения, когда пользователь впервые осознаёт истинную ценность продукта. Он не просто знакомится с функциями — он понимает, зачем это приложение, как оно решает его проблему или делает жизнь проще, лучше, интереснее. Например, у Spotify AHA-момент наступает, когда пользователь впервые включает персональный плейлист вроде Discover Weekly или Daily Mix и осознаёт, насколько точно система подбирает музыку. Это вызывает удивление и чувство: «Это приложение понимает меня лучше, чем я сам». Поняв, что такое AHA-момент и как с ним работать, разработчики и продакт-менеджеры могут сделать приложение, которое действительно «цепляет» пользователя и удерживает его надолго.

Если вам интересно разбираться в такого рода инди и маркетинговых штуках - поставьте 👍

Разработка

Харды против софтов: как я попала в IT, не зная всего на свете
Become an Engineering Leader Everyone Wants to Work With

Маркетинг

AHA-момент в мобильных приложениях: как создать продукт, в который хочется вернуться
Геймификация в e-commerce: как превратить игры в прибыль

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

Dart Code Habits Every Flutter Developer Should Follow
Optimizing Performance in Flutter: Techniques for 2025
👍223🔥2
📺 Видео и подкасты за неделю на @AppFiles

(iOS Ru) Инструменты для мониторинга производительности iOS-приложений
(iOS En) Resizable Header Scroll View Using SwiftUI
(iOS En) Custom Chat Bubbles with SwiftUI
(iOS En) Foundation Models Framework PART 2 - Tool Calling
(iOS En) Permissions OnBoarding using SwiftUI
(iOS En) How to Obfuscate API Keys in Your Swift Apps Step by Step with ConfidentialKit
(iOS En) Google Chrome's Pull & Swipe Gesture in SwiftUI
(And Ru) Navigation 3 для Compose: что нового и зачем это нужно?
(And En) Enrich your app with live updates and widgets
(And En) Prepare your Play app for devices with 16 KB page sizes
(And En) Google I/O Special with Mat Velloso and Logan Kilpatrick
(And En) The wonders of smart casting
(And En) Coroutine Debugging in IntelliJ IDEA
(And En) Don't forget your values!
(And En) Building Inclusive Jetpack Compose Apps: Leveraging Kotlin and the Accessibility Scanner
(Crs En) How to Implement Pagination In Compose Multiplatform (KMP)
(Crs En) Leveraging KMP for navigation in the McDonalds App
(Crs En) State of Kotlin Wasm and Compose Multiplatform for Web on Modern Browsers
(Crs En) Kobweb, Kotlin & Cross-Platform chat with David Herman
(Dev Ru) Как жить с легаси?
(Dev Ru) IT в космосе — Почему космосу не нужны обычные программисты
(Dev En) Creating, building, and releasing Gemma, Google's open model family
(Dev En) Learn TypeScript – Crash Course for Beginners
(Dev En) Data Structure and Algorithm Patterns for LeetCode Interviews – Tutorial
(Mrk Ru) Заработок на Habit Tracker. iOS. Подписки. Разбор ниши

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

(iOS Ru) Разбор SwiftUI проекта стартапа с AI на борту
(iOS Ru) Вам не нужно хранилище в приложении
(And Ru) Роман Елизаров про Kotlin, корутины и работу в Jetbrains
(Crs Ru) Особенности сервиса Яндекс Про и будущее Flutter
(Dev Ru) Личный бренд разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52
Последний вайб

Все материалы за предыдущую неделю - рассказ последнего UIKit-разработчика и погружение в разработку плагинов для Android Studio, дизайн киты iOS и iPadOS 26 и зачем нужен Navigation 3, автоматизация тестирования, TikTok для роста, ИИ, который удалил производственную базу данных пользователя, и многое другое. Заходите!
👍4
«Ради любви к коду» — летний хакатон GitHub

GitHub анонсировал летний хакатон «Ради любви к коду» (For the Love of Code) для весёлых, нелепых и безумно креативных проектов. Идея заключается в том, чтобы взять безумные идеи, которые вы отложили в долгий ящик, и воплотить их в жизнь.

«Ради любви к коду» — это всемирный летний хакатон для разработчиков любого уровня опыта. Хакатон проходит с 16 июля по 22 сентября 2025 года. Помимо возможности получить интернет-вспоминание за лучшую работу, опубликованную в блоге GitHub, победители в каждой категории получат и более полезные призы — 12 месяцев подписки GitHub Copilot Pro+.
Смысл в том, что код должен быть не только средством решения задач. Он также служит для исследования идей, проявления креативности и создания чего-то просто потому, что это приносит радость.

Конкурс разделен на шесть категорий, которые GitHub иронично описывает как высоконаучные:

1. Кнопки, звуковые сигналы и мигающие лампочки
2. Агенты изменений
3. Терминалmyst таланты
4. В игре
5. Чудеса света
6. Все остальное

Какую бы категорию вы ни выбрали, команда советует сделать проект невероятно полезным или просто необычным. Главное, чтобы это приносило вам радость, беритесь за дело и пишите код.
5👍5
iOS

В статье описан простой и эффективный способ добавить в SwiftUI-приложение выбор кастомного акцентного цвета. Автор делится решением, построенным на трех основных принципах: коллекция доступных цветов, использование среды SwiftUI для хранения выбранного акцента и сохранение выбора через индекс в UserDefaults при помощи @AppStorage. Такой подход оказывается практичным, позволяя легко масштабировать набор опций и обеспечивать мгновенную смену акцента по всему интерфейсу. Особый акцент делается на интеграцию пользовательского цвета через EnvironmentValue, что дает возможность использовать его в любом вью SwiftUI без дополнительного кода. Для пользователя реализуется простое меню выбора цвета: при смене цвета достаточно обновить индекс выбранного цвета, а SwiftUI сам заботится о реактивном обновлении интерфейса. Такой метод удобен как для разработчика, так и для пользователя приложения, обеспечивая современный уровень персонализации.

Преобразуйте свой iOS-код с помощью принципов SOLID: практическое руководство
Инструменты для мониторинга производительности iOS-приложений
SwiftUI Backports — поддержка старых версий iOS для новых модификаторов SwiftUI
Рисуем чайник в Metal
Providing Multiple Accent Colors in SwiftUI Apps
SwiftUI Search Enhancements in iOS and iPadOS 26
SwiftUI: Scrollview tracking offset/items
A Peek into My Debugging Process (With Real Examples)
NotificationCenter.Message: A New Concurrency-Safe Notification Experience in Swift 6.2
Let's build the Apple Music iOS 26 Tab Bar in Liquid Glass
Implementing a Refractive Glass Shader in Metal
3
Android

Рамках последних утечек вот интересная статья, в которой рассказывается о том, как защитить локальную базу данных Room в Android при помощи библиотеки SQLCipher. Автор подробно объясняет, что Room по умолчанию не поддерживает шифрование, но благодаря SQLCipher можно реализовать прозрачную и сильную защиту пользовательских данных. Главная идея — генерировать случайный 256-битный ключ при первом запуске приложения, хранить его в зашифрованном виде через Android Keystore и применять для полного шифрования всей базы данных. Особое внимание уделено безопасности хранения ключа: главным антипаттерном выступает статичное хранение пароля в коде или в SharedPreferences. Вместо этого используется связка Keystore и механизм шифрования, чтобы нельзя было легко извлечь ключ при реверс-инжиниринге APK. Большой плюс решения — автоматическая очистка секретных данных из памяти после использования и интеграция со стандартной инициализацией Room через кастомную OpenHelperFactory. Такой подход считается production-ready, так как использует лучшие криптографические практики и минимизирует риск компрометации пользовательских данных.

10 лучших шаблонов Jetpack Compose, которые должен знать каждый Android-разработчик
TimelineView — прокручиваемая временная шкала на Jetpack Compose для Android
Navigation 3 для Compose: что нового и зачем это нужно?
Работа с телевизионными каналами на Android TV: учимся использовать TIF в 2025. Стартовый гайд для разработчиков
How to Encrypt Your Room Database in Android Using SQLCipher
StyledString: A Better Pattern for Rich Text in Jetpack Compose
Dotify | Rendering Retro Style Text in Compose with Bitmaps
Smooth Animated Bottom Sheet Header with Jetpack Compose
Understanding SideEffects in Jetpack Compose : Logging and Beyond in Compose
Mastering Kotlin’s lateinit Keyword: A Complete Guide for Android Developers
👍5
BiteSight — приложение для доставки еды, которое позволяет пользователям смотреть видеоролики с едой перед заказом. Оно также позволяет клиентам видеть, что заказали их друзья, и добавлять места в закладки, чтобы попробовать. Приложение основано на том, как молодёжь взаимодействует с контентом — через короткие видеоролики и рекомендации друзей. Его маркетинг тоже основан на коротких роликах - сначала основатель рассказал в TikTok о своем приложении (после выхода видео BiteSight ненадолго занял второе место в США в категории «Еда и напитки» в App Store, обойдя Uber Eats, Starbucks и даже McDonald’s), а потом там же делился тем, как оно падает от наплыва посетителей. «Мы стремимся стать приложением, которое всегда на связи для поколения, которое узнаёт всё через социальные рекомендации и короткие видеоролики».

Разработка

«Ради любви к коду» — летний хакатон GitHub
Как жить с легаси?
IT в космосе — Почему космосу не нужны обычные программисты
Stop Coding Like You Work at Google
Making Postgres 42,000x slower because I am unemployed

Маркетинг

Заработок на Habit Tracker. iOS. Подписки. Разбор ниши
Как приложение по доставке еды BiteSight использовало TikTok для роста

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

The Untold Revolution Beneath iOS 26. WebGPU Is Coming Everywhere — And It Changes Everything
State, Speed, Performance: Flutter Keys as Your Optimization Tool
6👍1
iOS

Отладка — это навык, которому разработчики часто уделяют мало внимания. Он полезен не только для исправления ошибок, но и для лучшего понимания кодовой базы и языка, на котором вы пишете программное обеспечение. Особенно сейчас, когда мы вступаем в эпоху отладки с помощью искусственного интеллекта, когда чаще всего нам приходится разбираться в коде, который нам выдал LLM, или, что ещё хуже, в ошибках, которые он внёс. Знание того, как отлаживать приложение, и знание или хотя бы знакомство с имеющимися в вашем распоряжении инструментами — это навык, который сэкономит вам много времени и позволит быстрее перейти к следующей задаче. В этой статье - несколько примеров реальных ошибок, которые автор недавно исправил в своих приложениях, и он покажет вам весь процесс отладки в каждом случае.

Взгляд на мой процесс отладки (с реальными примерами)
Position — легковесное геопозиционирование для Swift 6
SwiftUI @Environment Complete Guide: System Values, Custom Keys & Best Practices
17 Xcode Hacks Every iOS Developer Should Know in 2025
Combine and Swift Concurrency: A threading risk
Logging Privacy Shenanigans
👍32
Android

Понимание работы Zygote, SystemServer, AMS и Binder IPC — ключ к глубокому владению платформой Android. Механизм сохранения состояния через Bundle, координируемый AMS и реализуемый через Binder и Parcel, является фундаментальным для обеспечения устойчивости приложений к пересозданию процессов. Используйте ViewModel с SavedStateHandle для простых UI‑данных, Parcelable для эффективной сериализации и постоянные хранилища для критически важной информации, соблюдая ограничения Bundle. Это гарантирует плавную работу приложения в любых условиях.

Шифруем базу данных Room в Android с помощью SQLCipher
Под капотом Android: как создаются, управляются и восстанавливаются процессы приложений в системе
From Fastlane to Jules: Modern CI/CD for Android That Doesn’t Feel Like a DevOps Degree
One Repo to Rule Them All: Android Modules with Git Submodules
Top 10 Compose Mistakes in Large-Scale Apps
👍21
Figma Make, prompt-to-app инструмент для создания приложений, представленный Figma ранее в этом году, теперь доступен всем пользователям. Подобно инструментам ИИ, таким как Gemini Code Assist от Google и GitHub Copilot от Microsoft, Figma Make позволяет пользователям создавать рабочие прототипы и приложения, используя описания на естественном языке, без необходимости обладать навыками программирования. Пользователи тарифных планов View, Collab, Dev и Starter Seat смогут экспериментировать с Figma Make в своих личных черновиках. Это означает, что все пользователи могут как минимум попробовать демоверсию Figma Make, но для того, чтобы что-то сделать с этими творениями, потребуется подписка с полным доступом.

Разработка

ИИ-инструмент для создания приложений Figma Make теперь доступен всем
Бизнес требует стабильной работы мобильного приложения у всех пользователей. Что делать?
Learning Basic Electronics By Building FireFlies

Маркетинг


Роль онбординга: как построить первые шаги пользователя так, чтобы инсайт случился мгновенно
What marketing channels actually work for your apps?

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

Building a Cross-Platform Mobile Rendering Engine with KMM
Supercharge Your Dart & Flutter Development Experience with the Dart MCP Server
👍32