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

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

Swift actors — это встроенное средство для защиты общего состояния от гонок данных при многозадачности на iOS. В отличие от lock'ов и GCD-очередей, они автоматически изолируют доступ и требуют await для обращения, снижая риски багов и повышая читаемость кода. Actors удобно использовать с async/await для работы с кэшами, логированием и обновлением моделей. Они защищают от ошибок потоков, но не ускоряют программу, а делают её стабильной и предсказуемой.

FileSystem — пакет Swift для взаимодействия с файловой системой
Swift Sendable: A Practical Guide to Safer Concurrency
Stop Using DispatchGroup: Swift Task Groups Are Way Better
Swift Actors in iOS: The Complete Beginner’s Guide to Safe Concurrency
Building AI features using Foundation Models
Android

Связка Retrofit и корутин Kotlin преобразила сетевое программирование в Android: теперь это не сложная и «ломкая» задача, а элегантное и поддерживаемое решение. Используя подходы и лучшие практики из этого руководства, вы сможете делать надёжные и масштабируемые сетевые слои, улучшающие и опыт разработки, и производительность приложения.

Retrofit + корутины Kotlin: полное руководство для Android-разработчиков
Google предлагает изменения в Play Store для ЕС
Fingerprinting on Android — Even Without Permissions
From Callback Hell to Coroutine Heaven: A Kotlin Developer’s Journey
WorkManager in 2025: 5 Patterns That Actually Work in Production
👍3
Google только что представил линейку Pixel 10. У флагмана внутри 6,3-дюймовый OLED-дисплей, собственный чипсет Tensor G5, 12ГБ RAM, 48МП камера, 13МП ультраширик, телефото 10.8МП с 5x оптический зумом. Главное, как нынче модно, в ИИ - Visual Overlays (AI-подсказки прямо на экране через камеру), Magic Cue (умные рекомендации в реальном времени в Gmail, Календаре, Сообщениях, снимках экрана и других приложениях), Camera Coach (помогает сделать фото лучше, подсказывает композицию и сцену), Voice Translate (перевод телефонных звонков на 12 языков (вместе с русским!) в режиме реального времени прямо вашим голосом), Take a Message (ИИ расшифровывает голосовые сообщения и сразу подсказывает, что делать дальше) и т.п. Все это за $799.

Разработка

Google Pixel 10: новый флагман, Qi2 и яркие цвета за $799
Copilot Broke Your Audit Log, but Microsoft Won’t Tell You

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

Flutter. Animations without StatefulWidget
Unlocking Kotlin Multiplatform: Integrating shared KMP code into an iOS project
👍3
Митап RuStore про монетизацию и рекламу

Когда: 27 августа, 17:00 (мск)

О чем: обсудим, как заработать на приложениях - тренды, рекламные форматы 2025 года и возможности RuStore.

Эксперты — ведущие менеджеры продукта:
Артём Фролкин — про рекламу;
Иван Шарков — про in-app платежи и RuStore Pay SDK.

Участвуй: можно задать вопрос команде RuStore и получить быстрый ответ — прямо в эфире. Остальные вопросы разберут в чате.

Регистрируйся, если хочешь получать больше с приложений!
🤡10👍1
Visual Studio Code на Google Pixel через Linux Terminal в Android 16 QPR2 Beta 1

Зачем? Потому что может.
🔥8👍3
iOS

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

Акторы в Swift: руководство для начинающих по безопасному параллелизму
12 Swift Optimization Secrets Apple Won’t Tell You
I Replaced Every != nil in My Swift Code — My linter was happy
Corner concentricity in SwiftUI on iOS 26
Setting alarms for calendar events
Implementing TikTok: Adding a AVPlayer to CollectionView Cell
1👍1
Android

Orbit MVI — это легковесный, интуитивный фреймворк для управления состоянием, построенный на принципах Model–View–Intent. Его цель — сделать разработку приложений на Kotlin максимально предсказуемой, масштабируемой и удобной для тестирования, снижая количество шаблонного кода и упрощая многоплатформенную интеграцию. В Orbit MVI ключевые сущности — Model (снимок UI-состояния), View (отображает состояние и реагирует на интенты) и Intent (действие пользователя или событие). Уникальность Orbit в том, что он вместо абстрактных Store и Reducer предлагает реальные Container и DSL-блоки, а основную логику можно описывать декларативно и без лишней сложности.

Smart Cleaner — клинер для Android
Kotlin Best Practices Every Android Developer Should Know in 2025
Orbit MVI: A Complete Guide to the State Management Framework
Why Android Development Is Getting Harder Every Day
Top 10 Emerging Trends in Android Development for 2025
3
Не ну кто бы мог подумать? Новое исследование Массачусетского технологического института показало, что 95% организаций не сообщают об измеримом эффекте от внедрения инструментов ИИ. Лишь небольшая группа компаний отметила существенные преимущества. «Большинство систем GenAI не сохраняют обратную связь, не адаптируются к контексту и не совершенствуются со временем», — говорится в исследовании. Без этих качеств долгосрочная интеграция остаётся дорогостоящей и неэффективной. Эксперты утверждают, что многие провалы происходят из-за непонимания того, что может делать ИИ, а что нет. Программа может быстро генерировать текст или код, но она не может по-настоящему обучаться так, как обучаются люди. Как отметил один исследователь, «ИИ силён в решении задач, а не в стратегии». Компании, которые ожидают, что он заменит собой целые процессы принятия решений, обрекают себя на разочарование.

Разработка

95% компаний не получают никакой отдачи от инвестиций в генеративный ИИ
Gemini for Home станет основой умного дома

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

How We Fixed a Poorly Performing React Native App
👍2🤷‍♂1
📺 Видео и подкасты за неделю @AppFiles

(iOS En) Multi-Item Drag & Drop API
(iOS En) Professional SwiftUI Card Component Library
(iOS En) SwiftUI Custom Calendar - Modern Date Picker Component
(iOS En) AI Refactoring Is Faster?!
(iOS En) Setting Up App Icons in Xcode 26 with Icon Composer
(iOS En) Mastering Icon Composer Create Stunning App Icons
(And En) Custom Design Systems In Jetpack Compose - THESE Are My Best Practices
(And En) APIs: How Hard Can They Be?
(And En) Fast inner dev loops for Kotlin Gradle builds
(And En) Nested type aliases in Kotlin 2.2
(And En) You didn't handle the Process Death, did you?
(And En) AI-Powered Android Development chat with Kevin Tang
(Crs Ru) Генерация UI Kit с использованием ИИ
(Crs En) Build Websites in Kotlin & Compose HTML with Kobweb
(Crs En) Multiplatform Settings: A case study in Multiplatform library development
(Crs En) Project Sparkles: How Compose for Desktop is changing Android Studio
(Dev Ru) Надежность мобильных приложений: что это и как достичь
(Dev Ru) Зачем нужен COBOL в 2025
(Mrk En) App Experts Reveal How to Improve Conversions

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

(And Ru) Фантастические баги: как их ловить и править
(Crs Ru) Почему вам стоит учить/использовать Kotlin Multiplatform
(Dev Ru) Задача на логику из собеседования в Amazon (+ все собеседования)
(Psy Ru) Как успевать больше, оставаясь эффективным, и не выгореть
Please open Telegram to view this post
VIEW IN TELEGRAM
Новые баги COBOL

Новый большой еженедельный дайджест - в этом выпуске несколько технических разборов Max, отказ от MVVM и использование Retrofit с корутинами, магия анимаций RecyclerView и генерация UI Kit с использованием ИИ, опыт работы с Protobuf на реальном проекте, COBOL в 2025, вяжущая фасолина в топе App Store и многое другое. Заходите!
👍3😁2
iOS

Как и большинство разработчиков, я тысячи раз писал if someValue != nil на Swift, ни секунды не задумываясь. Это было быстро, привычно и ощущалось безопасным. Но затем, во время плановой чистки кода, я решился на смелый поступок: удалил все вхождения != nil в iOS-проекте среднего размера и заменил их более выразительными конструкциями.

Я заменил все != nil в своем Swift-коде
TSAlertController — элегантная библиотека оповещений
Swift Raw Identifiers
Checking and editing the details of a calendar event
🥱91👍1
Android

Compose Unstyled — это API на основе Compose Foundation для лёгкого создания любой дизайн-системы. Он предоставляет нестилизованные, доступные компоненты с гибкими API для настройки тем — вся сложная работа по созданию правильного пользовательского опыта и доступности выполняется за вас.

Deepr — управление глубокими ссылками
Compose Unstyled: The missing Design System layer for Compose UI
Architectural Evolution of and Android app
Dependency Injection + Dependency Inversion: More Robust and Testable Code
Designing with personality: Introducing Material 3 Expressive for Wear OS
A new layer of security for certified Android devices
1
Google будет требовать идентификации разработчиков для распространения приложений вне Play Store

Компания хочет проверять личность всех разработчиков, распространяющих приложения для Android, даже если эти приложения не представлены в Play. По заявлению Google, это добавляет «важный уровень ответственности в экосистему» ​​и призвано «защитить пользователей от вредоносных программ и финансового мошенничества». Пользователи с «сертифицированными» устройствами Android, то есть с установленными магазином Play, сервисами Play и другими приложениями Google Mobile Services (GMS), смогут блокировать установку приложений от непроверенных разработчиков.

Google заявляет, что будет проверять только личность разработчиков, но не содержимое их приложений или их происхождение. Разработчикам, распространяющим приложения вне Play Store, необходимо будет подтвердить свою личность через новую консоль разработчика Android, которую Google в настоящее время разрабатывает. Она аналогична консоли Google Play, которую разработчики используют в Play Store, но Google заявляет, что обеспечит более простой и оптимизированный процесс проверки.

По плану, открытие верификации для всех разработчиков случится в марте 2026 года, а с сентябрь 2026 эти требования вступают в силу в Бразилии, Индонезии, Сингапуре и Таиланде. С этого момента любое приложение, установленное на сертифицированном устройстве Android в этих регионах, должно быть зарегистрировано проверенным разработчиком. Далее систему начнут внедрять по всему миру.

А вот что пишут люди:
Меня больше всего беспокоит потенциальная неэффективность управления, которая может нанести несоразмерный ущерб независимым разработчикам. Мы уже видели, как автоматизированные системы Google могут произвольно блокировать известных разработчиков в Google Play практически без обратной связи. Подобная система, предоставляющая Google ещё больший контроль, может легко усугубить эту проблему.

Неясно, будет ли это простая мера, вроде Play Protect (которую пользователи, по крайней мере, смогут отключить), или нечто гораздо более ограничительное, подрывающее открытость платформы.

Кирилл:
Моё мнение - изменение правильное и полезное, затронет только недобросовестных разработчиков, но и дает Google возможность давления на разработчиков так как критерии верификации могут меняться или её вовсе смогут отозвать. Также это важно в мире, когда монополии магазинов приложения падают, а корпорации надо сохранять контроль.
👍4😢4🔥21👻1
Компании Илон Маска все таки подали в суд на Apple и OpenAI, обвиняя их в том, что их соглашение о внедрении ChatGPT в iPhone подавляет конкуренцию в сфере искусственного интеллекта. В иске, поданном в понедельник, принадлежащие Маску X Corp. и xAI также обвиняют App Store в «снижении приоритета» конкурирующих чат-ботов и супер-приложений, включая Grok и X. Компании Маска утверждают, что у пользователей iPhone «нет причин» загружать сторонние приложения с искусственным интеллектом, поскольку компания «заставляет» пользователей использовать ChatGPT в качестве приложения чат-бота по умолчанию при включении Apple Intelligence. «Apple и OpenAI заблокировали рынки, чтобы сохранить свои монополии и не допустить конкуренции со стороны таких новаторов, как X и xAI», — говорят в компании. Похоже, что скоро у нас будет еще выбор ИИ-провайдера, как сейчас есть выбор поиска или браузера.

Разработка

Сильная ссылка: фундамент управления памятью в программировании
Делайте ошибки дешёвыми, а не редкими — искусство совершать ошибки
Communication is The Job
10 tiny UI fixes that make a BIG difference

Маркетинг


Использование ежедневных квестов повышает удержание
Меряемся коэффициентами конверсии
X и xAI подали в суд на Apple и OpenAI

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

Cactus — кроссплатформенный фреймворк для локального развертывания LLM/VLM/TTS моделей
What’s Next for Kotlin Multiplatform and Compose Multiplatform – August 2025 Update
👍32
Как часто нужно релизить приложение?

App Store дает буст в поиске при каждом релизе, но если часто выпускать новые версии, то это (кажется) перестает работать.

Что говорят:

• Всякий раз, когда вам нужно выпустить новую функцию или исправление. Не загоняйте себя в график.
• Booking выпускает релизы два раза в неделю. Лично я считаю, что это немного перебор, но многие Agile-команды выпускают релизы раз в две недели.
• Не уверен, что в App Store есть маркетинговый пуш, но если следить за обновлениями, то всё равно придётся ждать 1-2 недели, пока все обновятся.
• Очень часто встречаются самые продаваемые приложения, которые не обновлялись больше года. Не думаю, что алгоритм ранжирования App Store особенно заботится о частоте обновлений.
• Возможно, это непопулярное мнение, но позиции моих ключевых слов значительно улучшились при сравнительно минимальных обновлениях — всего лишь раз в неделю или раз в две недели.
• У нас нет чётких сроков. Как только мы вносим существенное улучшение и оно кажется стабильным, мы его внедряем. Обычно мы тестируем приложение в TestFlight 2–3 дня, прежде чем отправить его на проверку. Поскольку мы постоянно разрабатываем что-то новое, некоторые обновления выходят не сразу, из-за чего у меня иногда возникает ощущение, что мы упускаем возможность улучшить приложение.

В общем, кажется, самый популярный ( и оптимальный?) график - раз в неделю или раз в две недели. Как часто ты выпускаешь новые версии?
👍62
😁91👍1