AppFiles - Mobile Development – Telegram
AppFiles - Mobile Development
2.13K subscribers
2.76K photos
38 videos
11 files
3.69K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
SmartCodable выводит анализ данных Swift на новый уровень, дополняя собственный Codable от Apple гибкостью и отказоустойчивостью, которые готовы к использованию в проде. Там, где стандартный Codable не справляется с реальными данными, SmartCodable обеспечивает надежный синтаксический анализ с минимальным количеством шаблонного кода.

Ключевые преимущества:

• На 30% лучше производительность
• Более стабильная и безопасная реализация
• Встроенная диагностика ошибок
• Превосходная комплексная обработка данных

SmartCodable на GitHub: https://github.com/intsig171/SmartCodable
Платформа: iOS
⭐️: 632
Воспроизведение и редактирование видео с AVFoundation. Часть 1. Ассеты простые

C 2023 по 2025 год мы с командой развивали модуль создания контента в одном из приложений по просмотру коротких видео в России. Я присоединился к ней в середине пути и успел глубоко изучить как сам фреймворк AVFoundation, так и задачи, которые с помощью него можно решать. Хочу поделиться полученным опытом.

Представляю первую статью из цикла, который посвящён идеям воспроизведения и редактирования медиа с использованием AVFoundation.

Цикл поможет программистам без опыта работы с AVFoundation получить минимальную теоретическую базу (подчеркну – не практическую, для этого в светлом будущем я планирую выпустить отдельный цикл), чтобы создавать свои видеоплееры и видеоредакторы. В некоторых разделах я буду кратко упоминать ключевые моменты, а в других — подробно разбирать тонкости.

Статья: https://habr.com/ru/articles/897008/
Платформа: iOS
Разбираем чистую архитектуру в Android: от а до я

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

Статья: https://habr.com/ru/articles/897564/
Платформа: Android
Используем бесплатный Moderation API от OpenAI в Swift

Интеграция Moderation API от OpenAI позволяет сбалансировать доступность контента и безопасность пользователей, гарантируя, что ваше приложение останется функциональным и ответственным.

Статья: https://apptractor.ru/all-api/ispolzuem-besplatnyy-moderation-api-ot-openai-v-swift.html
Платформа: iOS/разработка
Metro - новый фреймворк внедрения зависимостей для Android

Metro — это фреймворк для внедрения зависимостей во время компиляции, во многом вдохновленный Dagger, Anvil и Kotlin-Inject. Он стремится объединить их лучшие функции в одно целостное решение, добавив несколько новых и реализуя их в виде плагина компилятора.

Статья: https://apptractor.ru/info/articles/metro-di.html
Платформа: Android
👍1
Escape — минималистичный лаунчер для Android 8.1 и выше. Он имеет современный, простой и настраиваемый дизайн со списком приложений на главном экране и дополнительными часами с виджетами, а также поддерживает цветовые схемы Material UI и такие функции, как скрытые приложения.

Escape на GitHubhttps://github.com/GeorgeClensy/Escape-Launcher
Платформа: Android
⭐️: 44
Почему нельзя использовать RecyclerView в NestedScrollView и как это исправить?

Чтобы ответить на этот вопрос, сначала нужно понять как работает RecyclerView. У Recycler есть ViewHolder'ы, часть из них видны, а другие два пользователь не видит. Один расположен сверху, второй снизу. При прокрутки списка, старые ViewHolder'ы меняются на новые, потому что в адаптере срабатывает onBindViewHolder.

Статья: https://habr.com/ru/articles/897894/
Платформа: Android
Вышел Swift 6.1

​Swift 6.1, выпущенный 31 марта 2025 года, представляет собой значительное обновление языка программирования Swift, направленное на повышение производительности, улучшение диагностики и расширение возможностей управления параллелизмом.

Анонс: https://www.swift.org/blog/swift-6.1-released/
Платформа: iOS
This media is not supported in your browser
VIEW IN TELEGRAM
Как я создал UI-конструктор с помощью Compose Multiplatform

Алекс Стил на Compose Multiplatform создал визуальный конструктор, который экспортирует код Compose, «как будто бы написанный человеком». В этой статье о некоторых моментах его разработки и особенностях работы с Kotlin и Compose Multiplatform для десктопов.

Статья: https://apptractor.ru/info/articles/paper-compose-multiplatform.html
Платформа: кроссплатформа
🔥1
DDKitSwift - универсальный фреймворк, который объединяет различные инструменты отладки посредством структуры плагинов. Встроенные инструменты:

• Логирование
• Тест сетевого подключения
• Сетевой пинг
• Определение FPS
• Просмотр файлов в песочнице
• Управление данными UserDefault
• Перехват и просмотр сетевых запросов

DDKitSwift на GitHub: https://github.com/DamonHu/DDKitSwift
Платформа: iOS
⭐️: 20
👍2
SwiftUI: Пишем простое фитнес-приложение с использованием HealthKit

В этой статье я предлагаю вместе создать простое приложение для тренировок, которое позволит вам ознакомиться с основами этого удивительного фреймворка. Мы будем разрабатывать приложение для watchOS, так как именно эта платформа, на мой взгляд, наилучшим образом раскрывает потенциал HealthKit.

Статья: https://habr.com/ru/companies/otus/articles/898762/
Платформа: iOS
👍1
Compose и YouTube: готовое к проду воспроизведение YouTube с помощью Jetpack Compose

​В статье автор Анатолий Фролов делится опытом интеграции воспроизведения YouTube-видео в приложение на основе Jetpack Compose. Стремясь предоставить пользователям возможность просмотра трейлеров и превью фильмов непосредственно в приложении, автор сталкивается с отсутствием официального API для такой интеграции в Compose. В качестве решения он использует AndroidView и библиотеку YouTube Player. Предложенный подход обеспечивает плавное и бесшовное воспроизведение YouTube-видео в приложениях на Jetpack Compose, улучшая пользовательский опыт и удовлетворяя запросы аудитории на встроенный видеоконтент.

Статья: https://proandroiddev.com/compose-meets-youtube-production-ready-youtube-playback-with-jetpack-compose-9e55013b411a
Платформа: Android
👍21
Быстро и гибко: интеграция Rust egui в SwiftUI

Автор делится опытом интеграции библиотеки пользовательского интерфейса egui, написанной на Rust, в приложение на SwiftUI. Столкнувшись с низкой производительностью стандартного компонента Table в SwiftUI и ограничениями NSTableView, автор решил исследовать альтернативные решения для улучшения производительности своего приложения.​

Выбор пал на egui — библиотеку, использующую подход immediate mode для построения интерфейса, что позволяет перерисовывать UI каждый кадр без сохранения состояния между обновлениями. Это обеспечивает высокую скорость и отзывчивость интерфейса.​

Для интеграции egui в SwiftUI автор предложил следующую архитектуру: основная структура приложения остается на SwiftUI, а egui используется для реализации производительно критичных компонентов. Связь между Swift и Rust осуществляется с помощью библиотеки swift-bridge, которая упрощает взаимодействие между этими языками.​

В качестве примера автор рассматривает создание простого окна чата, где переключение активных диалогов происходит на стороне Swift. Он подробно описывает процесс настройки проекта, включая создание статической библиотеки на Rust, настройку swift-bridge и реализацию рендерера с использованием wgpu для обработки графики.​

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

Статья: https://medium.com/@djalex566/fast-fluid-integrating-rust-egui-into-swiftui-30a218c502c1
Платформа: iOS
👏: 117
👍2
Полное руководство по созданию многоцветных тематических и адаптивных иконок для Android-приложений

Для обеспечения единообразия иконок приложений, отображаемых на главном экране лаунчером, были введены адаптивные и тематические значки. В этой статье мы рассмотрим процесс разработки многоцветных и градиентных иконок. Узнаем, как создавать адаптивные и тематические иконки для Android-приложений. В этом руководстве содержатся советы по дизайну, этапы реализации и передовые методы дизайна современных иконок для Android.

Статья: https://apptractor.ru/info/articles/app-icons-android.html
Платформа: Android
Kyoku - это приложение для потоковой передачи музыки, подобное Spotify или Apple Music. Оно использует протокол HLS для потоковой передачи музыки и в нем есть более 70 тысяч песен. В клиенте Jetpack Compose, WorkManager, Hilt, Media3, OkHttp, Room, Coil, на сервере Ktor, MySQL, JWT и Jedis.

Kyoku на GitHub: https://github.com/POULASTAAdAS/Kyoku
Платформа: Android
⭐️: 10
Воспроизведение и редактирование видео с AVFoundation. Часть 2. Ассеты продвинутые

Перед вами вторая статья из цикла про воспроизведение и редактирование медиа с помощью AVFoundation. В предыдущей статье рассказали, что такое простой ассет. Сегодня разбирают тему сложных ассетов. А ещё знакомят с идеями, которые могут лежать в основе любого видеопроигрывателя или видеоредактора.

Статья: https://habr.com/ru/articles/899304/
Платформа: iOS
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
6 шагов, чтобы сделать Slide to unlock кнопку в Jetpack Compose

Статья предоставляет детальное руководство по созданию интерактивной кнопки с использованием Jetpack Compose, включая кодовые примеры и объяснения каждого шага.

Статья: https://proandroiddev.com/6-steps-to-make-a-slide-to-unlock-button-in-jetpack-compose-ee9398cecf5f
Платформа: Android
👏: 22
1
Дизассемблируем Apple Exclaves

Apple Exclaves — это новая технология аппаратной и программной изоляции, предназначенная для выполнения чувствительных задач в отдельной, защищённой среде, физически и логически изолированной от основной операционной системы и приложений.

​В статье автор делится результатами анализа новой архитектуры безопасности Apple. В ходе исследования он выявил несколько ключевых аспектов и анализ предоставляет ценную информацию о внутреннем устройстве Exclaves, подчеркивая стремление Apple к усилению изоляции и безопасности критически важных компонентов системы.​

Статья: https://randomaugustine.medium.com/disassembling-apple-exclaves-7979bb987f86
Платформа: iOS
👏: 67
👍1
Создание и публикация SDK для Android: простое пошаговое руководство, которое действительно работает

​Разработка и публикация собственного Android SDK может показаться сложной задачей, но благодаря подробному руководству этот процесс становится понятным и доступным. В своей статье автор делится практическими шагами по созданию и распространению SDK. ​

Ключевые этапы, рассмотренные в статье:

1. Настройка проекта и модуля библиотеки:
2. Разработка логики SDK и публичного API:
3. Публикация SDK с использованием GitHub и JitPack:
4. Интеграция SDK в реальное приложение на основе Jetpack Compose:

Это руководство особенно полезно для разработчиков, желающих создать собственные библиотеки и поделиться ими с сообществом. Оно охватывает все аспекты — от начальной настройки до публикации и интеграции, предоставляя ясные инструкции и примеры кода.​

Статья: https://apptractor.ru/android-sdk-step-by-step
Платформа: Android
👏: 131
1
Расширяем Text в SwiftUI с помощью динамической стилизации содержимого

В этой статье мы рассмотрим, как расширить SwiftUI Text с помощью кастомизации любых частей его содержимого, как отдельных слов, так и более длинных сегментов.

Статья: https://apptractor.ru/info/articles/text-swiftui-stil.html
Платформа: iOS
👍1
Лучшие приложения с открытым исходным на Kotlin

Обсуждение на Reddit - знаете ли вы хорошие приложения с открытым исходным кодом, написанные на Kotlin, сложные и нормально структурированные?

• Bitwarden Android — менеджер паролей
• Now in Android — официальное учебное приложение Google для изучающих Android-разработку
• Atomic — Periodic Table — периодическая таблица химических элементов, пет-преокт одного из участников
• Telegram — исходники мессенджера
• Tachiyomi/Mihon — открытый ридер манги для Android (код сложен и не очень хорошо структурирован)
• KotlinConf — приложение самой большой конференции по Kotlin (сделано на Kotlin Multiplatform и Compose Multiplatform)
• Home Assistant Companion for Android — приложение Google для домашней автоматизации
• Rijksmuseum — мультимодульное мультиплатформенное приложение на Kotlin и Compose, которое предлагает захватывающий способ изучения художественной коллекции Рейксмузея в Амстердаме
• Premier League — полнофункциональное приложение с открытым исходным кодом на KMP, содержащее результаты матчей английской футбольной лиги, пет-преокт одного из участников
• Pokedex Compose — приложение про покемонов, которое демонстрирует современную разработку для Android с использованием Compose, Hilt, Coroutines, Flow, Jetpack и Material Design на основе MVVM-архитектуры

Статья: https://apptractor.ru/info/github/luchshie-prilozheniya-s-otkrytym-ishodnym-na-kotlin.html
Платформа: Android
👍1