fa
Feedback
AppFiles - Mobile Development

AppFiles - Mobile Development

رفتن به کانال در Telegram

Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.

نمایش بیشتر
2 163
مشترکین
-224 ساعت
-17 روز
اطلاعاتی وجود ندارد30 روز
آرشیو پست ها
Вы уже знаете, как настроить Gradle для работы с мультипроектами/мультимодулями с Kotlin DSL и Spring Dependency Management?
Вы уже знаете, как настроить Gradle для работы с мультипроектами/мультимодулями с Kotlin DSL и Spring Dependency Management? Gradle, Kotlin, Spring Skeleton - пример, в котором автор абстрагировал самые важные логические компоненты и упаковал их в отдельные модули buildSrc. Это делает сборку очень модульной и также очень понятной. Gradle, Kotlin, Spring Skeleton на GitHub: https://github.com/mrclrchtr/gradle-kotlin-spring Платформа: Android ⭐️: 135

BundledSQLiteDriver: новый взгляд на SQLite в Android и Kotlin Multiplatform BundledSQLiteDriver из библиотеки androidx.sqlit
BundledSQLiteDriver: новый взгляд на SQLite в Android и Kotlin Multiplatform BundledSQLiteDriver из библиотеки androidx.sqlite — это специальная сборка встраиваемой СУБД SQLite от команды разработчиков Android Jetpack, предназначенная для использования в Kotlin Multiplatform проектах. В этой статье мы рассмотрим особенности её использования по сравнению со встроенным в Android вариантом SQLite. Статья: https://habr.com/ru/articles/896794/ Платформа: Android

Как мы сделали дизайн-систему для мобильных устройств и TV Наша цель — показать концепцию дизайн-системы, поэтому в статье мы
Как мы сделали дизайн-систему для мобильных устройств и TV Наша цель — показать концепцию дизайн-системы, поэтому в статье мы сознательно опустили некоторые технические нюансы, не влияющие на суть. Например, мы не затрагиваем оптимизацию рекомпозиций, а в примерах компонентов вы не найдете Modifier. Используйте представленный код как отправную точку для собственных решений, а не как финальную реализацию. Статья: https://habr.com/ru/companies/vk/articles/896134/ Платформа: Android

VDAnimation предоставляет мощный, декларативный способ создания сложных анимаций в SwiftUI с минимальным кодом. Создавайте ан
VDAnimation предоставляет мощный, декларативный способ создания сложных анимаций в SwiftUI с минимальным кодом. Создавайте анимации последовательно, параллельно, с настраиваемым временем и кривыми. VDAnimation на GitHub: https://github.com/dankinsoid/VDAnimation Платформа: iOS ⭐️: 20

Профилирование и бенчмаркинг Android-сборок Оптимизация времени сборки — важный аспект эффективной разработки. В статье на Pr
Профилирование и бенчмаркинг Android-сборок Оптимизация времени сборки — важный аспект эффективной разработки. В статье на ProAndroidDev рассмотрены инструменты для анализа и улучшения производительности сборки Gradle. • Build Analyzer в Android Studio показывает длительность выполнения задач и предлагает рекомендации по оптимизации. • Профилирование Gradle (--profile) создаёт локальный HTML-отчет с детальным разбором всех процессов. • Gradle Scan (--scan) формирует удаленный отчёт, где можно увидеть влияние кеширования, зависимостей и сетевых операций. • Gradle Profiler позволяет тестировать разные сценарии сборки, оценивать влияние изменений кода, ресурсов и макетов. Использование этих инструментов поможет ускорить процесс разработки и выявить узкие места в вашем проекте. Статья: https://proandroiddev.com/profile-benchmark-android-builds-b572948c5be5 Платформа: Android Обязательно поставьте 👍, если хотите эту статью на русском.

Документируем код с помощью DocC В настоящее время Apple предоставляет нам компилятор документации под названием DocC. DocC п
Документируем код с помощью DocC В настоящее время Apple предоставляет нам компилятор документации под названием DocC. DocC преобразует текст на основе Markdown в расширенную документацию для фреймворков и пакетов Swift. Сегодня мы изучим основы DocC, что позволяет нам предоставлять надлежащую документацию для нашего кода. Статья: https://apptractor.ru/info/articles/docc.html Платформа: iOS

Конкатенация против интерполяции текста в SwiftUI можно сказать, что хотя конкатенация текста хорошо работает для простых сце
Конкатенация против интерполяции текста в SwiftUI можно сказать, что хотя конкатенация текста хорошо работает для простых сценариев стилизации, лучше всего всегда отдавать предпочтение интерполяции для локализованного текста, чтобы обеспечить грамматически правильный и естественный перевод. В реальных проектах также рекомендуется включать комментарии, особенно для строк с определителями формата, чтобы переводчики понимали, что представляет собой каждый заполнитель. Статья: https://apptractor.ru/info/articles/konkatenatsiya-protiv-interpolyatsii-teksta-v-swiftui.html Платформа: iOS

Трекер поездов и погоды с Raspberry Pi и E-Ink Разработчик Сэм Бронер создал проект с использованием Raspberry Pi и E-Ink дис
Трекер поездов и погоды с Raspberry Pi и E-Ink Разработчик Сэм Бронер создал проект с использованием Raspberry Pi и E-Ink дисплея для отслеживания расписания поездов и прогноза погоды. Устройство отображает время прибытия ближайших поездов линий F и G нью-йоркского метро, а также текущую дату, время и погодные условия. Дисплей разделен на четыре секции: заголовок с датой и временем, трекер поездов, информация о погоде и "погодная шкала" на следующие 12 часов. ​ Аппаратная часть проекта включает 9,7-дюймовый E-Ink дисплей с разрешением 1200x825 пикселей, подключенный к Raspberry Pi 4b. Для программирования использовалась модульная архитектура, состоящая из движка отображения, системы компоновки, сервисов данных и контроллера приложения. Особое внимание уделено оптимизации обновления дисплея и обеспечения стабильности работы. ​ Подробные инструкции, список необходимых компонентов и исходный код доступны в репозитории на GitHub. Статья: https://sambroner.com/posts/raspberry-pi-train Платформа: разработка

Tack Android - это современное приложение-метроном для Android с красивым интерфейсом, которое имеет все функции, необходимые
Tack Android - это современное приложение-метроном для Android с красивым интерфейсом, которое имеет все функции, необходимые для отработки музыкального произведения. Также доступно отдельное приложение Wear OS с тактильными битами и множеством опций прямо на вашем запястье. Tack Android на GitHub: https://github.com/patzly/tack-android Платформа: Android ⭐️: 261

photo content

Как правильно организовать проект c модульной архитектурой в iOS-разработке Модульный подход не просто разделяет приложение н
Как правильно организовать проект c модульной архитектурой в iOS-разработке Модульный подход не просто разделяет приложение на более управляемые части, но и закладывает возможность многократного использования кода в других проектах, позволяет организовать разработку и тестирование функциональных блоков независимо от основного приложения. В этом материале я расскажу про ключевые моменты модульной архитектуры в iOS-приложениях, инструментах для ее внедрения и применения в наших проектах. Статья: https://habr.com/ru/companies/ru_mts/articles/892444/ Платформа: iOS

Неожиданно легко допустить утечку памяти в вашем приложении, даже не осознавая этого. Если утечки памяти остаются без внимани
Неожиданно легко допустить утечку памяти в вашем приложении, даже не осознавая этого. Если утечки памяти остаются без внимания, они могут увеличить объем занимаемой памяти вашего приложения, что приводит к более быстрому завершению работы приложения в фоновом режиме. В тяжелых случаях ваше приложение может быть завершено даже во время работы на переднем плане. Но проблема не только в использовании памяти. Утечка объектов может привести к неожиданным и скрытым ошибкам, которые гораздо сложнее отследить. DriftCheck - это легковесная библиотека, которая поможет вам обнаружить циклы удержания и забытые ссылки, привязав ваши объекты к четко определенному жизненному циклу представлений UIKit/SwiftUI. DriftCheck на GitHub: https://github.com/chrsmys/DriftCheck Платформа: iOS ⭐️: 22

Dagger 2 и жизненный цикл У нас было приложение‑монолит с главным ComponentManager, где строился весь граф зависимостей. Файл
Dagger 2 и жизненный цикл У нас было приложение‑монолит с главным ComponentManager, где строился весь граф зависимостей. Файл был немаленький. Также во всех фрагментах необходимо было вручную создавать DI‑компонент и следить за его чисткой, а разработчики то и дело забывали про это или чистили неправильно. Потом началась кампания по выносу фичёвого кода в отдельные модули. С каждым новым модулем всё чаще выстреливала циклическая зависимость, и приходилось писать обвязку (прокси‑класс). Главный ComponentManager оставался связующим звеном между фичёвыми модулями, через которое происходил переброс зависимостей, так что он всё ещё был большим и сложным. Иногда рефакторинг, связанный с перемещением кода из одного модуля в другой, вызывал многочасовую борьбу за нахождение пути решения проблемы «почему сборка никак не соберётся?». Иногда, чтобы доставить зависимость из одного модуля в другой, нужно было строить сложные конструкции, как при игре в «Твистер». Вся эта увлекательная и мучительная игра продолжалась довольно долго, пока на помощь, как бы странно это ни звучало, не пришёл новомодный Compose. Тогда мы только начинали его осваивать, и я решил сделать небольшой pet‑проект, состоящий из двух экранов, с применением Compose для его изучения. Естественно, в этот проект подключил всё самое современное из библиотек, включая Dagger 2. Как обычно, немного повозившись с настройкой DI, в голове всплыла вся та боль, которую мы испытываем в нашем проекте. Статья: https://habr.com/ru/companies/sberbank/articles/893856/ Платформа: Android

Как мы ускоряли Android-сборку «селлера» Скорость сборки проекта напрямую влияет на time to market продукта и (внезапно) удов
Как мы ускоряли Android-сборку «селлера» Скорость сборки проекта напрямую влияет на time to market продукта и (внезапно) удовольствие от процесса разработки. Если каких-то 50 лет назад время компиляции могло доходить до нескольких дней, и это считалось нормальным, то сейчас даже лишняя пара минут сборки проекта в Android Studio может заставить понервничать. Чтобы сберечь здоровье себе и CI, скорости сборки проекта нужно уделять внимание. Статья: https://habr.com/ru/companies/ozontech/articles/894364/ Платформа: Android

SwiftUI. Навигация по строке в разделяемом координаторе Небольшие ухищрения позволяют существенно прокачать навигацию в прило
SwiftUI. Навигация по строке в разделяемом координаторе Небольшие ухищрения позволяют существенно прокачать навигацию в приложении, и, что самое главное, облегчить себе жизнь. В особенности, если дизайнер отличается необузданной фантазией. Статья: https://habr.com/ru/articles/894936/ Платформа: iOS

AnimationSequence - это мощная, но интуитивно понятная библиотека Jetpack Compose (поддерживает Android, iOS, Desktop и Web), разработанная для упрощения последовательной анимации в ваших приложениях для Android. С минимальными усилиями создавайте элегантные, отзывчивые и иерархические анимации, улучшая пользовательский опыт и оживляя пользовательский интерфейс. AnimationSequence на GitHub: https://github.com/pauloaapereira/AnimatedSequence Платформа: Android ⭐️: 48

Kotlin и Jetpack Compose: портируем DOOM на смарт-часы Я взялся за этот проект для Android Wear просто потому, что это интере
Kotlin и Jetpack Compose: портируем DOOM на смарт-часы Я взялся за этот проект для Android Wear просто потому, что это интересно, и не так много людей видели, как на часах работает полноценная 3D‑игра. Однако я также хочу, чтобы проект был доступен и для «стандартного» Android. Таким образом, читатели, у которых нет смарт‑часов, смогут наслаждаться тем же кодом на своих смартфонах. Статья: https://habr.com/ru/companies/otus/articles/894514/ Платформа: Android

Видео и подкасты за неделю на @AppFiles(iOS Ru) Исследуем мир фото и видео редакторов(iOS Ru) Найди и исправь ошибки в коде — Задачи с собеседования(iOS Ru) Запускаем приложения на своем iOS-симуляторе(iOS Ru) Осторожно, Combine!(iOS Ru) Позаботимся о памяти при использовании value-типов(iOS Ru) Swift – больше, чем язык для iOS(iOS En) Videos from Swift Heroes 2024(iOS En) Staggered Animated View Using SwiftUI (iOS En) Advanced SwiftUI Animations - PhaseAnimator(iOS En) A case for Custom Bindings in SwiftUI: Essential Tips and Tricks(iOS En) VoiceMemos Waveform Audio Scrubber Using SwiftUI - Waveform Visualization(And Ru) Почему вам стоит включить Gradle Configuration Cache(And Ru) Интеграция GeckoView в Dynamic Feature(And Ru) Последнее слово в Android-навигации(And En) Introduction to the SDK Runtime(And En) How to Refactor Legacy Android Code With a Clear Step-By-Step Approach(And En) Applying the Observer Pattern in Kotlin(And En) Validating the chaos of RSS feeds with JetBrains’ Junie & some domain modeling sorcery(Crs Ru) Kotlin не для Android(Crs Ru) Как мы делали суперапп «Дилер онлайн», и что из этого получилось(Crs Ru) Совместная работа Kotlin/Native GC и ARC в iOS(Dev Ru) Правовой статус кода Что было год назад: • (Crs Ru) Flutter Dev Podcast #45: Собеседования на позицию Flutter-разработчика(Dev Ru) Пишем рекомендательную систему музыки на Java(Dev Ru) Задача из Моего Собеседования в Amazon(Dev Ru) Ада Лавлейс и программированиеОсознанный подход к метрикам

Mocking Star - это мощный инструмент для имитации запросов, предназначенный для упрощения мокирования http-запросов, отладки работы с сетьюи использования UI-тестов для ваших приложений. Ключевые особенности: • Мокирвоание запросов: легко подделывайте запросы и тестируйте различные случаи с помощью сценариев • Модификация запросов: модифицируйте перехваченные запросы, чтобы протестировать различные граничные случаи, что позволит вам оценить производительность приложения в различных условиях. • Поддержка отладки: используйте Mocking Star для отладки сетевых запросов на вашем mac • Тестирование пользовательского интерфейса: интегрируйте Mocking Star в тесты пользовательского интерфейса, создавая надежную и контролируемую среду тестирования для проверки функциональности вашего мобильного приложения • Плагины: пишите собственные плагины и расширяйте функциональность • Клиенты для iOS и Android приложений Mocking Star на GitHub: https://github.com/Trendyol/mockingstar Платформа: тестирование ⭐️: 157

Blocks - крошечный клон Minecraft на C и GLSL с использованием нового SDL3 GPU API. Фичи: • Процедурная генерация мира • Пара
Blocks - крошечный клон Minecraft на C и GLSL с использованием нового SDL3 GPU API. Фичи: • Процедурная генерация мира • Параллельная загрузка чанков • Блоки и растения • Прозрачность (ограниченная) • Отложенный рендеринг • Направленные тени • SSAO • Затенение глубины воды • Постоянные миры Blocks на GitHub: https://github.com/jsoulier/blocks Платформа: разработка ⭐️: 105