es
Feedback
AppFiles - Mobile Development

AppFiles - Mobile Development

Ir al canal en Telegram

Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.

Mostrar más
2 165
Suscriptores
-324 horas
-27 días
+430 días
Archivo de publicaciones
Code On The Go - среда разработки Android-приложений Code on the Go — это интегрированная среда разработки, которая позволяет
Code On The Go - среда разработки Android-приложений Code on the Go — это интегрированная среда разработки, которая позволяет создавать приложения для Android на телефонах Android без необходимости использования традиционного компьютера или доступа в Интернет. Это ранняя, экспериментальная версия IDE. Этот релиз предназначен для разработчиков Android, которые готовы тестировать черновой вариант программного обеспечения и предоставлять конструктивную обратную связь.  Code on the Go на GitHub: https://github.com/appdevforall/CodeOnTheGo Платформа: Android ⭐️: 1 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

Ваше iOS-приложение не закончено, если им не может пользоваться незрячий: Гайд по Accessibility Это руководство создано не дл
Ваше iOS-приложение не закончено, если им не может пользоваться незрячий: Гайд по Accessibility Это руководство создано не для того, чтобы вы просто поставили галочку в Jira. Мы поговорим о том, как код может стать мостом или стеной для миллионов людей. Статья: https://habr.com/ru/articles/1002142/ Платформа: iOS 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0 Todo Budget — это приложение-комбайн: список задач
Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0 Todo Budget — это приложение-комбайн: список задач с приоритетами и подзадачами, учёт доходов/расходов/долгов, помодоро-таймер и заметки с голосовым вводом. Стек: Kotlin + Jetpack Compose + Material 3 + Room + Yandex Ads. Минимальная версия Android 5.0 (API 21), целевая — Android 15 (API 35). После публикации предыдущей версии я получил обратную связь: пользователи хотели больше аналитики, защиту данных и возможность не потерять контекст работы при сворачивании приложения. Я решил не выпускать фичи по одной, а собрать всё в один большой релиз. Статья: https://habr.com/ru/articles/1003034/ Платформа: Android 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

Настройка конвейера доставки для ваших агентских iOS-проектов В этом посте я хочу рассказать вам о конвейере, который я испол
Настройка конвейера доставки для ваших агентских iOS-проектов В этом посте я хочу рассказать вам о конвейере, который я использую, чтобы, несмотря на использование агентного подхода к разработке, качество моего продукта оставалось на высоком уровне (да, это включает в себя чтение кода и иногда ручную корректировку). Мы рассмотрим настройку локальной среды, почему важен режим планирования, автоматизированные проверки запросов на слияние с помощью BugBot от Cursor, запуск сборок и тестов CI с помощью Bitrise, а также волшебство почти мгновенной загрузки сборок TestFlight на ваше устройство после слияния. Статья: https://apptractor.ru/info/articles/nastroyka-konveyera-dostavki-dlya-vashih-agentskih-ios-proektov.html Платформа: iOS 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

Refreshable - pull-to-refresh для UIScrollView Современная, легковесная библиотека Swift, предоставляющая pull-to-refresh фун
Refreshable - pull-to-refresh для UIScrollView Современная, легковесная библиотека Swift, предоставляющая pull-to-refresh функции и загрузки дополнительных элементов для UIScrollView и всех его подклассов. Разработана с учетом производительности и возможностей настройки. Особенности: • Pull-to-refresh — плавный жест «потянуть вниз» для обновления контента • Загрузка дополнительных элементов — бесконечная прокрутка с автоматическим определением загрузки дополнительных элементов • Высокая степень кастомизации — легко реализовать пользовательские анимации и стили • Оптимизация производительности — минимальное потребление памяти и плавные анимации • Простая интеграция — простой API с разумными значениями по умолчанию • Универсальная поддержка — работает с UIScrollView, UITableView, UICollectionView и UITextView Refreshable на GitHub: https://github.com/hoangtaiki/Refreshable Платформа: iOS ⭐️: 41 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

📺 Видео и подкасты за неделю • (iOS Ru) Как устроена мобильная разработка в Яндекс Картах • (iOS En) New iOS 26 Style OnBoar
📺 Видео и подкасты за неделю(iOS Ru) Как устроена мобильная разработка в Яндекс Картах(iOS En) New iOS 26 Style OnBoarding Animation Using SwiftUI(iOS En) Sharing App Data with Uniform Type Identifiers and ShareSheets(iOS En) Liquid Glass Morphing Tab bar | Expandable Tab Bar | SwiftUI(And Ru) КодРевью лидера мнений: как можно нарушить сразу все принципы разработки(And Ru) Ты не владелец своего Android. И вот почему(And En) What’s so great about R8?(And En) Top 5 Jetpack Compose Performance Killers(And En) Kotlin Devs Diversify: Android is 25% Now(And En) You won't believe how we created an Android Lint rule using AI - with Tor Norbye(And En) Google’s Recommended App Architecture Explained (Android & iOS)(Crs Ru) Твое первое приложение на KMP для ОС Аврора(Dev Ru) 1 из 10 разработчиков ничего не делает на работе. Интервью с исследователем из Стэнфорда.(Dev Ru) Хэш-таблицы — Open addressing, коллизии, hash Прошлогодние видео: • (And Ru) Погружаемся в мир технологий Яндекс Переводчика(And Ru) Мок собеседование Android разработчика в Контур: архитектура и кодинг приложения(Dev Ru) Публичное собеседование на позицию Head of QA(Dev Ru) Краш-курс по автоматизации тестирования 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

CarPlay Developer Guide Официальное руководство по разработке приложений для CarPlay. Ссылка: https://developer.apple.com/dow
CarPlay Developer Guide Официальное руководство по разработке приложений для CarPlay. Ссылка: https://developer.apple.com/download/files/CarPlay-Developer-Guide.pdf Платформа: iOS 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

Detekt Rules Koin - Detekt-расширение с 51 правилом для Koin 4.x Кирилл из AndroidBroadcast выпустил новые правила для линтер
Detekt Rules Koin - Detekt-расширение с 51 правилом для Koin 4.x Кирилл из AndroidBroadcast выпустил новые правила для линтера. Если используете Koin и Detekt, то знаете, что стандартный Detekt ничего не знает о специфике Koin. Можно написать рабочий, но проблемный код — и никаких предупреждений. Что ловит библиотека: • Service Locator антипаттерны (5 правил) • Ошибки в Module DSL (14 правил) • Проблемы управления скоупами (8 правил) • Platform-специфичные проблемы (8 правил) • Архитектурные нарушения (4 правила) • Koin Annotations (12 правил) Detekt Rules Koin на GitHub: https://github.com/androidbroadcast/Koin-Detekt Платформа: Android ⭐️: 1 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

Codename One — нативные кроссплатформенные приложения на Java или Kotlin Codename One — это кроссплатформенная среда разработ
Codename One — нативные кроссплатформенные приложения на Java или Kotlin Codename One — это кроссплатформенная среда разработки для Java и Kotlin, ориентированная на мобильные устройства. Она позволяет компилировать байт-код Java в исполняемые файлы нативных ОС (iOS, Android, UWP и т. д.). Это полноценная мобильная платформа, включающая виртуальные машины, симулятор, инструменты проектирования (визуальные темы/конструктор/CSS), интеграцию с IDE, портирование на различные ОС и многое другое. Она обеспечивает полный доступ к базовому нативному коду ОС (например, Objective-C, C#, Dalvik/ART) через переносимую абстракцию, что обеспечивает 100% повторное использование кода. Codename One — единственная платформа, которая: • Поддерживает принцип «напиши один раз — запускай где угодно» без специальных требований к оборудованию и обеспечивает 100% повторное использование кода. • Компилирует Java или Kotlin в нативный код для iOS, UWP (Universal Windows Platform), Android и даже JavaScript (с бесшовной поддержкой PWA и потоков). • С открытым исходным кодом и бесплатная с возможностью коммерческого использования на корпоративном уровне. • Проста в использовании благодаря 100% портативному конструктору графического интерфейса с функцией перетаскивания. • Имеет полный доступ к базовым возможностям нативной ОС, используя собственный язык программирования ОС (например, Objective-C) без ущерба для переносимости. • Имеет полный контроль над каждым пикселем на экране! Просто переопределите метод paint и рисуйте или используйте стеклянную панель для рисования в любом месте. • Позволяет использовать нативные виджеты (представления) и смешивать их с компонентами Codename One в одной иерархии (смешивание тяжелых и легких компонентов). • Поддерживает бесшовную непрерывную интеграцию «из коробки». Codename One на GitHub: https://github.com/codenameone/CodenameOne Платформа: кроссплатформа ⭐️: 140

Как я за 2,5 месяца написал строительный калькулятор на Flutter с ИИ-прорабом, 45+ калькуляторами и 8000 тестами В этой стать
Как я за 2,5 месяца написал строительный калькулятор на Flutter с ИИ-прорабом, 45+ калькуляторами и 8000 тестами В этой статье расскажу про архитектуру, покажу реальный код и объясню, почему переписал систему калькуляторов с нуля на полпути разработки, как впихнул ИИ с характером ворчливого прораба через OpenRouter и зачем написал 8180 тестов на проект, который делает один человек. Статья: https://habr.com/ru/articles/1001080/ Платформа: кроссплатформа/Flutter 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

Расцвет "достаточно хорошей" архитектуры в Android Идеальная архитектура — это миф. Достаточно хорошая архитектура — это дисц
Расцвет "достаточно хорошей" архитектуры в Android Идеальная архитектура — это миф. Достаточно хорошая архитектура — это дисциплина, знающая, что нужно делать, что отложить, а что вообще не стоит использовать. Начните с простого. Когда возникнут проблемы, добавляйте уровни. И помните, что отзывы о вашем приложении в Play Store пишут пользователи, а не ваш граф внедрения зависимостей. Статья: https://apptractor.ru/info/articles/rastsvet-dostatochno-horoshey-arhitektury-v-android.html Платформа: Android 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

Не убий: Гайд по UI/UX в Android Automotive, за который вас не посадят В прошлой серии мы научились вытаскивать из машины дан
Не убий: Гайд по UI/UX в Android Automotive, за который вас не посадят В прошлой серии мы научились вытаскивать из машины данные. Мы знаем скорость, обороты двигателя и даже какая дверь открыта. Руки чешутся вывести всё это на огромный экран в 4K, добавить анимаций, графиков и запустить YouTube на фоне, да? Статья: https://habr.com/ru/articles/1001016/ Платформа: Android 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

ListKit - быстрый diffable data source для UICollectionView ListKit - быстрый, написанный на чистом Swift источник данных с в
ListKit - быстрый diffable data source для UICollectionView ListKit - быстрый, написанный на чистом Swift источник данных с возможностью сравнения изменений (diffable data source) для UICollectionView. Полная замена UICollectionViewDiffableDataSource от Apple с алгоритмом сравнения изменений Хекеля со сложностью O(n) и высокоуровневым декларативным API (совместим с NSDiffableDataSourceSnapshot). В тестах эта библиотека от 2 до 1000 раз превосходит по скорости встроенное решение Apple. ListKit на GitHub: https://github.com/Iron-Ham/Lists Статья: https://sundayswift.com/posts/building-a-high-performance-list-framework/ Платформа: iOS ⭐️: 13 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

Ошибка на 12 миллиардов долларов: почему Apple отказалась от сторибордов (и почему большинство команд до сих пор их использую
Ошибка на 12 миллиардов долларов: почему Apple отказалась от сторибордов (и почему большинство команд до сих пор их используют) Если вам это знакомо — ночные конфликты слияния, загадочные сбои Interface Builder, кошмары в онбординге — вы не одиноки. Apple тихо признала эти проблемы и уже много лет отговаривает разработчиков от использования сторибордов (Вы когда-нибудь замечали, как в недавних примерах кода WWDC используется SwiftUI или программный пользовательский интерфейс, без файла .storyboard? В стандартном шаблоне приложения SwiftUI даже нет файла сториборда). В этом подробном обзоре мы рассмотрим реальные затраты на использование сторибордов с помощью реальных цифр, сравним код до и после и изучим современные альтернативы, такие как SwiftUI, которые спасают команды от проблем с конфликтами слияния в Xcode. В конце вы получите конкретные шаги по модернизации вашей iOS-архитектуры — и, возможно, пару историй из практики, которыми сможете поделиться. Статья: https://apptractor.ru/info/articles/storyboards.html Платформа: iOS 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

Под капотом: MessageQueue без блокировок в Android 17 В Android 17 Google полностью переосмыслил работу базового механизма об
Под капотом: MessageQueue без блокировок в Android 17 В Android 17 Google полностью переосмыслил работу базового механизма обработки сообщений в приложениях: MessageQueue. Ранее эта очередь использовала один блокирующий lock для синхронизации, что могло приводить к блокировкам UI-потока (например, при одновременной работе фоновых задач) и вызывать задержки в работе интерфейса. Новая реализация под названием DeliQueue отказалась от традиционных блокировок и вместо них применяет lock-free структуры данных: производители сообщений пушат задачи в lock-free стек, а единственный поток UI (Looper) затем переносит их в собственную упорядоченную очередь (min-heap). Это позволяет значительно снизить конкуренцию за ресурсы, улучшить отзывчивость интерфейса и уменьшить количество пропущенных кадров. Такой подход требует глубоких изменений в алгоритмах — например, использования атомарных операций вместо мониторов, обработки «логического удаления» сообщений и тщательного управления памятью — но результаты впечатляют: в тестах многопоточные вставки стали в тысячи раз быстрее, а время, теряемое из-за блокировок, сократилось, что приводило к заметному улучшению производительности UI в реальных приложениях. Разработчикам важно учесть эти изменения, так как новая очередь может повлиять на код, который отражением (reflection) обращается к внутренним полям MessageQueue. Статья: https://android-developers.googleblog.com/2026/02/under-hood-android-17s-lock-free.html Платформа: Android 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

В Android 17 Google полностью переосмыслил работу базового механизма обработки сообщений в приложениях: MessageQueue. Ранее эта очередь использовала один блокирующий lock для синхронизации, что могло приводить к блокировкам UI-потока (например, при одновременной работе фоновых задач) и вызывать задержки в работе интерфейса. Новая реализация под названием DeliQueue отказалась от традиционных блокировок и вместо них применяет lock-free структуры данных: производители сообщений пушат задачи в lock-free стек, а единственный поток UI (Looper) затем переносит их в собственную упорядоченную очередь (min-heap). Это позволяет значительно снизить конкуренцию за ресурсы, улучшить отзывчивость интерфейса и уменьшить количество пропущенных кадров. Такой подход требует глубоких изменений в алгоритмах — например, использования атомарных операций вместо мониторов, обработки «логического удаления» сообщений и тщательного управления памятью — но результаты впечатляют: в тестах многопоточные вставки стали в тысячи раз быстрее, а время, теряемое из-за блокировок, сократилось, что приводило к заметному улучшению производительности UI в реальных приложениях. Разработчикам важно учесть эти изменения, так как новая очередь может повлиять на код, который отражением (reflection) обращается к внутренним полям MessageQueue.

ADB Device Manager - двойное управление Android для Windows ADB Device Manager объедините Android и Windows в единую систему
ADB Device Manager - двойное управление Android для Windows ADB Device Manager объедините Android и Windows в единую систему управления. Он позволяет, используя два режима (режим ADB и режим приложения), выполнять следующие действия: • Зеркальное отображение экрана вашего Android-устройства на Windows • Трансляция звука с устройства на ПК • Управление приложениями, уведомлениями, звонками и SMS • Запуск Android в режиме рабочего стола • Передача файлов, просмотр фотографий, управление контактами • Подключение через USB, Wi-Fi ADB или LAN в режиме приложения Внутри ADB (Android Debug Bridge), scrcpy, nircmd_x64, Flutter, Kotlin, Python. ADB Device Manager на GitHub: https://github.com/Shrey113/Adb-Device-Manager-2 Платформа: Android/кроссплатформа ⭐️: 140 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

Осваиваем шейдеры Metal В отличие от модели анимации, управляемой представлениями в SwiftUI, Metal работает на уровне пикселе
Осваиваем шейдеры Metal В отличие от модели анимации, управляемой представлениями в SwiftUI, Metal работает на уровне пикселей. Это позволяет создавать эффекты и анимации, управляемые временем, математическими функциями и данными, а не изменениями в иерархии представлений. Таким образом, работа с Metal требует изменения перспективы: от представлений и модификаторов к пикселям, параллельному выполнению и покадровому рендерингу, но зато такая работа обеспечивает гораздо более высокий уровень визуального контроля. Статья: https://apptractor.ru/info/articles/osvaivaem-sheydery-metal.html Платформа: iOS 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

Как ускорить Android-приложение с помощью Baseline Profiles За последние несколько лет мы построили инфраструктуру оптимизаци
Как ускорить Android-приложение с помощью Baseline Profiles За последние несколько лет мы построили инфраструктуру оптимизаций компилятора и рантайма на основе профилей для Android-приложений. Один из ключевых компонентов этой инфраструктуры — функция Baseline Profiles в Android Runtime, которую мы применяли, чтобы улучшить производительность. В этой статье мы разберём несколько аспектов производительности, связанных с Android Runtime (ART). Я расскажу, с какими проблемами мы столкнулись и как Baseline Profiles помогли их преодолеть. Статья: https://habr.com/ru/companies/otus/articles/1000028/ Платформа: Android 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность

Никакого программирования до 10 утра Инженерное дело сегодня — это уже не просто написание кода. Вот стратегия одного стартап
Никакого программирования до 10 утра Инженерное дело сегодня — это уже не просто написание кода. Вот стратегия одного стартапа по созданию проектов в эпоху ИИ-агентов. Статья: https://apptractor.ru/info/articles/nikakogo-programmirovaniya-do-10-utra.html Платформа: разработка 👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность