AppFiles - Mobile Development
1.99K subscribers
2.53K photos
33 videos
8 files
3.41K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
CollectionViewPagingLayout - простой, но мощный фреймворк, который позволяет создавать сложные макеты для вашего UICollectionView. Реализация его довольно проста - это кастомный UICollectionViewLayout, который дает вам возможность применять преобразования к ячейкам. Никакого наследования UICollectionView или чего-то подобного.

GitHub: https://github.com/amirdew/CollectionViewPagingLayout
Платформа: iOS
⭐️: 1К
Dads - папины шутки как пример реализации лучших подходов к Android-разработке. Внутри огромный стек: корутины, Dagger Hilt, DataStore, Flow, Room, WorkManager, Lottie, GraphQL и прочие технологии и фреймворки на несколько страниц перечислений.

GitHub: https://github.com/ErickSumargo/Dads
Платформа: Android
⭐️: 123
SwiftShield - это инструмент, который генерирует случайные и необратимые зашифрованные имена для типов и методов вашего iOS-проекта (включая сторонние библиотеки). Он использует SourceKit от Apple, чтобы имитировать поведение индексации Xcode, показывая полную карту вашего проекта, которая используется для безопасного переименования его частей.

Реверсинжиниринг приложений iOS относительно прост из-за того, что почти каждый отдельный тип и имя метода представлены в двоичном файле приложения. Это позволяет инструментам взлома, таким как class-dump и Cycript, извлекать эту информацию и использовать ее для изменения поведения вашего приложения во время выполнения.

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

GitHub: https://github.com/rockbruno/swiftshield
Платформа: iOS
⭐️: 1.7К
Современный способ передачи данных между фрагментами

С компонентами Android Jetpack происходит много чего там и здесь. В настоящее время большинство разработчиков склонны использовать Single Activity архитектуру, поэтому взаимодействие между фрагментами становится более важным.

Есть несколько способов коммуникации между фрагментами. Например, с помощью Интерфейсов или общей ViewModel. Но иногда они несут дополнительные накладные расходы. В качестве альтернативы можно использовать setTargetFragment, но теперь он также устарел.

Итак, посмотрим на современный способ.

Статья на английском: https://proandroiddev.com/the-modern-way-to-pass-data-between-fragments-b305cabbf2f2
Платформа: Android
👋: 373
Login Template - полнофункциональный шаблон для регистрации в приложении на Jetpack Compose. Используется Jetpack Compose, Navigation Component и Firebase. Поддерживается вход по емейлу, с аккаунтом Google и телефонному номеру.

GitHub: https://github.com/ameencarpenter/login-template
Платформа: Android
⭐️: 10
Swift Memory Layout

Как работает memory layout в Swift? Амир Зигангараев провел свое расследование, рассказал и показал на практике, что ему удалось выяснить.

Видео на русском: https://apptractor.ru/info/media/swift-memory-layout.html
Платформа: iOS
👍: 7
RoundedProgressBar - “круглый” прогресс-бар с настраиваемым загруглением в углах, анимацией индикатора и текста, автоматической подстройкой под ориентацию устройства и и т.п.

GitHub: https://github.com/MackHartley/RoundedProgressBar
Платформа: Android
⭐️: 105
MJMaterialSwitch - переключатель в материальном дизайне для iOS.

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

GitHub: https://github.com/JaleelNazir/MJMaterialSwitch
Платформа: iOS
⭐️: 55
До конца мая бесплатно раздают книгу “Создание мобильных приложений в масштабе: 39 инженерных задач”. Содержание:

1. Мобайл другой
2. Большие приложения
3. Большие команды
4. Кроссплатформа
5. Развитие

Сайт: https://www.mobileatscale.com/
Горячие клавиши Xcode

Как разработчики, мы большую часть времени проводим в среде разработки - в частности, в Xcode. Цель этой статьи - поделиться знаниями со всеми iOS-инженерами и помочь им повысить скорость их работы.

Статья на английском: https://medium.com/simform-engineering/most-useful-xcode-shortcuts-7a0523b305d5
Платформа: iOS
👋: 659
Linkester - это библиотека для Android, цель которой - помочь разработчикам протестировать свою реализацию глубоких ссылок.

Идея состоит в том, чтобы иметь новое активити для вашего приложения (в отладочных сборках), в котором будут перечислены все глубокие ссылки, доступные в вашем приложении, по которым можно кликнуть и проверить их.

Плагин gradle соберет все глубокие ссылки в приложении, зарегистрированные для вашего приложения, и автоматически составит их список.

У вас также есть возможность перечислить некоторые ссылки вручную (например, наиболее часто используемые или некоторые ссылки с предопределенными параметрами запросов).

GitHub: https://github.com/mlegy/linkester
Платформа: Android
⭐️: 45
Как реализован экран с карточками заявок в друзья и рекомендациями в приложении ВКонтакте

Денис Загуменнов из команды ленты и рекомендаций ВКонтакте занимается новостной лентой, стеной, разделом «Рекомендации», записями, комментариями, VK Donut, подкастами и социальным графом. То есть всем, что касается потребления контента и взаимодействия с ним.

В этой статье он рассказывает о реализации нового экрана рекомендаций и заявок в друзья на Android-клиенте.

Статья на русском: https://habr.com/ru/company/vk/blog/553642/
Платформа: Android
⬆️: +7
GLWalkthrough - библиотека, для организации онбординга или помощи. Она подсвечивает определенные элементы UI и дает к ним подсказки. Можно настраивать тексты, кнопки переходов, подсвечивающиеся элементы.

GitHub: https://github.com/gokulgovind/GLWalkthrough
Платформа: iOS
⭐️: 10
Android ScreenshotDetection - библиотека определяет, что делается скриншот.

GitHub: https://github.com/akexorcist/ScreenshotDetection
Платформа: Android
⭐️: 63
10 SwiftUI-библиотек на 2021 год

SwiftUI действительно изменил то, как мы разрабатываем и думаем о приложениях для iOS. После дебюта на WWDC 2019, Apple пошла еще дальше, представив кучу новых представлений, оберток свойств и настраиваемых типов. Многие разработчики поддержали идею и создали несколько потрясающих библиотек, которые вы можете подключить и использовать в своих проектах.

Статья на русском: https://apptractor.ru/info/github/10-swiftui-bibliotek-2021.html
Статья на английском: https://betterprogramming.pub/10-swiftui-libraries-to-use-in-2021-d21c0384e619
Платформа: iOS
👋: 382
Android RecyclerView Swipe Gestures - простой в использовании обработчик жестов для RecyclerView. Понимает свайпы влево и вправо и соответственно меняет цвета, иконки и тексты в ячейках.

GitHub: https://github.com/WilliBoelke/simple-recycler-view-swipe-gestures
Платформа: Android
⭐️: 1
Йога глазами дата-сайентиста: как мы строили computer vision в мобильном приложении

Денис Соколов, руководитель R&D в Zenia Yoga, первого приложения для йоги на основе ИИ, рассказывает из чего состоит современная система, работающая с компьютерным зрением: как влияет каждый элемент пайплайна на конечный результат, который видит пользователь. Пошагово разбирается с созданием модели для human pose estimation и сравнивает ее с готовыми «коробочными» решениями от производителей мобильных платформ, а также открытыми аналогами.

Статья на русском: https://habr.com/ru/post/555162/
Платформа: машинное обучение
⬆️: +23
PasswordTextField - кастомный TextField для ввода пароля с иконкой, которая показывает или скрывает строку внутри. Работает через IB или программно, можно менять цвет, правила валидации паролей, сообщения об ошибках, правила показа иконки.

GitHub: https://github.com/PiXeL16/PasswordTextField
Платформа: iOS
⭐️: 292
KMMT : Kotlin Multiplatform Mobile Template - шаблон приложения с KMM, в котором часть кода делится между Android и iOS.

GitHub: https://github.com/jittya/KMMT
Платформа: KMM
⭐️: 49
TOCropViewController - открытый подкласс UIViewController для вырезания объектов в UIImage, а также для выполнения основных функций вращения. Библиотека (Objective-C) отлично подходит для таких вещей, как редактирование изображений в профиле или публикация частей фотографии. Она была разработана с оглядкой на редактор Photos, и поэтому ведет себя так, как должно быть знакомо пользователям iOS. Пишут, что TOCropViewController работает в приложениях Google, Discord, Tiktok, Adobe и прочих больших компаний.

Есть CropViewController - это оболочка Swift, которая полностью инкапсулирует TOCropViewController и предоставляет гораздо более нативный для Swift интерфейс.

GitHub: https://github.com/TimOliver/TOCropViewController
Платформа: iOS
⭐️: 4К