AppFiles - Mobile Development – Telegram
AppFiles - Mobile Development
2.12K subscribers
2.76K photos
38 videos
11 files
3.69K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Продолжаем изучать Jetpack Compose. ComposeSlackDesktop - демо-версия Slack, написанная на Jetpack Compose и Kotlin.

Исходники: https://github.com/vipulasri/ComposeSlackDesktop

Документация Compose for Desktop: https://www.jetbrains.com/lp/compose/

Начинаем работу с Jetpack Compose: https://apptractor.ru/info/articles/jetpack-compose-1.html
This media is not supported in your browser
VIEW IN TELEGRAM
ToastUI - простой способ показывать “тосты”, предупреждения, индикаторы загрузки или любой другой контент поверх экранов SwiftUI.

Библиотека: https://github.com/quanshousio/ToastUI
Fast Shopping - простой список покупок. Не содержит рекламы, нет голосового ввода, нет курсов валют или бюджетирования. Простое приложение для работы.

Исходники: https://github.com/Albert221/FastShopping
В пятницу не могу не поделиться красотой - трассировка лучей (ray tracing) на С++ в ASCII.

Видео: https://youtu.be/QkETiyYWh2o

Исходники: https://github.com/DinoZ1729/Ray

У этого же автора есть не менее красивое видео - симуляция столкновения галактик: https://www.youtube.com/watch?v=x62gOfZ9hCw
Bouncy - отскок для RecyclerView и NestedScrollView ̶(̶к̶а̶к̶ ̶в̶ ̶б̶о̶г̶о̶м̶е̶р̶з̶к̶о̶м̶ ̶i̶O̶S̶)̶, плюс drag&drop и свайпы.

Библиотека: https://github.com/Valkriaine/bouncy
Wyler - легковесная библиотека, написанная на Swift, которая организует процесс записи происходящего на экране на iOS. Можно записывать видео своего приложения и сохранять их в библиотеку.

Исходники: https://github.com/toupper/Wyler
This media is not supported in your browser
VIEW IN TELEGRAM
GaugeProgressView - индикатор прогресса в виде спидометра. Меняется практически все - цвета, толщина, начальное и конечное положение, шрифты и т.п.

Исходники: https://github.com/edgar-zigis/GaugeProgressView
Поиск ошибок в небезопасном и уязвимом приложении для Android

DIVA (Damn Insecure Vulnerable App, Чертовски Небезопасное Уязвимое Приложение) - это уязвимое приложение, предназначенное для ознакомления с самыми распространенными уязвимостями, которые можно найти в приложениях для Android. Эта статья проведет вас через обнаружение некоторых из этих уязвимостей - небезопасный вход, прописывание ключей безопасности в коде, небезопасное хранение данных, проблемы с проверкой введенных данных, с разграничением доступа.

Платформа: Android
Medium: 👏 130
Как создать коллекцию карт в стиле Revolut

Эта статья призвана помочь вам понять, как кастомизировать UICollectionView, создав подкласс UICollectionViewFlowLayout.

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

Платформа: iOS
Medium: 👏 68
MortyUI - простое приложение про “Рика и Морти”, демонстрирующее работу GraphQL со SwiftUI. Вы можете просматривать персонажей, эпизоды и (скоро) локации.

Исходники: https://github.com/bitrise-io/apm-ios-test-mortyUI
This media is not supported in your browser
VIEW IN TELEGRAM
Интеграция SpriteKit в iOS-приложение

Простое соединение SpriteKit и UIKit и добавление потрясающих анимаций SpriteKit в приложение на основе сторибордов.

Платформа: iOS
Medium: 👏 114
9 любимых расширений Android KTX

Расширения Kotlin позволяют нам расширять некоторые классы новыми функциями - в результате мы получаем более чистый и простой код. Это так здорово, что некоторые из распространенных расширений Android Kotlin включены в проект Android KTX, и они находятся всего в одной зависимости от нас. В этой статье рассматриваются различные интересные расширения Android KTX.

Платформа: Android
Как мы просто сократили объем входящего в дата-центр трафика на 70%

Статья от FunCorp о применении сжатии к исходящим от устройств аналитическим событиям, в результате чего объем трафика снизился на 70%.

Платформа: iOS/Android
Habr: ⬆️ 88
Condensation - распределенная база данных общего назначения со сквозной безопасностью. Пока есть версия для Android, версия для iOS планируется в конце года.

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

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

Сайт: https://condensationdb.com/
Auxio - это локальный музыкальный проигрыватель, простой, понятный и настраиваемый. У него быстрый и надежный UI/UX, и в нем нет бесполезных функций. Короче говоря, просто играет музыку. В отличие от других музыкальных плееров, Auxio основан на ExoPlayer, что обеспечивает гораздо лучший опыт прослушивания по сравнению с собственным MediaPlayer API. Код Auxio также легко расширяем, что позволяет добавлять функции, которые не включены в основное приложение.

Платформа: Android
GitHub: https://github.com/OxygenCobalt/Auxio
⭐️: 0
Простой, умный алгоритм поиска для iOS на Swift

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

Платформа: iOS
Medium: 👏 235
Чем различаются Dagger, Hilt и Koin

В этом видео (есть и статья) Паулина объясняет, чем различаются Dagger, Koin и Hilt, и каковы последствия этих различий. Рассматривается время сборки, производительность во время выполнения и обработка ошибок. Вы также узнаете, почему говорят, что Koin построен на основе Service Locator, а не в шаблоне внедрения зависимостей.

Платформа: Android
YouTube: 👍: 47
Medium: 👏 257
PermissionsSwiftUI отображает и обрабатывает разрешения в SwiftUI. Пользовательский интерфейс легко настраивается и напоминает стиль Apple. Работает с 12 разрешениями, есть дефолтные определения и иконки, но можно все сделать и свое. Доступно через Swift Package Manager.

Платформа: iOS
GitHub: https://github.com/jevonmao/PermissionsSwiftUI
⭐️: 98
Уроки самой страшной дизайн-катастрофы в американской истории

Не про код, но про важность UI/UX:

Проблемы начались с пульта управления реактором, который после засорения системы охлаждения станции загорелся шквалом сигнальных ламп и загудел хором звуковых сигналов. Одновременно зажглись буквально сотни сигналов и огней. Операторы поспешили их выключить, пытаясь разобраться в проблеме. Их начал накрывать туман замешательства. Они не могли понять, что происходит?! Сама панель не давала четкого представления о работе АЭС, бессмысленно группируя кусочки информации. Например, панель, показывающая утечки реактора, была рядом с панелью, сообщающей о проблемах лифта. Позже следователи обнаружили, что красные огни на панели управления могли означать четырнадцать разных вещей, плохих и хороших.

Платформа: ядерный реактор
Советы по реализации темного режима в iOS

Уже прошло достаточно времени с момента появления темного режима в iOS 13, и много было написано о динамических цветах, наборах цветов, динамических изображениях/материалах и других инструментах для поддержки этой новой функции. В этой статье автор, столкнувшись с некоторыми проблемами, погружается в возможности UIKit, которые могут быть полезны при реализации темной темы.

Платформа: iOS
Medium: 👏 325
Expenso - простое приложение для контроля расходов, созданное для демонстрации современных компонентов и MVVM архитектуры.

В Android-версии внутри: Kotlin, корутины, Android Architecture Components (Stateflow, Flow, ViewModel, Room, Jetpack Navigation, DataStore), Material Components for Android.

В iOS все попроще - SwiftUI и CoreData.

Платформа: iOS/Android
GitHub: https://github.com/Spikeysanju/Expenso
⭐️: 180