AppFiles - Mobile Development
2.18K subscribers
3.13K photos
41 videos
13 files
4.11K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Gradle под капотом: как перестать мучиться и заставить свой компьютер работать на полную мощность?

Сегодня я хочу разобрать инструмент, который мы все используем десятки раз в день, но часто по-прежнему воспринимаем как «черный ящик».

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

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

Давайте заглянем под капот, чтобы настройка сборки перестала быть проблемой.

Статья: https://habr.com/ru/articles/1058260/
Платформа: архитектура

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Cosmos Music Player - премиальный музыкальный плеер для iOS

Cosmos Music Player — это высококачественный музыкальный плеер, поддерживающий синхронизацию с iCloud Drive и локальное хранилище, что обеспечивает пользователям гибкость в управлении музыкой. Приложение разработано для экосистемы iOS и Apple с полной интеграцией с CarPlay.

Премиальный аудиофильский музыкальный плеер для iOS, поддерживающий форматы FLAC, WAV, M4A, MP3, Opus, OGG, DSD и DSF, с расширенными функциями, включая Apple CarPlay, воспроизведение DSD (преобразование DoP и PCM), двойное хранилище (iCloud/локальное), управление плейлистами, интеграцию информации об исполнителях, графический эквалайзер и многоязычную поддержку.

Cosmos Music Player на GitHub: https://github.com/clquwu/Cosmos-Music-Player
Платформа: iOS
⭐️: 113
 
👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
50 вопросов о System Design, ответы на которые должен знать каждый Senior iOS-разработчик: часть 2

Разработка сетевого слоя:

• Как бы вы спроектировали переиспользуемый сетевой слой?
• Как реализовать автоматическое обновление токена?
• Как повторять неудачные запросы к API?
• Как отменять запросы к API?
• Как предотвратить дублирующиеся запросы к API?

Статья: https://apptractor.ru/info/articles/50-voprosov-o-system-design-otvety-na-kotorye-dolzhen-znat-kazhdyy-senior-ios-razrabotchik-chast-2.html
Платформа: iOS

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Аутентификация через биометрию в Kotlin Multiplatform или Koncierge

Наконец-то неплохо продвинувшись в написании своего мультиплатформенного приложения Modern Money мне понадобилась аутентификация для Kotlin Multiplatform.

Хотелось иметь один API для PIN-кода и биометрии, а под капотом использовать Android Biometric Prompt, Windows Hello, Touch ID.

Так появился Koncierge — набор KMP-модулей biometric, auth и auth-compose.

Казалось бы, задача довольно стандартная: объявить expect-класс и написать несколько actual-реализаций. На Android это примерно так и получилось. А вот Windows Hello, JVM-модуль и публикация всех артефактов заставили немного разобраться в том, как Kotlin Multiplatform работает с нативным кодом.

Статья: https://habr.com/ru/articles/1059174/
Платформа: кроссплатформа

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Container - повышения реактивности асинхронных операций/загрузки

Container — это библиотека для упрощения управления состоянием и загрузки данных в приложениях Android. Она предоставляет небольшой набор строительных блоков, охватывающих наиболее распространенные реактивные шаблоны: обертывание асинхронных результатов в типизированный статус, управление производным состоянием из нескольких потоков и ленивая загрузка данных по запросу.

Container на GitHub: https://github.com/romychab/container
Платформа: Android
⭐️: 15

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
📺 Видео и подкасты за неделю

(iOS En) Permission Onboarding Animation
(iOS En) SwiftUI Search Made Amazing: Suggestions, Scopes & Tokens
(iOS En) Gooey Morphing Pull To Refresh Using SwiftUI
(And En) My Best Practices For Showing Errors In an App - Building Successful Apps
(And En) The Compose Styles API Is Everything I Wished For
(And En) Talking to terminals (and how they talk back)
(And En) Peeling back the Layers: A Navigation3 Deep Dive
(And En) How I Learned to Stop Worrying and Love Value Semantics (in Kotlin)
(And En) Local Lifetimes for Kotlin
(And En) Metro Under the Hood
(And En) When Flows Won't Cut It
(And En) AI-Driven Performance Optimization - Kotzilla MCP
(Crs En) React Native Full Stack Course – Clerk, Postgres, NativeWind
(Dev Ru) Качество, архитектура и ответственность в эпоху ИИ-ассистентов
(Dev Ru) Технический долг и архитектура
(Dev Ru) Терминалы и оболочки — tty, bash, zsh
(Dsg Ru) DesignOps на стероидах: автоматизация процессов в Figma

🧳 Прошлогодние видео:

(iOS Ru) Sideloading и узник Apple
(iOS Ru) Как побеждать в конкурсах от Telegram
(And Ru) Переходишь на Compose? Не спеши!
(And Ru) Как работает ТВ в Android TV?
(And Ru) Нужны ли Android-разработчики на заводе?
(And Ru) Gradle DSL изнутри
(And Ru) Kotlin DSL как единый источник правды для решения многих задач

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Экономим на СМС рассылках — сервис push-уведомлений для веб- и PWA-приложений

В этом материале поговорим о сервисе доставки push-уведомлений - решаемых задачах, архитектуре, реализации и достигаемом эффекте от внедрения.

Статья: https://habr.com/ru/articles/1059890/
Платформа: разработка

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
iOS Performance Agent Skills - коллекция навыков для улучшения производительности iOS-приложений

Набор навыков для ИИ-агентов, предназначенных для анализа, диагностики и улучшения производительности iOS-приложений. Каждый навык находится в собственном каталоге верхнего уровня и устанавливается одной командой npx или может быть скопирован вручную в другую конфигурацию агента.

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

iOS Performance Agent Skills на GitHub: https://github.com/Livsy90/iOS-Performance-Agent-Skills
Платформа: iOS
⭐️: 79
 
👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Я создал желеобразное FAB-меню для Jetpack Compose

JellyFab — необычное FAB-меню для Jetpack Compose, в котором центральная кнопка не просто открывает дополнительные действия, а растягивается и покачивается, словно желе. Эффект реализован без шейдеров: только Canvas, Animatable и немного геометрии. Вместо стандартного FloatingActionButton используется обычный кликабельный Box, под которым можно полностью самостоятельно отрисовывать и деформировать форму.

Главная идея — представить круг не готовой фигурой, а набором из 36 точек. При появлении пунктов меню ближайшие к ним точки смещаются наружу, причём сила смещения плавно уменьшается по гауссовой кривой. Затем точки соединяются кривыми Безье, а тень меняется вместе с деформацией кнопки. Хороший пример того, что выразительная UI-анимация необязательно требует сложных технологий — иногда достаточно правильно представить задачу и синхронизировать несколько простых эффектов.

Статья 🇺🇸: https://proandroiddev.com/i-built-a-jelly-like-fab-menu-for-jetpack-compose-42e9f65f6576
Платформа: Android

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
overlay-demo.gif
39.2 MB
Compose A11y Scanner - cканер доступности для Jetpack Compose

Compose A11y Scanner - рантайм сканер доступности, который отображает проблемы непосредственно в пользовательском интерфейсе Compose.

:scanner-core отвечает за движок сканирования, модели, состояние результатов и контракт A11yRule:scanner-rules содержит встроенные правила проверки. :scanner-ui читает дерево семантики Compose, извлекает цвета через ColorExtractor, запускает сканирование и рисует оверлеи с найденными проблемами поверх интерфейса приложения.

Compose A11y Scanner на GitHub: https://github.com/mohdaquib/ComposeA11yScanner
Платформа: Android
⭐️: 15

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
DarkGram: как мы делаем power‑user Telegram‑клиент для iOS — и почему его нет в App Store

Мы небольшой командой развиваем DarkGram — неофициальный Telegram‑клиент для iOS на базе Swiftgram и Telegram‑iOS. Вдохновлялись мы прежде всего философией AyuGram: дать пользователю больше контроля над клиентом, приватностью и локальной историей. Но DarkGram не является попыткой буквально перенести AyuGram на iPhone. Проект постепенно развивается в самостоятельный клиент со своими функциями, интерфейсом и техническими решениями.

Статья: https://habr.com/ru/articles/1060956/
Платформа: iOS

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
🤮2
Отчеты пользователей с Diagnostics: более быстрое устранение ошибок с помощью ИИ

Diagnostics серьёзно меняет подход к поддержке пользователей внутри приложений. HTML-отчёт сразу отвечает на типичные вопросы и уменьшает количество лишней переписки.

Статья: https://apptractor.ru/info/articles/otchety-polzovateley-s-diagnostics-bolee-bystroe-ustranenie-oshibok-s-pomoschyu-ii.html
Платформа: iOS

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM