AppFiles - Mobile Development
2.01K subscribers
2.57K photos
33 videos
8 files
3.45K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
MPV - готовый видео-плеер для Android, основанный на libmpv. В основных фичах - аппаратное и программное декодирование видео, поиск, управление громкостью  на основе жестов, продвинутая обработка видео (интерполяция, масштабирование), проигрывание сетевых стримов, картинка в картинке, фоновое воспроизведение. MPV не является библиотекой, которую вы можете встроить в свое приложение, но примером для вдохновения и решения нужных задач.

MPV for Android на GitHub: https://github.com/mpv-android/mpv-android
Платформа: Android
⭐️: 1.5K
Использование Compose для ТВ-версии приложения Иви

Недавно мы успешно выпустили версию для Android TV, используя инновационный инструмент — Jetpack Compose. Так как библиотека Compose для ТВ еще находится в альфа-версии, мы хотим поделиться своим опытом, рассказать о трудностях, с которыми столкнулись, и обратиться к вопросу: стоит ли использовать Jetpack Compose, особенно для ТВ-приложений?

Статья: https://habr.com/ru/companies/ivi/articles/757550/
Платформа: Android
👍1
AppFlowy - открытая альтернатива Notion, системы управления проектами. Написана система на Flutter и Rust, а значит работает под любой платформой и вполне поддается кастомизации. Кроме того, хранит все данные на ваших собственных серверах, а значит вся информация находится полностью под вашим контролем.

AppFlowy на GitHub: https://github.com/AppFlowy-IO/appflowy
Сайт: https://appflowy.io/
Платформа: кроссплатформа
⭐️: 37.9K
Лучшие практики обработки ошибок в Kotlin

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

Kotlin обладает основными возможностями обработки ошибок, такими как Null Safety, let, оператор Элвис (?:), поздняя инициализация, безопасное приведение с помощью оператора 'as?'. Другие продвинутые техники обработки ошибок в Kotlin мы рассмотрим ниже.

Статья: https://apptractor.ru/info/articles/luchshie-praktiki-obrabotki-oshibok-v-kotlin.html
Платформа: Android
OpenAPI - это открытая спецификация для документирования HTTP API. Swift OpenAPI Generator - это плагин от Apple, который позволяет сразу генерировать “церемониальный” код, необходимый для выполнения вызовов API или реализации API сервера.

Swift OpenAPI Generator на GitHub: https://github.com/apple/swift-openapi-generator
Платформа: iOS
⭐️: 602
Две стратегии скриншот-тестирования в мобильных проектах

Инвестирование в скриншот-тесты (в первую очередь через дизайн-систему) позволяет проекту ловить больше визуальных регрессий в наборе тестов при одновременном сокращении количества интеграционных тестов в долгосрочной перспективе.

Статья: https://apptractor.ru/info/articles/dve-strategii-skrinshot-testirovaniya-v-mobilnyh-proektah.html
Платформа: тестирование
🔥1
Поваренная книга SwiftUI: cоздание и предварительный просмотр представления SwiftUI

Добро пожаловать в раздел «Начало работы с SwiftUI»! Здесь начинается ваш путь к тому, чтобы стать мастером SwiftUI.

Мы начнем с основ, изучим, как создать и просмотреть представление SwiftUI. Затем мы погрузимся в основополагающую концепцию SwiftUI — представления (View) и и их иерархия, где вы поймете структуру SwiftUI-приложений и то, как представления располагаются слоями.

Статья: https://apptractor.ru/info/articles/povarennaya-kniga-swiftui-cozdanie-i-predvaritelnyy-prosmotr-predstavleniya-swiftui.html
Платформа: iOS
Meeting Room Compose - приложение для организации видеоконференций (переговорных комнат) в режиме реального времени, созданное с помощью Jetpack Compose и Stream Video SDK for Compose и напоминающее по дизайну Google Meet.

Основная задача этого репозитория - продемонстрировать следующее:

• Полная реализация компонентов пользовательского интерфейса с использованием Jetpack Compose.
• Разработка приложения для митингов в реальном времени с бесшовным пользовательским интерфейсом, выполненным в стиле Google Meet путем настройки CallContent и ParticipantVideo.
• Создание экрана лобби, обеспечивающего управление физическими устройствами перед входом в переговорную комнату, включая переключение камеры/микрофона и переключение вида камеры.
• Иллюстрация подключения нескольких участников с различных платформ, таких как Web и Android.

Meeting Room Compose на GitHub: https://github.com/GetStream/meeting-room-compose
Платформа: Android
⭐️: 91
Как публиковать и воспроизводить видео на Android с помощью опенсорс-библиотеки и стриминговой платформы EdgeЦентр

Сделать собственный сервис, где пользователи могли бы смотреть готовые видео на смартфонах в хорошем качестве, с адаптивным битрейтом кажется довольно сложной и дорогой задачей. Но на самом деле реализовать публикацию и проигрывание VOD (Video on Demand, видео по запросу) — не так уж и сложно, а в качестве составных частей можно использовать опенсорс.

Меня зовут Денис Филиппов, я руководитель отдела разработки стриминговой платформы EdgeЦентр. Сегодня расскажу вам, как с помощью нашей платформы и опенсорс-библиотеки tus-android-client сделать приложение, где пользователи смогут смотреть видео на Android.

Статья: https://habr.com/ru/companies/edgecenter/articles/759180/
Платформа: Android
Flow Engine — движок iOS-навигации в Revolut

Вы когда-нибудь слышали о шаблоне Координатор? Отлично, потому что статья не о нем. Я здесь, чтобы рассказать вам про кастомный движок навигации, наш Revolut Flow Engine.

Статья: https://apptractor.ru/info/articles/flow-engine-dvizhok-ios-navigatsii-v-revolut.html
Платформа: iOS
Как создать корпоративное LLM-приложение: Уроки GitHub Copilot

На разработку GitHub Copilot у нас ушло три года, прежде чем мы официально представили его широкой публике. Чтобы перейти от идеи к производству, мы следовали трем этапам - найти, применить, расширить - в общих чертах основываясь на концепции разработки предпринимательских продуктов "Nail It, Then Scale It".

Статья: https://github.blog/2023-09-06-how-to-build-an-enterprise-llm-application-lessons-from-github-copilot/
Dynamic Island SwiftUI Demo like Telegram - пример пользовательской анимации, когда аватар пользователя плавно перетекает и растворяется в Динамическом острове, по примеру того, как это сделано в Telegram. Разработано полностью нативно с использованием Swift и SwiftUI.

Dynamic Island SwiftUI Demo like Telegram на GitHub: https://github.com/stolyarenkoks/Dynamic-Island-SwiftUI-Demo
Платформа: iOS
⭐️: 3
🔥1
Видео и подкасты за неделю:

(iOS Ru) Swift-уроки: Simple MVVM
(iOS Ru) Как приручить iPhone, или Общаемся с телефоном по проводу
(iOS En) My Deep Dive into the "Failed to Receive Result from Plugin" Macro Error
(iOS En) Demystifying Sobel Operators & Edge Detection
(iOS En) SwiftUI Fundamentals - FULL COURSE
(iOS En) How To Preload Relationship Into SwiftData ModelContainer
(iOS En) Selection and PieCharts in iOS 17
(And En) Now in Android: 90 - Android brand, ART updates, Dagger KSP, and more
(And En) Google Play Store Listing Certificate Study Guide
(And En) THIS New Tool Strongly Speeds Up Your Gradle Builds
(And En) Don't Make THIS Mistake With Room & Databases on Android
(And En) Step-by-Step Guide to Screenshot Testing in Android
(Crs En) Building a Gmail-Like Email App with Flutter and Python Backend
(Dev Ru) Ozon Tech Community Mobile Meetup
(Dev Ru) Новая Зеландия: как живут разработчики в стране хоббитов
(Dev Ru) Podlodka #336: на чем программируют ученые
(Dsg En) UI Design a Travel App in Figma from scratch

Посмотрите, поделитесь, поставьте 👍 этому посту и он будет больше продвигаться в ленте Телеграма. А если вы увидели/выпустили какое-то другое интересное видео - отправьте боту🧑🏻‍💻
👍1
UI Examples - в этом репозитории вы найдете коллекцию небольших сниппетов, которые вы можете свободно использовать и интегрировать в свои проекты. Эти маленькие улучшения UI были тщательно продуманы, чтобы сэкономить ваше время и усилия в разработке. Всего в библиотеке 3 сниппета - красивая кнопка, экран запроса доступа к галерее с объяснением, экран запроса доступа к разрешениям.

UI Examples на GitHub: https://github.com/UIXaker/UIExamples
Платформа: iOS
⭐️: 5
Ускоряем поиск по коду в Android Studio

Рассмотрим возможности Android Studio, позволяющие быстрее ориентироваться в коде: находить нужные фрагменты и выявлять связи между ними.

Статья: https://habr.com/ru/companies/ozontech/articles/759480/
Платформа: Android
Enum в Swift: Перечисления Возможных Сценариев

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

Статья: https://habr.com/ru/articles/759842/
Платформа: iOS
👍1
AAY-chart - библиотека содержит несколько компонентов для построения графиков в Android Native и Kotlin Multiplatform. В настоящее время поддерживаются платформы Desktop, Android и iOS.

AAY-chart на GitHub: https://github.com/TheChance101/AAY-chart
Платформа: Android/кроссплатформа
⭐️: 173
Шейдеры в iOS для начинающих

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

Давайте разбираться, что за чудо-код надо написать, как это подключить и как в целом погрузиться в тему. Начнём с простых градиентов, а закончим сложным примером «как в Air Drop на iOS 17».

Статья: https://habr.com/ru/companies/dododev/articles/759574/
Платформа: iOS