AppFiles - Mobile Development – Telegram
AppFiles - Mobile Development
2.12K subscribers
2.76K photos
38 videos
11 files
3.69K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Работа в Apple - мечта многих разработчиков, но подготовка к кодинг-интервью - непростая задача. Чтобы облегчить вам жизнь, в этой статье собрали 30 самых популярных вопросов для собеседований, которые вы можете ожидать во время технического собеседования с Apple.

Начинают с обзора самого процесса собеседования разработчиков в Apple, а затем разбираю основные вопросы на интервью и подробные решения с кодом и оценкой сложности. В данном случае решения предлагаются на C++.

Статья на английском: https://betterprogramming.pub/top-30-apple-coding-interview-questions-with-solutions-19990071ebfc
Платформа: программирование
👋: 345
Вчера у нас были градиенты для iOS, а сегодня Holi - цвета, градиенты и работа с цветом на Jetpack Compose. Предоставляет готовые палитры, упрощает создание градиентов и работу с цветами.

GitHub: https://github.com/patilsiddhesh/Holi
Платформа: Android
⭐️: 88
Сегодня Google представил открытую бета-версию Lyra - аудиокодека, который использует машинное обучение для создания высококачественных голосовых вызовов. Код и демонстрация, доступные на GitHub, сжимают необработанный звук до 3 килобит в секунду с «качеством, которое выгодно отличается от других кодеков», - говорит Google.

Код Lyra написан на C++ с использованием фреймворка Bazel. Базовый API предоставляет интерфейс для кодирования и декодирования на уровне файлов и пакетов, а также предоставляется полный набор инструментов для обработки сигналов, который включает фильтры, а также преобразования. Пример кода Google интегрируется с Android NDK, чтобы показать, как Lyra может работать с приложениями Android на базе Java, и Google также предоставил весовые и векторные квантователи, необходимые для запуска Lyra.

GitHub: https://github.com/google/lyra
Платформа: программирование
⭐️: 460
Hive - полноценная игра “Улей” для iOS, написанная на SwiftUI, SpriteKit и ARKit. Реализует игру с компьютером или мультиплеерную. Для последнего нужен собственный сервер, который тоже есть в комплекте.

GitHub: https://github.com/autoreleasefool/hive-for-ios
Платформа: iOS
⭐️: 12
Google объявил, что конференция разработчиков I/O состоится в этом году в виде виртуального мероприятия. Мероприятие пройдет с 18 по 20 мая. Веб-сайт Google I/O 2021 уже запущен, и разработчики могут зарегистрироваться для участия в мероприятии. По словам генерального директора Google Сундара Пичаи, в этом году мероприятие будет бесплатным для всех. Технические сессии и основные доклады будут доступны после их первого эфира, в то время как регистрация требуется для воркшопов и митапов.
WorkManager - полезный и важный компонент Android Jetpack. Он позволяет приложению делать что-то в фоновом режиме, даже когда приложение закрыто или устройство перезагружено.

WorkManager также имеет много преимуществ перед своими предшественниками. Например, он бережно относится к батарее, позволяет вам определять условия для выполнения вашей задачи, такие как, например, наличие соединения Wi-Fi, в нем можно настроить условия повторения и интегрироваться с Coroutines и RxJava.

В этом руководстве вы создадите WorkManagerApp. Приложение загружает изображение по URL-адресу и сохраняет изображение на устройстве в фоновом режиме. В процессе вы:

• Разберетесь с основами WorkManager
• С созданием разных воркеров и запросах о ходе работы
• С типами инициализации WorkManager
• Сделаете тестирование ваших рабочих

Руководство на английском: https://www.raywenderlich.com/20689637-scheduling-tasks-with-android-workmanager
Платформа: Android
Оценка: 5/5
This media is not supported in your browser
VIEW IN TELEGRAM
Switch Snake - знаменитая “змейка” из переключателей, только для Android. Сделано на Compose Desktop.

GitHub: https://github.com/theapache64/switch-snake
Платформа: Android
⭐️: 73
Google анонсировал релиз Android 12 и уже выпустил две документации Developer preview. Изменений довольно много, поэтому в «Лаборатория Касперского» решили рассказать о самых главных и интересных из них, которые затронут большую часть мобильных приложений. Кроме того разработчики компании расскажут о сложностях, с которыми вы можете столкнуться при миграции, и поделятся рекомендациями Google, как сделать переход на Android 12 приятным и безболезненным.

Статья на русском: https://habr.com/ru/company/kaspersky/blog/550370/
Платформа: Android
⬆️: +4
Работа с Bluetooth в iOS

Все знают про технологию Bluetooth, но не у всех доходили руки ее поковырять. Олег Соловьев из питерского офиса Redmadrobot рассказал, что это такое и как с этим работать.

Видео на русском: https://apptractor.ru/develop/rabota-s-bluetooth-v-ios.html
Платформа: iOS
👍: 3
This media is not supported in your browser
VIEW IN TELEGRAM
Вот уж кажется именно проект ради проекта, но пройти мимо такого невозможно. 3D Flip menu - переворачивающееся меню на Swift.

GitHub: https://github.com/RefactorDotSwift/3d-Flip-menu
Платформа: iOS
⭐️: 14
Github Actions: автоматизация рабочих процессов сборки и релиза в Android

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

Статья на английском: https://medium.com/simform-engineering/github-actions-automize-your-android-build-release-workflow-1252b6f1461a
Платформа: Android
👋: 404
Еще статья про Github Actions на русском
BlurShadowImageView - эта библиотека делает для ImageView размытые тени, как в Music на iOS.

GitHub: https://github.com/virtualvivek/BlurShadowImageView
Платформа: Android
⭐️: 85
Полезный фреймворк для именования ваших классов, функций и переменных

Называть вещи сложно! В этой статье мы попытаемся сосредоточиться на методе именования A/HC/LC, который может улучшить читаемость кода.

Статья на русском: https://apptractor.ru/info/articles/name-it.html
Платформа: программирование
👋: 986
FDWaveformView - это простой способ отображения звуковой волны в вашем приложении. Это наглядная визуализация звука, которую можно показывать при воспроизведении аудиофайлов или использовать для выбора позиции в файле.

GitHub: https://github.com/fulldecent/FDWaveformView
Платформа: iOS
⭐️: 1К
Android Tool - мощная и красивая программа, созданная для упрощения использования adb и fastboot. Темная тема, интуитивно понятный интерфейс и другие функции: пакетная установка APK, включение и выключение системных приложений, очистка данных приложения, получение логов с устройства и т.д.

GitHub: https://github.com/fast-geek/Android-Tool
Платформа: Android
⭐️: 30
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