AppFiles - Mobile Development
1.99K subscribers
2.53K photos
33 videos
8 files
3.41K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Foodium - это Android-приложения о еде, созданное для демонстрации современных средств разработки. Оно загружает заметки из API и сохраняет их в SQLite. таким образом сообщения всегда загружаются из локальной базы данных, а удаленные и локальные данные синхронизируются. Внутри MVVM (Model View View-Model), Kotlin, корутины, Flow, Android Architecture Components, Dagger 2, Retrofit, Moshi, Moshi Converter, Coil-kt, Material Components for Android.

Исходники: https://github.com/PatilShreyas/Foodium
Handwritten Digit Recognition - iOS-приложение, которое распознает рукописные цифры. Написано на Swift, использует TensorFlow Lite с натренированной Keras базой.

Исходники: https://github.com/sevakon/handwritten-digit-recognition
Занятный редактор видео с 3D мокапами устройств и анимацией. Стоит он как маленький самолет, но выглядит очень занятно - загружаете в него скрины или подключаете iPhone, вращаете все в реальном времени и получаете видео или скриншоты с трехмерными сценами.

Сайт: https://www.rotato.xyz/
Читатели пишут: andColorPicker - удобный, гибкий и быстрый компонент для выбора цвета для Android.

Библиотека: https://github.com/side-codes/andColorPicker

Если у вас есть свои любимые компоненты или open source проекты - присылайте @lbogolubov.
Собственно очередная разработка, предназначение которой понятно из названия. SwiftUIAuthenticationCompleted - готовый проект на SwiftUI с Firebase-аутентификацией. Поддерживает Sign in with Apple.

Исходники: https://github.com/alfianlosari/SwiftUIAuthenticationCompleted
Продвинутое руководство, в котором рассказывается, как создать расширяющееся представление для ScrollView, аналогичное тому, которое есть на вкладке «Сегодня» в App Store.

Видео: https://youtu.be/wOQWAzsKi4U
Android Sunflower - справочник садовода, а заодно демонстрация лучших практики разработки приложений с Android Jetpack.

Статья: https://medium.com/androiddevelopers/introducing-android-sunflower-e421b43fe0c2

Приложение: https://github.com/android/sunflower
TelegramSwift - официальный клиент Telegram для macOS на Swift 5.0. В этом репозитории исходники официального клиента.

Исходники: https://github.com/overtake/TelegramSwift
BL Taxi - приложение для вызова такси, как всегда демонстрирующее лучшие практики современной Android-разработки:

• 100% Kotlin
• Современная архитектура (Clean Architecture, Multi-Module setup,MVVM)
• Android Jetpack
• Single-activity architecture через компонент Navigation
• CI pipeline (Bitrise)
• Тестирование (Jacoco для покрытия тестами)
• Инъекция зависимостей
• Material Design (темная тема)

Исходники: https://github.com/VladimirWrites/BLTaxi
Возвращаемся к нашим любимым библиотекам! StickyTabBarViewController - сворачиваемый и расширяемый View Controller поверх таб бара.

Исходники: https://github.com/emrepun/StickyTabBarViewController
WhatsApp Bot - приложение для Android, автоматически отвечающее на определенные сообщения. Вы задаете шаблоны предполагаемых входящих сообщений, ваш ответ на них, сохраняете все в Realm DB и при появлении уведомления сообщение анализируется, и если в БД есть какой-либо ответ, то бот сам отправляет его человеку. Сейчас бот работает только с WhatsApp, но, как говорит автор, вы легко можете изменить имя пакета с com.whatsapp на telegram, signal и отвечать в любой другой мессенджер.

Исходники: https://github.com/suyashm002/watsappp_bot
Playbook - фреймворк, который предоставляет «песочницу» для создания UI-компонентов, не беспокоясь о зависимостях, специфичных для конкретного приложения. Это не только позволяет быстро разрабатывать пользовательские интерфейсы, но также облегчает отделение бизнес-логики и обеспечивает более надежную архитектуру.

Проект на GitHub: https://github.com/playbook-ui/playbook-ios
Jetpack Compose переосмыслил то, как разрабатывается UI для Android-приложений, и внедрил принципы декларативного программирования в разработку интерфейсов. На него сильно влияют существующие веб и мобильные фреймворки, такие как React, Litho, Vue и Flutter.

В этом репозитории примеры использования Jetpack Compose для создания пользовательских интерфейсов. Каждый пример - автономные исходники, в которых пытаются объяснить отдельные концепции на работающих примерах.

Изучите: https://github.com/vinaygaba/Learn-Jetpack-Compose-By-Example
SimpleEngine - простой 2D игровой движок, который использует только storyboard и UIKit. Что-то сложное с ним, наверное, сделать будет трудно, но для тренировки или прототипов вполне подойдет.

Исходники: https://github.com/Abedalkareem/SimpleEngine
Красивая навигация по мотивам Google Bottom Navigation и Chips. Естественно, анимации, настройки, плюс может работать сбоку экрана, с бейджами.

Исходники: https://github.com/ismaeldivita/chip-navigation-bar
This media is not supported in your browser
VIEW IN TELEGRAM
CWRateKit - красивый диалог, запрашивающий оценку приложения от пользователей. Вряд ли можно использовать для App Store, так как это запрещено правилами Apple (хотя компания за этим, кажется, не очень-то и следит), но для внутренних исследований вполне подойдет.

Исходники: https://github.com/clockworkone/CWRateKit
Пример приложения для iOS и Android на Kotlin Multiplatform и MVVM.

Внутри:

• layered clean architecture
• DI (Kodein)
• coroutines
• livedata
• ktor
• serialization
• mockk
• detekt, ktlint
• unit tests and jacoco

Ссылка: https://github.com/kernel0x/kmpapp
TagsList - настраиваемый список тегов для iOS-приложения. Можно менять практически все - расстояние между тегами, показ картинок, наличие или отсутствие кнопки удаления, высоту ячеек и контента внутри.

Исходники: https://github.com/inomobile/tag-list
Тестирование подписок в App Store невероятно важно, но провести нормальные тесты всегда было очень сложно. Документация Apple традиционно практически отсутствует, а инструментами Apple никогда не славилась. Это руководство подробно расскажет вам о том, как протестировать работу подписок в iOS и сделать так, чтобы они работали надежно и правильно.

Руководство: https://www.revenuecat.com/blog/the-ultimate-guide-to-subscription-testing-on-ios
Библиотека для Android-приложения от нашего читателя. Blitz - устанавливает в TextView относительное время (например, "5 минут назад"). Киллер-фичей является автоматический апдейт строки со временем — по прошествии, скажем, минуты время обновится самостоятельно. Использование в одну строку кода.

Исходники: https://github.com/Perfomer/blitz