AppFiles - Mobile Development
2.01K subscribers
2.56K photos
33 videos
8 files
3.45K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Stipop SDK - более 270,000 стикеров (в том числе анимированных), которые можно просто и быстро интегрировать в чат, камеру, видео и т.п. приложения.

Библиотека для iOS: https://github.com/stipop-development/stipop-ios-sdk
Библиотека для Android: https://github.com/stipop-development/stipop-android-sdk
⭐️: 3
Реализация Unidirectional Data Flow в супераппе inDriver

Основная идея Unidirectional Data Flow заключается в том, чтобы данные в приложении двигались только в одном направлении: от модели приложения к UI, но не обратно. Если в UI что-то произошло, он никак не пытается интерпретировать эти события. Все, что делает Unidirectional Data Flow — отправляет события в модель, которая решает, как обновить состояние системы.

В такой схеме мы легко добиваемся того, чтобы данные, передаваемые в UI, были иммутабельными. UI получает на вход данные и отображает их, а если надо что-то изменить, UI отправляет событие (Action) в модель и ждет, когда к нему придут уже обновленные данные.

Статья: https://apptractor.ru/udfdr
Платформа: iOS
⬆️: 21
Kavsoft SwiftUI Animations - подборка анимаций для SwiftUI 2.0. Всего около 50 примеров с исходниками и видео.

Исходники на GitHub: https://github.com/recherst/kavsoft-swiftui-animations
Платформа: iOS
⭐️: 9
This media is not supported in your browser
VIEW IN TELEGRAM
Делаем Clubhouse для Android за 10 недель

В первый день в Clubhouse мне было поручено создать приложение для Android с нуля. Обычная задача.

Этот пост - краткий обзор моего опыта - каков был наш процесс, какие задачи мы решили и чему научились на этом пути.

Статья: https://blog.clubhouse.com/shipping-clubhouse-on-android-in-10-weeks/
Платформа: Android
Понимаем Gradle - серия видео и примеров. Вместо того, чтобы подробно объяснять каждую функцию, серия изначально нацелена на объяснение фундаментальных концепций и шаблонов. Она даст вам общее представление о том, как все работает в Gradle, и позволит структурировать ваш проект в удобочитаемом и поддерживаемом виде.

Видео: https://www.youtube.com/playlist?list=PLWQK2ZdV4Yl2k2OmC_gsjDpdIBTN0qqkE
Исходники: https://github.com/jjohannes/understanding-gradle
Платформа: Android
⭐️: 6
#ДатаДня: 256 день года - День Программиста. С праздником и хорошего кода 😀
Документируем код Kotlin с KDoc

Совсем простое введение в KDoc — язык написания документации для кода на Kotlin.

Перевод статьи: https://apptractor.ru/info/articles/kdoc.html
Платформа: Android
👋: 141
This media is not supported in your browser
VIEW IN TELEGRAM
GaugeSlider - круговой слайдер для приложения умного дома или любого другого применения. Настраиваются все цвета, шрифты, тексты, значения, иконки и т.п.

Исходники на GitHub: https://github.com/edgar-zigis/GaugeSlider
Платформа: iOS
⭐️: 98
Автоматическое распознавание букв и нахождение слов в игре Слово

Однажды я играл в игру "Слово", основная суть которой заключается в составлении слов из прилегающих друг к другу букв, которые даны на игровом поле 5 на 5. И ко мне пришла идея о создании программы, которая могла бы автоматически решать поставленную задачу. В итоге был реализован shortcut на iPhone, который совместно с дополнительными программами помогает находить слова.

Статья: https://apptractor.ru/slv
Платформа: iOS
⬆️: 8
Forwarded from Код Воробья для iOS разработчиков
Media is too big
VIEW IN TELEGRAM
Рашин адаптайшн
Автоматическое развертывание приложений для iOS с помощью Bitrise и Fastlane

В жизни каждого iOS-разработчика наступает время, когда все новые важные функции написаны, и новая сногсшибательная сборка должна быть отправлена QA-команде (или непосредственно клиенту).

Самый простой способ сделать это - использовать опцию Archive в Xcode, которая после определения профилей создаст файл IPA и отправит его на тестовые устройства.

Этот подход прост и подходит для небольших проектов, но требует много времени и постоянного повторения. Он также требует вашего внимания. В более крупных проектах постоянное архивирование и загрузка приложения будут только раздражать.

Автоматизация всего процесса сэкономит вам много времени.

Статья: https://apptractor.ru/BtrsFstln
Платформа: iOS
👋: 475
This media is not supported in your browser
VIEW IN TELEGRAM
SSCustomBottomNavigation - нижнее меню (bottom bar) с анимацией и поддержкой Jetpack Navigation. Настраиваются иконки, цвета, текст для элементов и бейджей, высота волны.

Библиотека на GitHub: https://github.com/SimformSolutionsPvtLtd/SSCustomBottomNavigation
Платформа: Android
⭐️: 201
Автоматизация повышения качество кода в Android

Современные мобильные приложения уже вполне серьезные Enterprise проекты, которые разрабатываются десятками, а то и сотнями разработчиков, содержат в себе тысячи строк кода и постоянно меняются и развиваются. Уследить за такой огромной кодовой базой помогает процесс автоматизации проверок кода и работы приложения. Сегодня расскажу о том, какие инструменты вы можете использовать, чтобы улучшить стабильность вашего проекта и не допускать ошибок, а также сэкономить время коллегам во время pull request. Вы разрабатываете проект в маленькой команде, а то и вовсе один? Тогда эта статья вам еще важнее, так как вы скорее всего не настраивали у себя никакие проверки, а я расскажу почему это нужно сделать.

Видео: https://apptractor.ru/vdrcd
Текст: https://apptractor.ru/ndrcd
Платформа: Android
⬆️: 11
Реализация Unidirectional Data Flow в супераппе. Часть II

Вторая часть статьи от inDriver. В статье рассматриваются 3 проблемы и сравнивается то, как разные фреймворки - ReSwift и The Composable Architecture - их решают. В конце рассказывается, какое решение в итоге реализовали разработчики.

Статья: https://apptractor.ru/udfdr2
Платформа: iOS
⬆️: 13
Forwarded from Programmer Humor
ОСТОРОЖНО: это изображение только 18++
UDF (Unidirectional Data Flow) - библиотека из вчерашней статьи inDriver, формирует шаблон однонаправленного потока данных. Он позволяет создавать поддерживаемые, тестируемые и масштабируемые приложения.

Однонаправленный поток данных - это шаблон проектирования, в котором состояние (данные) передаются вниз, а события (действия) - вверх. Важно, чтобы пользовательский интерфейс никогда не редактировал и не отправлял данные обратно. Вот почему пользовательский интерфейс обычно работает на immutable данных. Это позволяет иметь единый источник истины для всего приложения и эффективно отделяет логику домена от пользовательского интерфейса.

Библиотека на GitHub: https://github.com/inDriver/UDF
Платформа: iOS
⭐️: 12
В пятницу - pet-проект на выходные 😀 Seq - язык программирования для вычислительной геномики и биоинформатики, “диалект” Python. Благодаря синтаксису, совместимому с Python, и множеству специфичных для предметной области функций и оптимизаций, Seq делает написание высокопроизводительного программного обеспечения для геномики столь же простым, как написание кода Python, и обеспечивает производительность, сравнимую (а во многих случаях лучше) C/C++.

Язык на GitHub: https://github.com/seq-lang/seq
Сайт: https://seq-lang.org/
⭐️: 520
Locheck - валидатор файлов локализации для Xcode и Android от Asana. Locheck может выполнять множество видов проверок .strings, .stringsdict и strings.xml файлов. Самый простой - он проверяет, что все строки отображаются как на базовом языке, так и в переводах, но он также может обеспечить согласованность всех ваших спецификаторов формата даже в файлах .stringsdict.

Статья: https://blog.asana.com/2021/09/locheck-open-source/
На GitHub: https://github.com/Asana/locheck
Платформа: iOS/Android
⭐️: 32
8 распространенных ошибок при разработке Android-приложений

1. Все должно быть на своем месте (строки, цвета)
2. Неиспользование фрагментов
3. Неиспользование Data Binding или View Binding
4. Неиспользование Kotlin и корутин
5. Ошибки проектирования
6. Пробелы в системе безопасности
7. Недостаточная осведомленность о возможностях Android Studio
8. Отказ от использования библиотек Jetpack

Перевод статьи: https://apptractor.ru/8drd
Платформа: Android
👋: 1.2K
Travel Planner - пример приложения для складного экрана от Microsoft. Использует SlidingPaneLayout для работы с двумя экранами и Jetpack Room для хранения данных.

Приложение на GitHub: https://github.com/microsoft/surface-duo-window-manager-samples/tree/main/TravelPlanner
Платформа: Android
⭐️: 27