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

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

YMReferral
Download Telegram
Android

В одном из прошлых обновлений Airbnb добавил в приложение циферблат выбора месяца, позволяющий пользователям самым удобным способом выбирать время. В этой статье учимся воссоздавать это с помощью библиотеки ChromaDial.

Создано в Compose: диск выбора месяца в Airbnb
Is Remote Compose Safe? The Developer’s Honest Guide to Dynamic UI Security
8 Kotlin DSL Patterns for Expressive APIs
End-to-End Security for Android APIs: Best Practices & Architecture
Android Studio Panda 4 now available
1
Отец знакомого работает в Anthropic. Сегодня срочно вызвали на совещание. Вернулся поздно и ничего не объяснил. Сказал лишь собирать вещи и бежать к Claude за инференсами на две недели. Сейчас едем куда-то далеко за город. Не знаю что происходит, но мне кажется началось... GitHub объявил о «радикальных» изменениях в тарифных планах Copilot Individual, которые включают приостановку всех новых регистраций и ограничение доступа к самым мощным моделям ИИ для некоторых пользователей. Компания заявила, что делает это из-за «усиления использования сервиса всеми пользователями», поскольку разработчики переходят к сложным агентным рабочим процессам. Вместо простого автозавершения кода пользователи теперь развертывают автономных агентов и субагентов для решения масштабных, длительных задач кодирования. Эти новые рабочие процессы создают непосильную нагрузку на инфраструктуру, и GitHub признает, что даже небольшое количество запросов пользователей приводит к расходам, превышающим ежемесячную стоимость плана. Приостановка регистрации на тарифные планы GitHub Copilot Pro, Pro+ и Student позволит «более эффективно обслуживать существующих клиентов», добавила компания. Что касается моделей, к которым сервис предоставляет доступ, модели Opus больше не доступны в стандартном плане Pro. Разработчикам, желающим получить доступ к мощной модели Claude Opus 4.7 от Anthropic, теперь придётся платить за более дорогой тарифный план Pro+. Opus 4.5 и Opus 4.6 также будут удалены из Pro+. Лимиты использования также значительно ужесточаются, чтобы предотвратить ситуацию, когда несколько опытных пользователей ухудшают качество сервиса для всех.

Разработка

GitHub приостанавливает регистрацию новых пользователей Copilot на фоне резкого роста использования и повышения стоимости
How to Crack Remote Developer Jobs That Pay in Dollars in 2026
I Failed a Mobile System Design Interview. Here’s the Framework I Built From It.

Маркетинг

Deezer: треки, созданные с помощью ИИ, теперь составляют 44% всей новой музыки

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

Flutter. The GetX package was deleted from GitHub
A Practical Guide to Modern React Native Development
😁203
В inDrive  написали новую статью про архитектуру в iOS. В ней подробно разобрали реальный кейс: как в компании перевели большой проект с UDF-архитектуры на Clean Architecture. Со всеми практическими нюансами, компромиссами и проблемами, с которыми столкнулись по пути. Статья показывает, как принимать архитектурные решения в уже большом проекте, когда UDF перестает масштабироваться. Особо задорно то, что раньше у inDrive  было много материалов о том, как у них хорошо работает UDF, а здесь уже честный разбор следующего этапа, так сказать.

Разработка

Почему я так придираюсь к вёрстке (и вам советую)
I Reviewed 300 Rejected Developer Applications — Here’s the Pattern

Маркетинг

Анатомия сетевых эффектов

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

Apple объяснила удаление Cal AI из App Store
I Migrated a Production Flutter App From BLoC to Riverpod 3.0

iOS

Unidirectional Data Flow Architecture
Time Profiler в Xcode Instruments: повышение производительности с помощью ИИ
Исследователи нашли способ обойти защиту Apple Intelligence
Apple вводит более строгие требования безопасности
An Odometer-Style Number Animation in SwiftUI
Рецензия на книгу «Основы разработки приложений для iOS»
11 SwiftUI Modifiers in iOS 26+ That Can Improve Your App Performance Exponentially
Async/Await Memory Leaks Nobody Talks About
5 SwiftUI Features You’re Probably Not Using (But Absolutely Should)

Android

Material Design 3 Skill for Claude Code — навык языка дизайна для ИИ
Android и AccessibilityService: защита чувствительных экранов от чтения интерфейса
Kotlin Coroutines: I Got Asked launch vs async In 3 Senior Android Interviews
Compose Drawing Mastery
What's new in the Jetpack Compose April '26 release
The New LinkBuffer SlotTable: What Changes and Why It Matters
7
📺 Видео и подкасты за неделю

(iOS En) Все видео try! Swift Tokyo 2026
(iOS En) iOS 26 Custom Animated Keyboard ToolBar Using SwiftUI
(iOS En) Liquid Glass Toasts Using SwiftUI
(iOS En) Q&A: Swift concurrency
(iOS En) Prepare your app for Accessibility Nutrition Labels
(And En) How to build apps faster with Android Studio Panda
(And En) Beginner Course for AI-Assisted Android Development
(And En) Kotlin Flows: Buffer, Conflate, and Debounce
(And En) AI-Driven APG 9 Migration using Android Skills and Firebender - KMP Project
(Dev Ru) Когда API-ключ ушел в свободное плавание: атаки мобильных приложений глазами хакера
(Dev Ru) Хотел делать игры, а стал руководить тимлидами в Авито
(Dev Ru) Как копилот генерит код? Идем под капот
(Anl Ru) Каузальность — почему корреляция врёт, статистика, A/B тесты
(Dsg En) I've Tried the New Claude Design Tool to Create a PL Coding App
(Dsg En) Meet DESIGN.md: A new open standard for AI-generated UI
(Mrk En) Why Nobody Downloads Your App

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

(iOS Ru) Работа в Booking, жизнь в Амстердаме, автогонки в Европе
(iOS Ru) Многопоточность с нуля на примере пиццы
(iOS Ru) Организация и поддержка нативных UI-тестов в iOS
(And Ru) Разработка SDK
(And Ru) Прожарка на код-ревью от Яндекса
(And Ru) Алиса, открой багажник!
(And Ru) Зачем нужен виртуальный дисплей в Android
(And Ru) Находим и увольняем low-перформеров
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Диск выбора предупреждения

В новом еженедельном дайджесте уход Тима Кука и ненависть к Gboard, диск выбора месяца в стиле Airbnb и анимация зачеркивания текста в SwiftUI, основы разработки приложений для iOS, приватность в обычной клавиатуре, Kotlin-агент широкого профиля KMP, атаки мобильных приложений глазами хакера, рост релизов в App Store и Google Play и многое другое. Заходите!
👍4
Mobius 2026 Spring: конференция для мобильных разработчиков

Почему мобильные приложения тормозят на проде? Как строить архитектуру, которая масштабируется с ростом пользователей? Где AI уже помогает решать инженерные задачи?

Эти и многие другие вопросы разберем на Mobius этой весной.

📅 12–13 мая, Москва + онлайн

Два дня докладов, воркшопов и живого общения мобильного сообщества. В программе — интеграции с бэкендом, управление состоянием, CI/CD, инструменты, оптимизация перфоманса и поддержка крупных проектов.

Листайте карточки — собрали топовые доклады из программы.

Используйте промокод, чтобы купить персональный билет со скидкой — APPTRACTOR

Купить билет

Реклама. ООО «Джуг Ру Груп». ИНН 7801341446
😁211👍1🤡1🥱1
iOS

Immediate tasks в Swift — это особенность модели concurrency, при которой любая созданная через Task {} асинхронная задача начинает выполняться сразу же, без дополнительного запуска. Это может показаться мелочью, но на практике сильно влияет на архитектуру кода: разработчик не может «подготовить» задачу и запустить её позже — момент создания и есть момент старта. Такой подход упрощает модель выполнения и делает поведение более предсказуемым, особенно при работе с async/await, где важно понимать, когда именно начинается выполнение асинхронной логики. На практике это означает, что Task чаще всего используется как мост между синхронным и асинхронным кодом, например при обработке UI-событий, где нельзя напрямую вызвать async-функцию. В этом случае создание задачи становится точкой входа в асинхронный мир, а система сама распределяет выполнение по потокам, снимая с разработчика лишнюю ответственность за управление ими. При этом важно помнить, что любая такая задача уже выполняется сразу после объявления, поэтому контроль над моментом её создания становится ключевым для правильной работы приложения.

MarkupEditor — WYSIWYG редактор для SwiftUI и UIKit
Building a draggable bottom sheet in SwiftUI
Checking accessibility with SwiftUI Previews
Netflix iOS Developer Interview Experience — Asked Swift, UIKit & Architecture Questions
Fast Thumbnails With CGImageSource
Swift Concurrency is Gaining Broader Adoption
Immediate tasks in Swift Concurrency explained
When SwiftUI modifiers hold onto memory longer than expected
👍3
Android

Создание чего-то прекрасного, даже в миниатюре и даже в качестве учебного упражнения, требует той же тщательности, которая делает реальные продукты приятными на ощупь. Циферблат Ferrari Luce визуально имеет, возможно, десять движущихся частей. Его доскональная реализация включала в себя: полярную геометрию, конечные автоматы анимации, масштабирование, не зависящее от плотности, кроссплатформенный рендеринг, развертывание WebAssembly и немало отладки тонких ошибок.

Создание изменяемого циферблата в стиле Ferrari с помощью Compose Multiplatform
Compose Strong Skipping Mode Does Not Make Your Types Stable
Managing Multi Table Inserts With Room
How I Used Perfetto to Separate Real Startup Improvements From Plausible Ones
Android CLI meet Gemini CLI
Introducing the Koin Migration Skills
The Modern Guide to Android SDK Development: Architecture & API Design
👍31
Последние слухи говорят, что OpenAI работает с MediaTek и Qualcomm над разработкой процессоров для смартфонов. Новое устройство будет заточено не на приложения, а на задачи, которые будут выполнять ИИ-агенты, и это фундаментально меняет то, как люди воспринимают смартфоны. Тесная интеграция облачного и локального ИИ означает, что телефон должен постоянно понимать контекст пользователя. Энергопотребление, управление иерархией памяти и выполнение базовых небольших моделей станут ключевыми аспектами при проектировании процессоров. Более сложные и ресурсоёмкие задачи будут обрабатываться облачным ИИ. С точки зрения бизнес-модели OpenAI может объединить подписку с устройством и сформировать новую экосистему AI-агентов вместе с разработчиками.

Разработка

OpenAI создает свой смартфон
Pulsar — библиотека тактильной обратной связи
Как копилот генерит код? Идем под капот
Когда API-ключ ушел в свободное плавание: атаки мобильных приложений глазами хакера
Хотел делать игры, а стал руководить тимлидами в Авито
Каузальность — почему корреляция врёт, статистика, A/B тесты
Instagram тестирует новое приложение Instants для публикации исчезающих фотографий
Learnings from conducting ~1,000 interviews at Amazon

Маркетинг

Series — первая ИИ социальная сеть в iMessage
Маркетологи в мобайле: Алёна Максимова (сооснователь и операционный директор CTV House)
Noscroll — ИИ-бот, который думскролит за вас

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

Flutter vs React Native: Best Choice for Android & iOS Apps in 2026
Helping Decision-Makers Say Yes to Kotlin Multiplatform
Clean Lap: UI Testing in Compose Multiplatform
👍41
В App Store добавили годовую подписку с ежемесячной оплатой

Сегодня Apple представила новый способ оплаты  автоматически продлеваемых подписок в App Store: ежемесячные подписки с обязательством на 12 месяцев. Этот новый вариант оплаты позволяет предлагать подписчикам более доступные цены. Пользователи могут отменить подписку в любое время, что предотвратит её продление после того, как они выполнят оговоренные платежи для выполнения своих обязательств.

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

За исключением США и Сингапура, ежемесячные подписки на 12 месяцев будут доступны по всему миру пользователям iOS 26.4, iPadOS 26.4, macOS Tahoe 26.4, tvOS 26.4 и visionOS 26.4 или более поздних версий, начиная с выхода iOS 26.5, iPadOS 26.5, macOS Tahoe 26.5, tvOS 26.5 и visionOS 26.5 в мае.
25👍1
Еще одна статья про будущее Flutter. Правильный вывод скучен: используйте Flutter там, где это подходящий инструмент, понимайте свои зависимости и связанные с ними риски, и не принимайте архитектурные решения, основываясь на присутствии фреймворка в Твиттере или количестве звезд на GitHub. Это показатели тщеславия. Релевантный показатель — это то, решает ли фреймворк вашу проблему сегодня и имеет ли он разумный путь поддержки в течение следующих трех лет. По этому показателю Flutter проходит проверку. Не на отлично. Не с уверенностью 2021 года. Но проходит.

Разработка

How I Cut My Claude Code Token Usage by 2.8x
The 4 Lines Every CLAUDE.md Needs
This Is Getting Ridiculous: I Built a Mobile App in 10 Minutes with Replit
How to hire people who are better than you

Маркетинг

Spotify занялся фитнесом
Skye использует ИИ для создания умного домашнего экрана на iPhone
Stop building features: why early-stage apps need a learning roadmap first
Simply App Empire

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


Flutter после увольнений: вот честная оценка, которую никто не хочет давать
Flutter. The GetX repository is back

iOS

Как я написал лучшее приложение для изучения иностранных языков с помощью SFSpeechRecognizer (нет)
В App Store добавили годовую подписку с ежемесячной оплатой
7 Swift Concepts That Finally Clicked for Me (After Months of Confusion)
Apple Intelligence Is Impressive — But the Cost Will Surprise Developers
Overview of the onChange() modifier in SwiftUI

Android

Waveform — визуализация звука
Цифровая тень: что скрывают под капотом популярные Android-приложения (результаты аудита)
Динамические product flavors в Android: когда статической конфигурации уже мало
Metro is Stable
Android Development in 2026: The Trends That Will Define the Next 5 Years
Live Activities on Android 15 & Below: Replicating iOS Live Activity A Legacy-Compatible Implementation
I Stopped Using WebView for Login — Here’s Why Android Custom Tabs Win for SSO
Declarative Adaptive Layouts: Leveraging Nav3 Metadata for Multi-Pane UI
Build Android Apps 3x Faster with CLI and AI Agents
🥱4👍31
На фоне борьбы Apple с вайб-кодингом, Lovable выпустил свои no-code конструкторы приложений в App Store и Google Play. Они позиционируются как способ программировать на ходу с помощью голосовых или текстовых подсказок, позволяющих фиксировать идеи, которые приходят вам в голову. Это означает, что вы можете запустить Lovable для работы над своей случайной идеей из любого места, а агенту дальше продолжит работать автономно. Новое приложение также позволит вам переключаться между компьютером и телефоном, чтобы продолжить работу над проектом с того места, где вы остановились, и получать уведомления, когда сборка готова к проверке. В соответствии с правилами Apple, приложения больше не могут запускать сгенерированный код внутри основного приложения. Вместо этого предварительные просмотры этих приложений должны быть перенесены в веб-браузеры. Разработчики, по-видимому, также выполнили эти правила, поскольку новые приложения рекламируют возможность превращения идей в «работающие веб-сайты или веб-приложения».

Разработка

AI generated UI design is now better than 80% of humans

Маркетинг

Lovable выпустил приложения для iOS и Android
Прекратите разрабатывать фичи: почему приложениям на ранних стадиях сначала нужно обучение
Apple UX Principle: How Simplicity Drives Apple’s 5–10% Conversion Rates

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

I Deleted 50 useState Hooks in React Native — This Happened
How Margelo Helped Discord Improve React Native's New Architecture Performance

iOS

AgentRunKit — SDK для создания агентов
Swift Practices That Make You Look Like a Senior Dev
Building Real-Time Features on iOS: WebSockets, Push Notifications & Real-Time Sync — What Actually Works
The Future of iOS Development: What Apple Isn’t Telling You (2026–2030)

Android


Декларативные адаптивные макеты: использование метаданных Nav3 для многопанельного UI
Kotlin IR Compiler Plugin в дизайн-системе: автотесты с Compose без ручной разметки
Networking in Kotlin: Mastering Coroutines + Flow + Retrofit for Production-Grade Apps
The official Kotlin LSP introduced experimental support for Android
Android Development Optimization Techniques
👍31
Android Bench - бенчмарк языковых моделей в решении задач Android-разработки

Android Bench — это специализированная платформа, разработанная для оценки производительности больших языковых моделей в практических задачах мобильной разработки.

Используя тщательно подобранный набор данных из 100 задач из реальных проектов с открытым исходным кодом, бенчмарк измеряет способность ИИ генерировать точный код и работать со сложными архитектурами, специфичными для Android. Тест основан на специально разработанной тестовой среде, которая работает в два основных этапа: агент инференса и верификатор патчей. Агенту предоставляется описание реальной проблемы, взятое из популярных проектов Android с открытым исходным кодом, и, используя пользовательский образ Docker и базовый промпт, модель пытается решить проблему и сгенерировать код. Затем верификатор патчей берет сгенерированный код, применяет его к кодовой базе и выполняет в проекте набор тестов, чтобы проверить, успешно ли патч решает проблему.

В последнем обновлении таблицы лидеров в марте, лучшие модели в Android Bench:

• GPT-5.4: делит первое место с результатом 72,4%
• Gemini 3.1 Pro Preview: также делит первое место с результатом 72,4%
• GPT-5.3-Codex: третье место с результатом 67,7%
• Claude Opus 4.6: четвертое место с результатом 66,6%
• GPT-5.2-Codex: пятое место с результатом 62,5%
👍10🥱1
Android

Однажды автор статьи задумался, как бы выглядела подсветка синтаксиса в Jetpack Compose — без WebView, без HTML-шаблонов. Теперь, когда Compose стал стандартом для создания пользовательского интерфейса, законно хотеть чего-то, что органично вписывалось бы в общую концепцию. Это любопытство привело его к исследованию Shiki, ограничений WebAssembly, Cloudflare Workers, к созданию небольшого микросервиса и, в конечном итоге, ко второму подходу с использованием грамматик TextMate, работающих полностью на устройстве.

Подсветка синтаксиса на Android — интеграция движка Shiki в Compose
Android Bench — бенчмарк языковых моделей в решении задач Android-разработки
ConsultMe — шаблон Compose-проекта со Spotless, Detect и Lint
Обновление Paginator с 3.x до 8.x
Почему я написал Paginator вместо Paging 3
I Built a LangGraph Agent That Audits Android Projects — Here's the Architecture
When Text Input Becomes Document Editing in Jetpack Compose
Gradle plugin to catch version conflicts and their sources early
Compose Styling Is Changing — Here’s What Google’s New Style API Gets Right (and What It Still Needs)
Новое исследование изучило, как большие языковые модели работают в различных медицинских контекстах, включая реальные случаи в отделениях неотложной помощи, — и, по крайней мере, одна модель оказалась точнее, чем врачи-люди. В одном из экспериментов исследователи сосредоточились на 76 пациентах, поступивших в отделение неотложной помощи, сравнивая диагнозы, поставленные двумя врачами-терапевтами, с диагнозами, сгенерированными моделями OpenAI o1 и 4o. На каждом этапе диагностики o1 либо номинально превосходил, либо показывал результаты наравне с двумя лечащими врачами и 4o,  говорится в исследовании, добавляя, что различия «были особенно заметны на первом этапе диагностики (первичная сортировка в приемном отделении), где имеется наименьшее количество информации о пациенте и наибольшая срочность в принятии правильного решения».

Хорошо? Еще как. Однако. В своем посте об исследовании Кристен Пантагани, врач отделения неотложной помощи, сказала, что это «интересное исследование ИИ, которое привело к некоторым сильно преувеличенным заголовкам», особенно потому, что в нем сравнивались диагнозы ИИ с диагнозами врачей-терапевтов, а не врачей отделения неотложной помощи. «Если мы собираемся сравнивать инструменты ИИ с клиническими способностями врачей, нам следует начать со сравнения с врачами, которые действительно практикуют данную специальность», — сказала Пантагани. «Я бы не удивилась, если бы LLM смог победить дерматолога на экзамене по нейрохирургии, [но] это не особенно полезная информация».

Разработка

В исследовании ИИ показал более точные диагнозы в приемном отделении скорой помощи, чем два врача
When ‘if’ slows you down, avoid it

Маркетинг

Как монетизировать пет-проект: документы, платежи, касса

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

Вредные советы для Flutter-разработчика
Почему animated SVG не работает во Flutter «как в браузере» — и как я попытался это исправить
Running Gemma 4 E4B on a phone — open-source Flutter toolkit
👍1