AppFiles - Mobile Development
2.01K subscribers
2.56K photos
33 videos
8 files
3.45K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Ваш первый чистый MVI-проект для Android

В этой статье автор представляет чистую архитектуру со своей точки зрения без каких-либо сложных и тяжелых объяснений. Зачем переходить на чистую архитектуру? Она:
• Поддерживаема
• Расширяема
• Соответствует принципам SOLID
• Хорошо подходит для больших команд и проектов

Статья на Medium: https://apptractor.ru/ClnMVIAndr
Платформа: Android
👋: 158
Coroutine Recipes - примеры работы корутинов в Kotlin, готовый к использованию проект IntelliJ IDEA с пояснениями основ и работы:

• Базовые async/launch сравнения
• Job/Deferred вызовы завершения и отмены
• Контекстные тесты
• Параллельные и последовательные задачи. Сравнение с RxJava.
• Обработка критических секций
• Доступ к ресурсам из разных потоков
• Каналы, BroadcastChannels, ConflatedBroadcastChannels
• Буферы каналов
• Различия между каналами и потоками
• Основные операторы Flow
• Состояние и общие потоки

GitHub: https://github.com/edgar-zigis/CoroutineRecipes
Платформа: Android
⭐️: 191
Изучаем стандартную библиотеку Kotlin 1.5

В этой статье обсуждаются некоторые изменения стандартной библиотеки, которые вышли в версии Kotlin 1.5.

Статья на Medium: https://apptractor.ru/slktln
Платформа: Android
👋: 246
Widelands - это бесплатная стратегическая игра в реальном времени с открытым исходным кодом, с однопользовательскими кампаниями и многопользовательским режимом. Игра была вдохновлена Settlers II, но в ней больше разнообразия и глубины.

GitHub: https://github.com/widelands/widelands
Платформа: Windows/Linux/MacOS
⭐️: 1.2K
Я провел тестирование Codex от OpenAI, и результаты оказались жутко хорошими

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

Перевод статьи: https://apptractor.ru/cdx
Платформа: программирование
👋: 362
Atributika - это простой способ создания NSAttributedString. Библиотека обнаруживает HTML-подобные теги, ссылки, номера телефонов, хэштеги, любые регулярные выражения и стилизует их с помощью различных атрибутов, таких как шрифт, цвет и т.д. В Atributika также есть AttributedLabel, которая может сделать любое такое обнаружение кликабельным.

GitHub: https://github.com/psharanda/Atributika
Платформа: iOS
⭐️: 978
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