AppFiles - Mobile Development
2.01K subscribers
2.57K photos
33 videos
8 files
3.46K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Compose Animations - группа библиотек, которые помогут вам создавать лучшие анимации в Jetpack Compose. API создания анимации предоставляет богатый функционал для обработки изменения состояния, но вам необходимо реализовать некоторый шаблонный код, когда дело доходит до других типов анимации. Вот он и реализован в этих библиотеках.

Библиотека на GitHub: https://github.com/touchlab-lab/compose-animations
Платформа: Android
👋: 7
Принцип KISS для Swift-разработчиков

В первую очередь программисты пишут код, пишут модульные/UI тесты, выбирают архитектуры и делают многое другое. Поскольку программирование является самым фундаментальным в программной инженерии, эта статья посвящена только этому. Она пытается показать, можно ли заменить трудный для понимания и подробный код более простым и лаконичным, сохраняя при этом то же поведение. Таким образом, она следует принципу KISS. Принцип объясняется путем сравнения фрагментов кода в пяти различных сценариях. Хотя сниппеты написаны на Swift, большинство основных идей можно применить и в аналогичных языках.

Перевод статьи: https://apptractor.ru/ksss
Платформа: программирование
👋: 340
ShowTime - это самый простой и понятный способ показать все ваши прикосновения и жесты на экране. Библиотека идеально подходит для демонстрации, презентации или видео. ShowTime даже отображает уровень прилагаемой силы и может быть настроен для отображения фактического количества выполненных нажатий. События Apple Pencil можно настраивать и отключать по умолчанию. ShowTime работает с одно- и многооконными приложениями, а также с виджетами.

GitHub: https://github.com/KaneCheshire/ShowTime
Платформа: iOS
⭐️: 370
Oops No Internet - простой диалог и snackbar, который говорит пользователю о том, что у него нет Интернета. Автоматически появляются и исчезают в зависимости от состояния подключения к Сети.

Библиотека на GitHub: https://github.com/ImaginativeShohag/Oops-No-Internet
Платформа: Android
👋: 108
This media is not supported in your browser
VIEW IN TELEGRAM
SoftButton - эта библиотека позволяет вам добавить неоморфный дизайн к вашим UIButton в Swift. Она поддерживает как темный, так и светлый режим, реагирует на нажатия, а также предлагает параметры настройки радиуса угла и выступа кнопки.

Библиотека на GitHub: https://github.com/PallavAg/SoftButton
Платформа: iOS
⭐️: 1
DeepfakeHTTP - фейковый веб-сервер, который использует HTTP-дампы как источник ответов. Можно использовать для тестирования взаимодействия с мобильными клиентами. Поддерживает тестирование и прототипирование REST, GraphQL и других API.

Сервер на GitHub: https://github.com/xnbox/DeepfakeHTTP
Платформа: веб
⭐️: 144
SegmentedArcView - progress view с широкими возможностями кастомизации. Вы можете задать любое количество сегментов, каждый отдельный сегмент можно настроить с помощью градиента, есть возможность анимации, поддержка RTL.

Библиотека на GitHub: https://github.com/edgar-zigis/SegmentedArcView
Платформа: Android
⭐️: 73
Производительность и скорость: как в Duolingo внедрили MVVM на Android

Приложение Duolingo начало испытывать проблемы роста из-за сложностей масштабирования их Android-архитектуры. Они смогли решить эти проблемы с производительностью и восстановить продуктивность разработчиков за счет рефакторинга до архитектуры Model-View-ViewModel и использования Android Jetpack Dagger и Hilt для внедрения зависимостей.

Перевод статьи: https://apptractor.ru/mmndr
Платформа: Android
Как подготовиться к iOS-собеседованию

Илья Кузнецов, Principal iOS Engineer в inDriver, рассказывает о процессе смены работы и прохождении собеседования iOS-разработчика.

Статья: https://apptractor.ru/iossbs
⬆️: +14

+ Собеседование разработчика: 50 вопросов и ответов для iOS #1 и #2
Вакансия: Android Developer
Киев, full-time, office.

OBRIO - одна из продуктовых компаний экосистемы бизнесов Genesis. Mobile команда OBRIO создала и развивает мобильное приложение Nebula. Продукт уже показал высокие результаты: его активная аудитория превышает 2 млн. пользователей ежемесячно, а Android версия заняла второе место в категории LifeStyle Apps по США, обогнав Tinder 🙂

Техническая команда продукта состоит из: Android лида, middle Android разработчика, QA и DevOps инженеров. Наш стек: Kotlin, CI/CD, Dagger 2, Android Architecture Components (Room, etc.), clean architecture, Retrofit, rx 2, Socket io.

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

Полное описание вакансии:
https://gen-tech.breezy.hr/p/b90fb941547a

Больше о нас:
Genesis https://gen.tech/
OBRIO https://bit.ly/3fNifqQ
Nebula https://play.google.com/store/apps/details?id=genesis.nebula&hl=ru&gl=US

Наш рекрутер ответит на все твои вопросы🤔
https://t.iss.one/alinaneverova
TTProgressHUD - легкая библиотека для показа HUD-ов на SwiftUI. Сделаны в стиле Apple.

Библиотека на GitHub: https://github.com/honkmaster/TTProgressHUD
Платформа: iOS
⭐️: 70
This media is not supported in your browser
VIEW IN TELEGRAM
Многопоточность и Kotlin в Яндекс.Картах: как не допустить падения новых фич на iOS

Kotlin Multiplatform пошел в прод и вот статья от Яндекс.Карт:

В статье я расскажу и покажу на примерах, с какими проблемами я столкнулся при написании многопоточного кода на Kotlin Multiplatform, как эти проблемы решать, как лучше организовывать потоки данных в многопоточной среде и что ещё нужно делать, чтобы написанное на Kotlin не падало на iOS. Увы, писать код «как обычно» не получится.

Статья: https://habr.com/ru/company/yandex/blog/575846/
Платформа: iOS
⬆️: 21
Atmostate - погодное приложение на основе OpenWeatherMap, написанное на Jetpack Compose с применением рекомендованной Google архитектуры MVVM. С офлайн кешированием, данными для текущей локации пользователя.

Приложение на GitHub: https://github.com/ramzan/Atmostate/
Платформа: Android
⭐️: 73
Google ускоряет сборку Kotlin с Kotlin Symbol Processing 1.0

Google выпустил Kotlin Symbol Processing (KSP). KSP предлагает аналогичные функции Kotlin Annotation Processing Tool (KAPT), однако он работает до 2 раз быстрее, предлагает прямой доступ к конструкциям языка Kotlin и поддерживает многоплатформенные таргеты.

KSP отходит от модели генерации заглушек, работая как плагин компилятора Kotlin — он позволяет обработчикам аннотаций читать и анализировать исходные программы и ресурсы непосредственно в Kotlin, вместо того, чтобы требовать от вас зависимости от инфраструктуры обработки аннотаций Java. Это значительно увеличивает скорость сборки (до 2 раз быстрее для тестового приложения Kotlin с Room) и означает, что KSP можно использовать для сред без Android и без JVM, таких как Kotlin/Native и Kotlin/JS.

Подробнее: https://apptractor.ru/info/news/kotlin-symbol-processing-1-0.html
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