AppFiles - Mobile Development
2.01K subscribers
2.56K photos
33 videos
8 files
3.45K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Ivy Wallet - трекер расходов, который заменит старую добрую электронную таблицу для управления вашими личными финансами. Главным преимуществом Ivy Wallet является его UI/UX, простота и настраиваемость. Внутри Ivy Wallet - открытое приложение для Android, написанное 100% на Jetpack Compose и Kotlin. В нем также используются корутины, Kotlin Flow, Hilt (DI), Jetpack Compose Navigation, ArrowKt, DataStore и Room DB, Timber,
Firebase Crashlytics и другие инструменты.

Ivy Wallet на GitHub: https://github.com/Ivy-Apps/ivy-wallett
Платформа: Android
⭐️: 1.4K
🔥1
Месячная заруба с Apple. Встраиваем On-Demand Resources. Часть 1 + Рефакторим бридж. Часть 2

Поведаю вам историю в двух частях о том, как мы боролись с модерацией Apple на протяжении месяца, победили их, но всё равно решили играть по их правилам. В первой части я дам вам предысторию и способ внедрения On-Demand Resources. Во второй статье поговорим о том, как эти ресурсы связать с WKWebView и не сойти с ума.

Статья 1: https://habr.com/ru/articles/700650/
Статья 2: https://habr.com/ru/articles/757408/
Платформа: iOS
Бесплатный курс «LangChain: чат с вашими данными»

«LangChain: чат с вашими данными» — это новый бесплатный краткий курс Харрисона Чейза, генерального директора LangChain, в котором он рассказывает о том, как использовать LLM для общения с вашими собственными данными. Курс, рассчитанный примерно на час, размещен на платформе Deeplearning AI Эндрю Нг.

Про курс: https://apptractor.ru/learn/besplatnyy-kurs-langchain-chat-s-vashimi-dannymi.html
Платформа: ИИ
Как повысить яркость экрана в Android-приложении без запроса разрешения

Я хотел сделать экран в своем приложении ярче, но во всех статьях говорилось, что для этого нужны разрешения Android. Неправда! Вот как это можно реализовать.

Статья: https://apptractor.ru/info/articles/kak-povysit-yarkost-ekrana-v-android-prilozhenii-bez-zaprosa-razresheniya.html
Платформа: Android
🔥1
Compose Multiplatform 1.5.0

С сегодняшнего дня доступна версия Compose Multiplatform 1.5.0. Он представляет собой декларативный UI-фреймворк Jetpack Compose для Kotlin и расширяет его за пределы Android на десктоп, iOS и веб. Версия для настольных компьютеров стабильна, для iOS находится в стадии Alpha, а поддержка web-версии является экспериментальной.

В этом выпуске представлены следующие основные моменты:

• API Dialog, Popup и WindowInsets теперь находятся в общем коде.
• На iOS улучшена прокрутка, управление ресурсами и текстовыми полями.
• На десктопах стабилизирован фреймворк тестирования UI.

Новость: https://blog.jetbrains.com/kotlin/2023/08/compose-multiplatform-1-5-0-release/
Платформа: кроссплатформа
Rx - это общая абстракция вычислений, выраженная через интерфейс Observable<Element>, позволяющая транслировать и подписываться на значения и другие события из потока Observable.

RxSwift - это специфическая для Swift реализация стандарта Reactive Extensions.

Как и другие реализации Rx, RxSwift призван обеспечить легкую композицию асинхронных операций и потоков данных в виде объектов Observable и набора методов для преобразования и компоновки этих фрагментов асинхронной работы. Наблюдения KVO, асинхронные операции, события UI и другие потоки данных объединяются под абстракцией последовательности. Именно поэтому Rx так прост, элегантен и мощен.

Требования:

• Xcode 12.x
• Swift 5.x

RxSwift на GitHub: https://github.com/ReactiveX/RxSwift
Платформа: iOS
⭐️: 23.5K
Начинаем работу с StoreKit 2

StoreKit предоставляет нам возможность получать доход от наших приложений. Фреймворк позволяет настроить непрерывный поток оформления покупок и подписок в приложении. StoreKit 2 представляет современный API на базе Swift для создания типобезопасных покупок.

Статья: https://apptractor.ru/info/articles/ovladevaem-storekit-2.html
Платформа: iOS
Новый взгляд на аналитику ошибок в production, или работающая альтернатива Crashlytics

Tracer — модульный инструмент для аналитики ошибок в мобильных приложениях от OK.Tech, технической команды ОК, который можно настроить под определенную задачу и который может решать конкретные проблемы.

Статья: https://habr.com/ru/companies/vk/articles/757416/
Платформа: Android
RemoteCam - камера для Android, транслируемая на рабочий стол (аналог Droidcam). Бесплатно, без рекламы, с открытым исходным кодом. Приложение позволяет пользователю выбрать сенсор и разрешение. После этого оно захватывает каждый кадр в формате JPEG и передает его на подключенный http-клиент в виде потока MJPEG.

RemoteCam на GitHub: https://github.com/Ruddle/RemoteCam
Платформа: Android
⭐️: 239
Не дадим Windows Phone умереть! Как я написал свои клиенты VK, YouTube для Nokia Lumia

Сегодня вы узнаете о моей мотивации привносить жизнь старым смартфонам, о тонкостях разработки мобильных приложений, чем Windiows Phone был на голову выше Android в техническом плане и о том, почему провал Windows Phone — одна из самых больших потерь мобильного рынка. Интересно?

Статья: https://habr.com/ru/companies/timeweb/articles/757050/
Платформа: разработка
💩5
Technotes 3154: SwiftUI navigation split view

Использование раздельного представления навигации позволяет включить двух- и трехколоночную навигацию в приложении SwiftUI, сохранив при этом совместимость с более ранними версиями ОС.

Статья: https://developer.apple.com/documentation/technotes/tn3154-adopting-swiftui-navigation-split-view
Платформа: iOS
Что такое Kotlin Symbol Processing (KSP)

В Dagger появилась поддержка KSP и самое время разобраться, что же это такое. Kotlin Symbol Processing (KSP) — это упрощенный API для создания плагинов к компиляторам, который позволяет использовать возможности Kotlin, сохраняя при этом минимальную кривую обучения. По сравнению с KAPT процессоры аннотаций, использующие KSP, могут работать в 2 раза быстрее.

Статья: https://apptractor.ru/info/articles/ksp.html
Платформа: Android
2
Инженеры AvitoTech разработали инструмент для ускорения автотестов мобильных приложений. Знакомьтесь, Emcee.

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

Можно попробовать бесплатно или сразу разогнать тестирование на полную мощность. Больше подробностей — в официальном канале Emcee.

Подписывайтесь!

Реклама ООО "Авито Тех", ИНН 9710089440
erid: LdtCK4J7b
Продолжаем осваивать StoreKit 2

Осваиваем StoreKit 2
ProductView и StoreView в SwiftUI
SubscriptionStoreView в SwiftUI

Платформа: iOS
👍1
Crush - библиотека, расширяющая возможности CoreData за счет обеспечения большей безопасности типов и интуитивно понятной функциональности.

Crush на GitHub: https://github.com/ezoushen/Crush
Платформа: iOS
⭐️: 24
Видео и подкасты за неделю:

(iOS Ru) Простая анимация для всплывающего окна
(iOS Ru) Как мы делали новую iOS-камеру ВКонтакте и VK Клипов
(iOS Ru) Показываем красивое с помощью видеоредактора в VK Клипах на iOS
(iOS En) SwiftUI Animated Tab Icons - Animated SF Symbols
(iOS En) Build Switcher: Local Build Caching for Xcode
(iOS En) How to Save and Manage Data with Core Data in Swift
(iOS En) Using @_exported attribute for Simplified Module Imports
(iOS En) Enhancements to ScrollView in iOS 17
(And Ru) Кодогенерация. KAPT. KSP. Manual DI
(And Ru) Android-разработчик: Middle за 1 год в Казахстане
(And En) Full Guide to Manual Dependency Injection + Removing Dagger
(And En) How to create an advanced text validation with Combine
(And En) Using the Gradle Version Catalog in Android projects
(Dev Ru) VR: как это работает
(Dev Ru) Podlodka #334: стартап-акселераторы
(Dev Ru) Мобильные виджеты
(Dev Ru) 5 проектов выходного дня, которые значительно повысят ваши навыки кодинга
(Dev Ru) Почему стоит вкладываться в опенсорс
(Mrk Ru) Как правильно выстроить монетизацию в первую сессию пользователя

Посмотрели/выпустили какое-то другое интересное видео? Отправьте боту🧑🏻‍💻
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