AppFiles - Mobile Development
2K subscribers
2.55K photos
33 videos
8 files
3.44K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Simple Stack - фреймворк навигации (backstack) для более простого управления состоянием приложения (для фрагментов, view или чего угодно). Девиз - “Предсказуемая и настраиваемая навигация в одном месте”.

Библиотека на GitHub: https://github.com/Zhuinden/simple-stack/
Платформа: Android
⭐️: 1.1К
Как я взломал приложение для Android, чтобы получить премиум-функцию

Иногда приложения пытаются использовать более простые пути и не следуют инструкциям и рекомендациям Google. Это означает, что иногда они отказываются от проверки ранее приобретенных элементов при запуске приложения, тем самым оставляя для любого злоумышленника дверь открытой. Делать что-то на устройстве — всегда плохая идея.

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

Перевод статьи: https://apptractor.ru/drdhck
Платформа: Android
👋: 540
Instant - разрабатываемая социальная сеть. Стек: Kotlin, Jetpack Compose, MVVM, Room, Koin, Firebase.

Проект на GitHub: https://github.com/EBfVince/Instant
Платформа: Android
⭐️: 3
Зачастую при локализации проектов в Xcode на создание и управление файлами Localizable.strings уходит много времени и сил. Localizable Generator - скрипт, который скачивает готовую электронную таблицу с переводами с Google Drive и парсит ее в Localizable.strings. Можно привязать запуск скрипта с созданию билда и так строки будут получаться автоматически.

Проект на GitHub: https://github.com/jrescabias/Localizable-Generator
Платформа: iOS
⭐️: 5
Трансляция Android Dev Summit 2021

Сегодня начинается Android Dev Summit 2021. Трансляция начнется 27 октября в 10:00 по тихоокеанскому времени с 50-минутной технической презентации The Android Show. После кейноута Google проведет более 30 технических сессий и интерактивных практик Android Code-Alongs. Подключайтесь, чтобы наблюдать за тем, как эксперты Android пишут код, решают проблемы и отвечают на ваши вопросы в режиме реального времени.

Вся программа есть на сайте Android Dev Summit.

Сайт: https://developer.android.com/dev-summit
Платформа: Android
Новые MacBook Pro 2021 протестировали в работе с Xcode

Лучшую производительность ожидаемо показал MacBook Pro 16" 2021 года с 32 Гб памяти и 10-ядерным процессором. Однако всего на несколько процентов от него отстает модель с 16 Гб памяти. Примерно на 10% хуже сработал MacBook Pro 14" 2021 с 8-ядерным процессором и 16 Гб памяти. Заметно медленнее (примерно на треть) работают компьютеры с предыдущим M1, а остальные Mac показывают производительность в разы хуже.

Тест: https://apptractor.ru/Xcdmrk
Платформа: iOS
Slack Lints - этот репозиторий содержит набор lint проверок для Android/Kotlin, которые использует Slack в своих кодовых базах.

Этот репозиторий фактически доступен только для чтения и не публикует артефакты в Maven Central. Slack разрабатываем их открыто, чтобы делиться знаниями с сообществом.

Таким образом, сама система проверок и отслеживания проблем в Slack закрыта, и обычно не принимает внешние PR, но компания приветствует вопросы в разделе обсуждения.

Проект на GitHub: https://github.com/slackhq/slack-lints
Платформа: Android
⭐️: 3
Как натянуть сыр на страницу, или MVI Paging3 в Android

Библиотека Paging3 упрощает работу с пагинацией. Она всё делает сама: вам не нужно заниматься ручной передачей данных по заветам популярных архитектур, таких как MVI, MVVM и MVP. Снаружи задумка кажется хорошей, но она может стать ложкой дёгтя в бочке мёда. Инструменты, взаимодействующие с общим состоянием (к таким относятся, например, средства отладки в фреймворке MVIKotlin), не смогут контактировать с Paging3. В статье покаpsdftncz, как решить эту проблему.

Статья: https://habr.com/ru/company/65apps/blog/585654/
Платформа: Android
⬆️: 0
This media is not supported in your browser
VIEW IN TELEGRAM
Linkedin UI SwiftUI - макет приложения Linkedin, сделанный на SwiftUI.

Проект на GitHub: https://github.com/MilanGotti/Linkedin-UI-SwiftUI
Платформа: iOS
⭐️: 5
APDynamicGrid - это пакет SwiftUI, который помогает создавать согласованные и анимированные сетки. Экран DynamicGrid сохраняет ширину, согласованно подстраивая последние элементы.

Проект на GitHub: https://github.com/antoniopantaleo/APDynamicGrid
Платформа: iOS
⭐️: 2
Протокольно-ориентированное программирование в Swift

Пингвин — это птица, но он не летает, как другие птицы. Все птицы ходят и летают, но пингвины плавают и ходят. Если мы наследуем класс птиц при создании Penguin, мы унаследуем функцию полета, не характерную для пингвина. Когда мы удалим функцию полета из класса птиц, мы удалим навык, который является общей чертой всех других птиц. Подход POP (протокольно-ориентированное программирование) появился как решение таких проблем.

Перевод статьи: https://apptractor.ru/popswft
Платформа: iOS
👋: 205
NewsFly - это современное новостное приложение для Android, которое включает практически ВСЕ новые и рекомендуемые средства и инструменты разработки для Android. Загибайте пальцы: MVVM, Flow и LiveData, DataBinding и ViewBinding, Navigation Component, Room и DataStore, Hilt, Pagination, Retrofit, Glide, работа в оффлайне через Remote Mediator (Pagination) и NetworkBound Resource, темный и светлый режимы.

Проект на GitHub: https://github.com/slackhq/slack-lints
Статья: https://apptractor.ru/NewsFly
Платформа: Android
⭐️: 59
Тестирование MacBook Pro с процессором M1 Pro в Android-разработке

Вы, вероятно, уже прочитали несметное количество отзывов про новые MacBook с процессором M1 Pro и знаете, что они поразительно быстры в тестах или что у них лучшее время автономной работы в своем классе, что в них вернули порт MagSafe, порт HDMI и устройство чтения SD-карт. Но подходят ли они для разработки под Android?

Перевод статьи: https://apptractor.ru/M1ProDrd
Платформа: Android
👋: 906
mocap4face от Facemoji - это бесплатный мультиплатформенный SDK для захвата движения лица в реальном времени на основе Facial Action Coding System (FACS). Он обеспечивает получение позиции головы и ее элементов в трехмерном пространстве с любой мобильной или веб-камеры, фото или видео, позволяя анимировать трехмерные аватары, цифровые персонажи и многое другое в реальном времени. С помощью mocap4face вы можете управлять живыми аватарами, создавать линзы в стиле Snapchat, работать с дополненной реальностью, создавать лицевые фильтры, запускающие действия, приложения VTubing и многое другое с минимальным энергопотреблением и использованием процессора.

Проект на GitHub: https://github.com/facemoji/mocap4face
Платформа: iOS/Android
⭐️: 34
Основы CI/CD

Основная цель любого программного проекта - зарабатывать деньги за счет автоматизации бизнес-процессов. Чем быстрее вы можете выпускать новые версии для клиентов, тем лучше для вашей компании. Но как быстро реализовать процесс релизов? Что ж, вы можете делать все вручную. Например, можно подключиться к удаленному серверу через SSH. Затем клонировать репозиторий с новым кодом, собрать его и запустить с помощью командной строки. Хотя это действительно работает, это неэффективный подход. Итак, сегодня мы обсуждаем автоматизацию выпуска продуктов и самого процесса разработки.

CI и CD - это два аббревиатуры, обозначающие непрерывную интеграцию (Continuous Integration) и непрерывную доставку (Continuous Delivery).

Перевод статьи: https://apptractor.ru/info/articles/ci-cd-2.html
Платформа: разработка
👋: 355
Figma2Android - плагин, который конвертирует макеты Figma в код Android Jetpack Compose.

Плагин: https://www.figma.com/community/plugin/1030354617366499719/Figma2Android
Проект нашего читателя. TFProfiler - профайлер нейронных моделей на смартфонах. Запуск нейронной модели на различных акселераторах (CPU, GPU, NNAPI, HEXAGON), оценка FPS, количества используемой памяти, времени инициализации модели.

Проект на GitHub: https://github.com/iglaweb/TFProfiler
Платформа: Android
⭐️: 18
This media is not supported in your browser
VIEW IN TELEGRAM
Rugby - CLI-инструмент, который кеширует все pod-зависимости и удаляет их целевые записи из проекта, пересобирая потом только изменения. Так ускоряется время сборки больших проектов и уменьшается размер.

Проект на GitHub: https://github.com/swiftyfinch/Rugby
Платформа: iOS
⭐️: 176
Приложения для iPhone могут многое рассказать о вас с помощью акселерометра

Немного алармистская статья, но начиная с iOS 15 доступ к акселерометру открыт для всех приложений. Данные акселерометра содержать в себя личную информацию о вас, которую любое приложение может легко раскрыть, применив правильный алгоритм.

Что можно узнать:

• Движение и деятельность
• Частота сердцебиения
• Частота дыхания
• Точное местоположение
• Проговариваемый текст (диктофон)

Перевод статьи: https://apptractor.ru/accrmtr
Платформа: iOS, но скорее в целом Технологии
This media is not supported in your browser
VIEW IN TELEGRAM
PasswordValidationView - UI-компонент, который наглядно проверяет стойкость вводимых паролей.

Библиотека на GitHub: https://github.com/kojofosu/PasswordValidationView
Платформа: Android
⭐️: 28
Взламываем ТВ-приставку, чтобы получить плацдарм для хакерских атак

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

Статья: https://habr.com/ru/company/bastion/blog/587108/
Платформа: Android
⬆️: +57