AppFiles - Mobile Development
1.99K subscribers
2.53K photos
33 videos
8 files
3.41K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Читатели пишут: Wizard Camera - приложение камеры, которое позволяет добавлять забавные эффекты. Работает на Camera 2 API и OpenGL ES.

Исходники: https://github.com/AlShevelev/WizardCamera
Actions Builder и Actions SDK позволяют разрабатывать, тестировать и развертывать диалоговые Экшены. Actions Builder предоставляет графический интерфейс пользователя, чтобы помочь дизайнерам быстрее создавать прототипы, а Actions SDK позволяет разработчикам работать над проектом локально, в файловой структуре, и продолжать создавать новые функции, используя свои любимые средства разработки и контроль версий. Вместе эти инструменты обеспечивают бесшовную среду, помогающую вам создавать насыщенные диалоги.

О работе с этими инструментами и том, как создавать Экшены для Google Assistant - в серии этих видео: https://www.youtube.com/playlist?list=PLOU2XLYxmsIJ5qQKAYt45zZNMU9h1Grpm
Если вам мало новых архитектур, то вот RainbowCake - фреймворк для создания современных Android-приложений на основе Jetpack.

Основные задачи:

• Дать руководство по всем аспектам работы приложения, не только по архитектуре View
• Четко разделить проблемы между различными слоями и компонентами
• Всегда держать представления в безопасном и согласованном состоянии с ViewModels
• Изящно обрабатывать изменения конфигурации (и даже смерть процесса)
• Сделать выгрузку в фоновые потоки тривиальной.

Статья: https://zsmb.co/introducing-rainbowcake/

Исходники: https://github.com/rainbowcake/rainbowcake
Fluent System Icons - набор мобильных иконок для iOS и Android от Microsoft.

Библиотека: https://github.com/microsoft/fluentui-system-icons
Непонятно, почему Нью-Йорк, но тем не менее. NewYorkAlert - красивые современные настраиваемые алерты для iOS. Можно добавлять изображения, кнопки, поля ввода. Поддерживают темную тему.

Исходники: https://github.com/shiba1014/NewYorkAlert
GetStorage - самое быстрое и легковесное key-value хранилище в памяти, которое дополнительно сохраняет данные на диск при каждой операции. Написано на Dart, работает в Android, iOS, Web, Mac, Linux, Fuchsia и (скоро) Windows.

Библиотека: https://github.com/jonataslaw/get_storage
Antimine - Minesweeper - классический сапер для Android. С разным уровнем сложности, статистикой, сохранением результатов, поддержкой Android Wear OS, темной темы, App shortcuts, Split screen, Assessability и прочими модными функциями. Внутри Android SDK 29, AndroidX, Dagger Hilt, Room, Robolectric, корутины.

Исходники: https://github.com/lucasnlm/antimine-android
Swift Sunburst Diagram - простое создание диаграмм на основании дерева объектов, круговая диаграмма, только многоуровневая. Написано на SwiftUI, нужен Xcode 11+ и Swift 5.1+.

Исходники: https://github.com/lludo/SwiftSunburstDiagram
TextWriter - анимированное появление текста. Зачем такое может понадобиться на вскидку трудно представить, но выглядит, надо признать, очень красиво.

Исходники: https://github.com/sarnavakonar/TextWriter
Prism - приложение с обоями для Android, написанное на Dart и использующее Flutter. Обои берет с WallHaven и Pexels, поддерживает темный режим, данные хранит внутри и в Firebase.

Исходники: https://github.com/Hash-Studios/Prism
Передача файлов между macOS и Android или любыми другими MTP-устройствами всегда была трудным делом. Есть несколько приложений для передачи файлов, которые доступны онлайн, но большинство из них либо слишком дороги, либо обладают плохим интерфейсом/UX. Официальное приложение Android File Transfer для macOS от Google сделано с ошибками и неисчислимыми ограничениями. В большинстве других приложений для передачи файлов используется протокол WiFi или ADB, что чрезвычайно трудоемко.

Это простое приложение организует передачу файлов с macOS на устройства Android/MTP. Исходники его доступны на GitHub: https://github.com/ganeshrvel/openmtp
WWDC20 завершилась. Что появилось нового в этом году для юнит-тестирования? Давайте посмотрим на изменения, внесенные Apple в бета-версию Xcode 12, а также некоторые изменения в текущей версии Xcode.

Видео: https://www.youtube.com/watch?v=qKqFMBCxDV0

Статья: https://qualitycoding.org/wwdc20-unit-testing/
У Apple обновились две книги - Develop in Swift Fundamentals и Develop in Swift Explorations. Обе теперь ориентированы на Xcode 11, обе посвящены разработке на языке Swift, обе бесплатны. Первая больше погружена в разработку приложений, вторая больше просто о влиянии программирования на жизнь и решению повседневных задач.

Apple Education: https://books.apple.com/us/author/apple-education/id939801385
Можно многое сделать, пока Gradle завершит сборку проекта - жениться, научиться летать на самолете, собрать “Тысячелетнего сокола” из LEGO… Но его можно ускорить. Эта статья посвящена оптимизации скорости сборки Android-проектов.

Статья: https://www.crazylegend.dev/2020/07/optimize-build-speeds-for-your-android.html
Diaguard - открытое приложение для людей с диабетом. Помогает вести дневник и отслеживать уровень сахара в крови.

Исходники: https://github.com/Faltenreich/Diaguard

Приложение: https://play.google.com/store/apps/details?id=com.faltenreich.diaguard
Руководство по созданию iOS-приложения, умеющего распознавать дорожные знаки. Оно основано на собственном сервисе MakeML, но подход применим и ко всем остальным подобным платформам, например, к тому же CreateML.

Статья: https://makeml.app/road-signs-detection-tutorial
This media is not supported in your browser
VIEW IN TELEGRAM
SortableTableView - TableView для Android с возможностью сортировки по разным столбцам. Интересна даже не сама таблица, а монетизация open source проекта - автор предлагает PRO-версию с дополнительным функционалом (поиск, пейджинг, документация! и т.п.) за 15 долларов.

Исходники: https://github.com/ISchwarz23/SortableTableView
Понимание того, что делают пользователи, позволит вашим приложениям интуитивно адаптироваться к этим действиям. А для некоторых приложений вообще может быть очень полезно определять, когда пользователь начинает или останавливает определенную активность. Например, фитнес-приложение может запускать музыку в фоновом режиме, если пользователь начинает бег, или оно может автоматически начинать рассчитывать количество сожженных калорий с этого момента.

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

Для этого используется Activity Recognition Transition API. Эта библиотека считывает данные с доступных датчиков устройства (гироскоп, акселерометр и т.д.) для выявления изменений в активности пользователя.

Статья: https://heartbeat.fritz.ai/detect-users-activity-in-android-using-activity-transition-api-f718c844efb2
This media is not supported in your browser
VIEW IN TELEGRAM
PullUpController - выдвижное меню с несколькими точками фиксации, как в оригинальных Картах на iOS.

Исходники: https://github.com/MarioIannotta/PullUpController
WWDC 2020 давно закончиалсь, а мы продолжаем разгребать новинки конференции. В этой статье 10 примеров кода (5 строчек максимум!), показывающих реализацию каких-либо новых функций в iOS 14. Это:

1. SKOverlay - оверлей с предложением установить приложение.
2. Configurations - API для определения контента и вида View и ячеек.
3. Список в Collection View - в iOS 14 коллекция может быть таблицей.
4. Точная Location - запрос прав на точное определение координат в Core Location.
5. Запрос на отслеживание - теперь необходимо запрашивать права.
6. Действия для контролов - нет больше selector, есть action.
7. Меню из кнопок - каждая кнопка теперь может просто показывать меню.
8. UIColorPickerViewController - простой выбор цвета.
9. UIPageControl и UIDatePicker - обновленные элементы.
10. Mac идиома - для понимания того, что приложение работает на Mac.

Весь код: https://medium.com/swlh/10-code-snippets-from-wwdc20-5dba158e2903