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
Google не будет разделять свой бизнес, но федеральный судья предварительно распорядился о внесении других изменений в деловую практику технологического гиганта. Например, Google не сможет обуславливать лицензирование Play Store распространением определенных приложений или увязывать выплаты в виде доли от дохода с сохранением определенных приложений. Google также будет обязан предоставлять определенные данные о поисковом индексе и взаимодействии пользователей «квалифицированным конкурентам» для предотвращения исключающего поведения, а также предлагать конкурентам услуги поиска и синдикации поисковой рекламы по стандартным тарифам, чтобы они могли обеспечивать качественные результаты, одновременно развивая собственные технологии. Пока это, правда, ни о чем не говорит - еще будет апелляция и Верховный суд. Так что все станет понятно ориентировочно только в 2028.

Разработка

Google избежал разделения, но вынужден отказаться от эксклюзивных сделок
How Coding Can Improve Design
The One Architecture Decision That Destroyed Every Project I Touched
Writing Code Was Never The Bottleneck

Маркетинг

В Директе стало доступно продвижение мобильных приложений из RuStore
Увеличил пробный период → но начал просить карту

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


Как мы добились оценки приложения в 5 звезд за 2 часа
FlutterBox - Open Source Flutter Widget Library Platform
👍31
Дух элитного дизайна

"В компьютерных науках есть только две сложные проблемы – инвалидация кэша и именование переменных". Добавлю третью - выбор цветов для приложения. Так что может быть пригодится для следующего проект - "9 роскошных цветовых палитр, воплощающих дух элитного дизайна". На картинке, например, полуночная роскошь.
👍11💅31
iOS

Отладка всегда будет частью разработки. Но есть огромная разница между блужданием в темноте с print() и системным подходом с правильными инструментами. Начните использовать их сегодня, и ваше будущее "я" скажет вам спасибо, когда вы будете отлаживать сложные проблемы в продакшене с тысячами пользователей.

ARC в Swift
Жизненный цикл UIViewController в 2025 году: что изменилось и что устарело
Why TCA Is Making a Comeback in 2025 (And Why Enterprises Love It)
SwiftUI: AVAudioEngine With Swift Concurrency
I Spent 5 Years Debugging Swift Apps Wrong — Here’s What I Wish I Knew Day One
👍2
Android

FlowRow и FlowColumn — это composables, похожие на Row и Column, но с одним ключевым отличием: элементы автоматически переносятся на следующую строку, когда в контейнере заканчивается место. Такое поведение создает несколько строк или столбцов, позволяя создавать более адаптивные интерфейсы, в которых контент не обрезается, если элементы слишком велики для одного измерения. Они особенно полезны для создания таких элементов интерфейса, как набор «чипов» или фильтров, где элементы должны переноситься на следующую строку по мере уменьшения пространства на экране. В этой статье мы подробно рассмотрим возможности flow-контейнеров, узнаем, как управлять расположением элементов, выравнивать их по отдельности и использовать «веса» (weights) для создания адаптивных сеточных структур.

Flow-контейнеры в Compose
Больше Pixel получат Material 3 Expressive
Neumorphic Compose UI Kit — неоморфизм для Jetpack Compose
Мой путь новичка в разработке: FreeSpace — мобильное приложение для любителей космоса
Stop Re-fetching Data: Master LRU Caching in Your Android App
Mastering Kotlin Collections: A Developer’s Journey from Confusion to Clarity
👍3
Исследования METR показало, что ИИ на самом деле замедлял разработчиков на 19%, хотя им казалось, что они работают на 20% быстрее. После этого автор провел собственный шестинедельный эксперимент и выяснил, что ИИ замедляет его в среднем на 21%, подтверждая результаты исследования. Он пришел к выводу, что заявления о многократном увеличении производительности не соответствуют действительности. Ключевой аргумент автора заключается в вопросе: если ИИ-инструменты настолько эффективны, то где же «поток низкокачественного программного обеспечения»? Он предоставляет данные, свидетельствующие о том, что количество новых программных релизов — веб-сайтов, игр, мобильных приложений — осталось на прежнем уровне, без ожидаемого экспоненциального роста после массового внедрения ИИ в 2022–2023 годах. Автор критикует IT-индустрию за увлечение этой идеей, которое приводит к увольнениям и снижению зарплат. Он призывает других разработчиков доверять своему опыту и скептически относиться к заявлениям о «10x-программистах», поскольку данные о реальном выпуске ПО их не подтверждают.

Разработка

Where's the Shovelware? Why AI Coding Claims Don't Add Up

Маркетинг

Япония с ИИ
ChatGPT станет новой ключевой платформой дистрибуции и роста. Или нет?
The ultimate guide to price localization

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

Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 2
Cross-Platform CI/CD: TUUCHO’s KMM Jenkins Pipeline with iOS, Android, and Visual Regression QA
My flutter app size just doubled after flutter upgrade
I finally understood Flutter layout
👍5🤡21🤔1
📺 Видео и подкасты за неделю @AppFiles

(iOS En) iOS 26 Lock Screen Carousel With Reflection Effect Using SwiftUI
(iOS En) How to hide the content of a view in a screenshot (iOS tutorial)
(iOS En) Swift concurrency for curious Kotliners
(iOS En) SwiftUI: How To Seamlessly Morph Liquid Glass Shapes
(iOS En) Auto Resizing Dynamic Sheets Using SwiftUI
(iOS En) Mastering Liquid Glass in SwiftUI – Buttons, Containers & Transitions
(And Ru) Облегчаем жизнь больших экранов на Compose
(And Ru) Разбор MAX программистом
(And Ru) ProGuard — Стандарт Мобильной Безопастности?
(And Ru) Ты готов к собеседованию в Альфа-Банк? Интервью мобильного разработчика
(And En) TheAndroidShow: The latest for devs from Made by Google, Gemini in Android Studio, a new Androidify
(And En) What's new in Android Studio Narwhal 3 Feature Drop
(And En) Androidify app deep dive
(And En) Bring your most expressive apps to the wrist: Wear OS 6 and the new Pixel Watch 4
(And En) Connect Model Context Protocol (MCP) servers to Android Studio to improve AI agent capabilities
(And En) Now in Android: 121 – Android Studio Narwhal, Android 16 QPR2 beta, and more
(And En) Build your Kotlin and Android apps with Buck2
(And En) Exposed inline value classes for Java in Kotlin 2.2
(And En) Kotlin Worst Practices — How to Maximize Your Hassle
(And En) Putting Kotlin Flows Together
(And En) Develocity Analytics: Get end-to-end visibility into your build process
(Crs En) Blueprints for Scale: What AWS Learned Building a Massive Multiplatform Project
(Crs En) Lessons learned decoupling Architecture Components from platform specific code
(Dev Ru) Лучший билд команды и проекта в IT
(Dev Ru) DevRel в мобильной разработке: между платформами, комьюнити и командой
(Dev Ru) Числа в программировании — Почему компьютер не понимает 0.1 + 0.2
(Dev En) How You Use an AI Coding Agent the RIGHT Way For Mobile Development
(Dev En) Introducing EmbeddingGemma: The Best-in-Class Open Model for On-Device Embeddings

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

(And Ru) Организация кода в проекте — в какой пакет положить Kotlin класс
(Dev Ru) Архитектурное собеседование — по обе стороны баррикад (+ все собеседования)
(Dev Ru) Backend-Driven UI и конструкторы. Благо или зло?
(Dev Ru) Открытое собеседование — технический руководитель: разбор кейса
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Стеклянный контейнер

Все статьи, новости и видео за неделю - «стеклянный мир» iOS 26 и Flow-контейнеры в Compose, Android Glance Widget и жизненный цикл UIViewController 2025, лучшие практики агентного программирования, как замедлить программу и почему это может быть полезно, приложения, вышедшие в июле, и заработавшие больше $50,000, и многое другое. Заходите!
👍4
📱System Design всё чаще становится частью повестки мобильной разработки.

Сегодня недостаточно просто уметь строить экраны: от Android-разработчиков ждут архитектурного взгляда: как проектировать SDK, интегрировать KMP, выстраивать эксперименты и переосмысливать подходы.

Podlodka Android Crew — онлайн-конференция, в новом сезоне которой обсудят архитектурные решения, способные выдерживать рост, сложность и нагрузку.

📌 В программе:

— как использовать Ktor на Android и зачем вам знать про его Pipeline и Plugins (JetBrains)

— что отличает удобный SDK от токсичного и как проектировать «гостеприимные» библиотеки (RuStore)

— история масштабной миграции с TEA и архитектурные выводы по итогам (Auto ru)

— функциональное программирование в Android: приёмы, нюансы производительности и тестирование (Dodo Engineering)

🗓Конференция пройдёт 15–19 сентября

🔗Билеты — https://podlodka.io/droidcrew
🍌2👍1
iOS

Первые пять лет своей карьеры в iOS-разработке я был тем разработчиком, который разбрасывал повсюду операторы print(), словно конфетти на новогодней вечеринке. Нужно проверить переменную? print(myVariable). Приложение падает? print("Made it here!"). Сложная структура данных ведёт себя странно? print("Debug: \(someComplexObject)"). И знаете что? Это работало. Вроде как. Пока не перестало. Пробуждение пришло во время особенно изнурительного сеанса отладки, когда в моей кодовой базе было разбросано более 47 операторов print (да, я считал). Консоль выглядела как цифровая лавина, и я тратил больше времени на прокрутку отладочной информации, чем на исправление ошибок.

Как правильно отлаживать iOS-приложения
AwaitlessKit — синхронные обёртки для async функций
The Cupertino Ghost in the Machine: An Analysis of Xcode's New AI Assistant
@ViewBuilder usage explained with code examples
Creating Light and Dark Mode Icons using Icon Composer
Turning CI Logs into Actions
7 Swift String Interpolation Tricks That Will Make You a Better Developer
10 SwiftUI Hacks For Cleaner Apps, Less Code Same Power
3
Android

В современных медиа-ориентированных приложениях обеспечение плавного и бесперебойного воспроизведения является ключом к хорошему пользовательскому опыту. Пользователи ожидают, что их видео запустится мгновенно и будет воспроизводиться без задержек. Основная проблема — задержка. Традиционно видеоплеер начинает работу — подключается, загружает, анализирует и буферизует — только после того, как пользователь выбрал элемент для воспроизведения. Такой реактивный подход медленный для современных коротких видео. Решение — действовать проактивно. Нам необходимо предвидеть, что пользователь будет смотреть дальше, и подготовить контент заранее. В этом и заключается суть предварительной загрузки. В этой серии статей из трёх частей, Google подробно рассмотрит мощные инструменты Media3 для (пред)загрузки компонентов.

Reveal — эффект подсветки (обучающие подсказки) для Compose Multiplatform
Облегчаем жизнь больших экранов на Compose
Разбор MAX программистом
ProGuard — Стандарт Мобильной Безопастности?
Ты готов к собеседованию в Альфа-Банк? Интервью мобильного разработчика
Mastering Conditional Layouts in Jetpack Compose: The Flexible Way
runBlocking in practice: Where it should be used and where not
Inside Burst’s Test Interceptors
The Hidden Dangers of Jetpack Compose State (And How to Fix Them With Real Examples)
Elevating media playback: Introducing preloading with Media3
Google Just Gave Android Developers Superpowers — Here’s How I’m Using Them
👍3
Компания OpenAI заявила, что разрабатывает платформу найма на базе искусственного интеллекта, которая позволит компаниям и сотрудникам найти общий язык. Этот сервис может составить серьёзную конкуренцию LinkedIn. Продукт называется OpenAI Jobs Platform, и компания планирует запустить его к середине 2026 года. Миссия - "использовать ИИ, чтобы найти идеальное соответствие между потребностями компаний и тем, что могут предложить работники". OpenAI также заявляет, что начнет предлагать сертификацию для людей с разным уровнем владения ИИ через свою OpenAI Academy, онлайн-программу, которую компания запустила в прошлом году. Представитель OpenAI сообщил, что компания планирует запустить пилотную программу сертификации OpenAI в конце 2025 года.

Разработка

OpenAI анонсирует платформу найма на базе искусственного интеллекта
Лучший билд команды и проекта в IT
DevRel в мобильной разработке: между платформами, комьюнити и командой
Числа в программировании — Почему компьютер не понимает 0.1 + 0.2
Как упростить разработку: опыт и размышления (компиляция из моей переписки)

Маркетинг

Как выбрать ПРАВИЛЬНОЕ приложение для инди-разработки
Важные изменения ASO в 2025 году

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

Pragmatic KMP for Mobile at Somnox
Is it time for Flutter to leave the uncanny valley?
6👍6
Теплота и элегантность

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

💅 если хочешь больше дизайна!

AppGrowth про инди
💅19
iOS

SwiftUI — мощный инструмент, да, но иногда он заставляет писать всё снова и снова: настраивать модификаторы, обрабатывать ошибки, управлять опциональными параметрами, форматировать даты. В чём секрет? Вам не нужно мириться с повторениями. С помощью нескольких умных расширений и шаблонов вы можете сделать код SwiftUI чище, короче и при этом таким же мощным.

10 SwiftUI-хаков для более чистых приложений
Voyager — фреймворк для навигации и маршрутизации в SwiftUI
Swift 6.2 : Game-Changing Features
SwiftUI Toggle: A Complete Guide
Swift: Speech-To-Text With SpeechAnalyzer
21 SwiftUI Interview Questions Every iOS Developer Should Master (With Code Examples)
The Hunt for Our #1 iOS Crash
1👍1
Android

Для Android-разработчиков, использующих нативные библиотеки, появилось новое требование Google Play: обеспечить поддержку 16-килобайтных страниц памяти для приложений, нацеленных на Android 15. Ручная проверка и обновление каждой .so библиотеки может стать сложной задачей. Чтобы упростить этот процесс, был представлен новый Gradle-плагин с открытым исходным кодом — Skyhigh16KB, созданный специально для автоматизации перехода на новый стандарт. Плагин значительно экономит время, выполняя всю рутинную работу по проверке. Он сканирует проект в поиске всех .so файлов, определяет, к какой именно библиотеке относится каждый из них, и проверяет их на совместимость с 16-КБ страницами. В результате разработчик получает четкое представление о том, какие зависимости требуют обновления, что позволяет вносить изменения точечно. Автор плагина отмечает, что это ранняя версия и приветствует обратную связь от сообщества для дальнейшего улучшения инструмента.

MAX без оболочки: Что мы нашли в его APK
Android Micro Frontend Interview Guide: 20+ Questions That Will Land You the Job
Improve app performance with optimized resource shrinking
Investigating IntelliJ Platform UI Freezes
A Gradle Plugin to Help You Add 16KB Page Support in Google Play Easily
👍6
🎧 Apple только что представила новые iPhone 17, включая тонкий iPhone 17 Air. Достижение - смартфоны теперь способны работать без подзарядки в течение всего дня. Кроме них вышли AirPods Pro 3 (вот тут интересен вдвое лучший шумодав, перевод в реальном времени и пульсометр) и Apple Watch Series 11 (“самые тонкие и удобные часы в истории линейки”, плюс работа до 24 часов). 

Разработка

Snap переходит на «стартап-команды» из-за снижения доходов от рекламы
12 месяцев, 8 приложений, 0 долларов: трудные уроки инди-хакинга
Writing Code Is Easy. Reading It Isn’t.
How can I deal with a team member who is always complaining?
How to Get Rich as a Solo Software Developer

Маркетинг

Как создать вирусное приложение: от 0 до $100K в месяц
Делай деньги: как сегодня зарабатывают на приложениях и что в тренде монетизации
Koah привлек $5 млн для размещения рекламы в ИИ-приложениях

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

Натив, Flutter или KMP — выбираем мобильный фреймворк для e-commerce
The Package That Kills Flutter Apps
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Новая оптимизация ресурсов в приложениях от Google

С выпуском версии 8.12.0 Android Gradle Plugin (AGP) в компании представили оптимизированное сокращение ресурсов — ещё более эффективный способ уменьшения размера вашего приложения с помощью R8. Используя его, вы можете уменьшить размер своего приложения, что означает меньший размер приложения, более быструю установку и меньший объём используемой памяти на устройствах ваших пользователей. Результат — более быстрый запуск, улучшенный рендеринг и меньшее количество ANR-ошибок.

Прежний подход был менее эффективным, потому что оптимизация кода и ресурсов происходила раздельно. Сначала инструмент AAPT2 создавал строгие правила, которые заставляли оптимизатор R8 сохранять код, если на него ссылались ресурсы. Проблема в том, что эти правила были безусловными. Даже если код был частью неиспользуемой функции, R8 всё равно не мог его удалить. Это вызывало цепную реакцию: в приложении оставался ненужный код, который, в свою очередь, заставлял R8 сохранять и ненужные ресурсы, связанные с этим кодом.

Новый подход улучшает сокращение ресурсов за счёт полной интеграции с существующим конвейером оптимизации кода. В новом подходе R8 одновременно оптимизирует как код, так и ссылки на ресурсы, гарантируя, что все ресурсы, на которые ссылается исключительно неиспользуемый код, идентифицируются как неиспользуемые и затем удаляются. Это полностью устраняет необходимость в безусловных правилах сохранения (unconditional keep rules), генерируемых AAPT2, и предоставляет гораздо более детальную и точную информацию для удаления неиспользуемого кода и ресурсов.

Для приложений, использующих значительные ресурсы и код в разных форм-факторах, зафиксировали улучшение размера более чем на 50%. Улучшения наблюдаются и в небольших приложениях.
👍9
iOS

iOS 26, iPadOS 26, macOS Tahoe 26, tvOS 26, visionOS 26 и watchOS 26 скоро станут доступны клиентам по всему миру, а это значит, что теперь вы можете отправлять приложения и игры, использующие самое масштабное обновление дизайна от Apple. Вышел Xcode 26 Release Candidate (правда, качается очень плохо) и теперь с его помощью можно заливать версии приложений под новые ОС. С апреля 2026 года приложения и игры, загружаемые в App Store Connect, должны быть созданы с использованием iOS 26 и iPadOS 26 SDK или более поздней версии.

В App Store открыт прием приложений для новейшие версии ОС
Why Your Swift App is Secretly Eating Memory (And How ARC is Both Saving and Destroying You
Debug crashes in iOS using MetricKit
Lazy-loading views with LazyVStack in SwiftUI
Why 90% of SwiftUI Apps Get Dependency Injection Wrong
👍1