ch
Feedback
AppFiles - Mobile Development

AppFiles - Mobile Development

前往频道在 Telegram

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

显示更多
2 165
订阅者
无数据24 小时
+17
无数据30
帖子存档
AniVu - универсальное приложение для подкастов на Android, позволяющее просматривать RSS и воспроизводить медиафайлы. Внутри
AniVu - универсальное приложение для подкастов на Android, позволяющее просматривать RSS и воспроизводить медиафайлы. Внутри MVI, Jetpack Compose, корутины и Flow, Material You, ViewModel, Room, Paging 3, Hilt и пр. AniVu на GitHub: https://github.com/SkyD666/AniVu Платформа: Android ⭐️: 855

Apple Watch на Android На рынке существует немало умных часов, предлагающих решения для мониторинга здоровья, но Apple Watch
Apple Watch на Android На рынке существует немало умных часов, предлагающих решения для мониторинга здоровья, но Apple Watch уже много лет лидируют по точности отслеживания частоты сердечных сокращений, сна и физических нагрузок; на самом деле часы Apple Watch четырехлетней давности точнее, чем большинство последних коммерческих конкурентов. Единственная проблема заключается в том, что я решил больше не давать денег Apple несколько лет назад, после того как мне надоели их огороженный сад, злоупотребление монополией, вопиющий маркетинг в стиле aspiration porn, препятствование ремонту и т.д. Статья: https://abishekmuthian.com/apple-watch-with-android/ Платформа: Android

Видео и подкасты за неделю на @AppFiles(iOS En) Avoid Crashes in Swift: How Overflow Operators Work(iOS En) Stacked Cards - Looping Cards - SwiftUI(iOS En) First Look at Xcode 16.2: New Swift Testing Feature(iOS En) SwiftUI Searchable Modifier: Build a Search Feature in 15 Minutes(And Ru) Публикация Android и KMP библиотеки в Maven Central(And Ru) Запускаем мобильные UI-тесты эффективно(And En) Now in Android: 112 - Android 16 Developer Preview 1, Passkeys Spotlight Week, and more(And En) Designing apps for Android XR(And En) Adapting Android apps for XR(And En) Build immersive apps & experiences with OpenXR & Unity(And En) How to Draw On a Canvas In Jetpack Compose(And En) Multi-dollar String Interpolation in Kotlin(Crs Ru) Flutter Dev Podcast #49: многомодульность на Flutter(Dev Ru) Compose и SwiftUI: найди 10 отличий(Dev Ru) Как мы писали проигрыватель с нуля под каждую платформу(Dev Ru) Как ВКонтакте измеряет перфоманс приложений(Dev Ru) Очевидные и неочевидные дыры безопасности в мобильной разработке(Dev Ru) Страх и ненависть в мобильных автотестах. Строим своё облачное решение(Dev Ru) Лучший UI фреймворк для разработки на Java — JavaFx, Swing, UI разработкаRemind users to Rate your App - Compose Multiplatform #ios #android #mobile #video

Как заставить крутиться таймер – инструкция для iOS-разработчиков Кажется, что таймер – простая для реализации вещь. Но если
Как заставить крутиться таймер – инструкция для iOS-разработчиков Кажется, что таймер – простая для реализации вещь. Но если добавить сюда сжатые сроки, код (рефакторинг которого часто откладывается по разным причинам), пласты бизнес-логики и UI-элементы – получим нетривиальную задачу. Статья: https://habr.com/ru/companies/ecom_tech/articles/867660/ Платформа: iOS

Ifrit - это библиотека нечеткого (fuzzy) поиска, написанная на чистом Swift Алгоритм нечеткого поиска предназначен для поиска приблизительных совпадений по заданному поисковому запросу. Допустим, у вас есть список товаров, и пользователь ищет «Czy Swetr». Точное совпадение ничего не даст, но нечеткий поиск найдет «Cozy Sweater». Если вам нужно точное совпадение - используйте стандартную функцию .filter { } вместо этой библиотеки. Преимущества Ifrit: • Суперлегкий • Никаких зависимостей • Поддерживает MacOS, iOS, visionOS, watchOS, twOS, Linux • Асинхронный поиск (async/await + callbacks) • Поддерживает выделения текста (AttributedString) • Покрыт тестами Ifrit на GitHub: https://github.com/ukushu/Ifrit Платформа: iOS ⭐️: 33

Ifrit - это библиотека нечеткого (fuzzy) поиска, написанная на чистом Swift Алгоритм нечеткого поиска предназначен для поиска приблизительных совпадений по заданному поисковому запросу. Допустим, у вас есть список товаров, и пользователь ищет «Czy Swetr». Точное совпадение ничего не даст, но нечеткий поиск найдет «Cozy Sweater». Если вам нужно точное совпадение - используйте стандартную функцию .filter { } вместо этой библиотеки.Преимущества Ifrit: Суперлегкий Никаких зависимостей Поддерживает MacOS, iOS, visionOS, watchOS, twOS, Linux Асинхронный поиск (async/await + callbacks) Поддерживает выделения текста (AttributedString) Покрыт тестами Ifrit на GitHub: https://github.com/ukushu/Ifrit Платформа: iOS ⭐️: 33

Ловушки и меры борьбы с аномальными вызовами onAppear в SwiftUI onAppear - чрезвычайно важный метод жизненного цикла в SwiftUI, используемый для внедрения ключевой логики при отображении представления. Поскольку экземпляры представлений могут создаваться и перестраиваться часто, разработчики часто предпочитают подготавливать данные и выполнять операции инициализации в этом методе. Теоретически, вызов этих методов жизненного цикла должен быть предсказуемым и последовательным. Однако в некоторых конкретных сценариях onAppear может вызываться неожиданно и без необходимости. Это может не только привести к снижению производительности, но и вызвать неконтролируемые изменения в состоянии приложения. В этой статье мы раскроем эту легко упускаемую из виду ловушку поведения SwiftUI и предложим временные меры борьбы с ней. Статья: https://fatbobman.com/en/posts/traps-and-countermeasures-for-abnormal-onappear-calls-in-swiftui/ Платформа: iOS

Понимаем аннотации Hilt за 5 минут Hilt - это библиотека инъекции зависимостей для Android, которая позволяет сократить колич
Понимаем аннотации Hilt за 5 минут Hilt - это библиотека инъекции зависимостей для Android, которая позволяет сократить количество ручных инъекций зависимостей в вашем проекте. Она построена на основе хорошо зарекомендовавшей себя библиотеки Dagger2. Аннотации Hilt - это специальные слова или фразы, которые используются для того, чтобы помочь библиотеке Hilt правильно работать в Android-проекте. В этом руководстве мы расскажем о некоторых основных аннотациях, с которыми вы столкнетесь в любом проекте с инъекцией Hilt, а также приведем примеры кода. Статья: https://proandroiddev.com/5-minute-guide-on-understanding-hilt-annotations-50fe33b1919b Платформа: Android

Совместить DDD и MVVM: Разработка приложения-трекера расходов по правилу 50-30-20 на .NET MAUI Сегодня я бы хотел рассказать
Совместить DDD и MVVM: Разработка приложения-трекера расходов по правилу 50-30-20 на .NET MAUI Сегодня я бы хотел рассказать вам про свое приложение Profitocracy, которое помогает мне следить за личными расходами, а также автоматически планировать бюджет на месяц. Статья: https://habr.com/ru/articles/867768/ Платформа: кроссплатформа

Inure - это менеджер пакетов для Android. Он может сканировать внутренние компоненты любого приложения и изменять их на ходу.
Inure - это менеджер пакетов для Android. Он может сканировать внутренние компоненты любого приложения и изменять их на ходу. Кроме того, в нем есть эмулятор терминала, статистика использования, установщик Split/APK и другие инструменты, хотя многие из них еще ждут своей реализации. Кроме того, все функции Inure работают как в режиме Root, так и в режиме Shizuku. Разработка Inure началась как независимый учебный проект, который впоследствии стал одним из самых амбициозных и удобных приложений для Android, разработанных одним человеком. Приложение на 100% основано на кастомных UI API, разработанных для использования только в этом приложении с собственным движком тем, обработчиком крешей, рендерером изображений и красивым анимационным фреймворком. Inure на GitHub: https://github.com/Hamza417/Inure Платформа: Android ⭐️: 1.2K

Dagger 2: как сделать свой DI за 10 минут Эта статья будет полезна тем, кто использует Dagger 2 в своих приложениях и иногда/
Dagger 2: как сделать свой DI за 10 минут Эта статья будет полезна тем, кто использует Dagger 2 в своих приложениях и иногда/часто попадает в ситуации непонимания, почему Dagger 2 ведёт себя не так, как мы ожидаем. А это может создавать определённые трудности, особенно при отладке сложных проблем или при необходимости настройки более сложных сценариев внедрения зависимостей. Статья: https://habr.com/ru/companies/ozontech/articles/866452/ Платформа: Android

Как обычно :), для статьи, получившей вчера больше всего просмотров, русский перевод. Фоновая загрузка файлов на сервер в iOS
Как обычно :), для статьи, получившей вчера больше всего просмотров, русский перевод. Фоновая загрузка файлов на сервер в iOS Когда приложение переходит в приостановленное состояние, все задачи останавливаются. Но не волнуйтесь! iOS предоставляет несколько способов продолжить выполнение задач в фоновом режиме. Статья: https://apptractor.ru/info/articles/fonovaya-zagruzka-faylov-na-server-v-ios.html Платформа: iOS

Интеграция Расширений в большие iOS-приложения Сегодня, когда вы открываете Apple Maps и выбираете пункт назначения, вы может
Интеграция Расширений в большие iOS-приложения Сегодня, когда вы открываете Apple Maps и выбираете пункт назначения, вы можете увидеть список доступных предложений Lyft, что позволит вам легко перейти в приложение Lyft, чтобы заказать следующую поездку. Однако для создания такого плавного и удобного опыта в экосистеме iOS инженерам приходится решать целый ряд технических задач, от управления зависимостями в высокомодульном приложении до оптимизации производительности при сохранении высокого качества пользовательского опыта. Статья Lyft: https://eng.lyft.com/integrating-extensions-into-large-scale-ios-apps-8f15dc5f3be9 Платформа: iOS

SRNetworkManager - это мощный и гибкий сетевой уровень для приложений Swift. Он обеспечивает общий, ориентированный на проток
SRNetworkManager - это мощный и гибкий сетевой уровень для приложений Swift. Он обеспечивает общий, ориентированный на протоколы подход к обработке API-запросов, поддерживая как Combine, так и парадигму async/await. Этот пакет разработан как простой в использовании, хорошо настраиваемый и полностью совместимый со Swift 6 и протоколом Sendable. SRNetworkManager на GitHub: https://github.com/siamakrostami/SRNetworkManager Платформа: iOS ⭐️: 16

Фоновая загрузка на сервер в iOS 🚀 Я заметил, что в сети есть тонны статей с советами и туманными теориями, но почти нет реа
Фоновая загрузка на сервер в iOS 🚀 Я заметил, что в сети есть тонны статей с советами и туманными теориями, но почти нет реальных примеров того, как реализовать фоновую загрузку в iOS-приложениях. Поэтому в этой статье я расскажу об основах выполнения кода в фоновом режиме и покажу вам реальный проект, в котором я реализовал фоновую загрузку файлов. Статья: https://medium.com/@diananareiko8/background-upload-in-ios-f885ed439bd3 Платформа: iOS

Понимаем целостность ViewModel при изменении конфигурации в Android Одна из самых распространенных проблем, с которой сталкив
Понимаем целостность ViewModel при изменении конфигурации в Android Одна из самых распространенных проблем, с которой сталкиваются Android-разработчики - управление данными при изменении конфигурации, например при повороте экрана. Традиционно для сохранения и восстановления данных требовалась обработка onSaveInstanceState() или использование сохраненных фрагментов. Архитектурный компонент ViewModel упрощает этот процесс, выживая при изменении конфигурации и сохраняя данные, связанные с пользовательским интерфейсом. Но как ViewModel достигает этого сохранения внутри себя? Давайте погрузимся в механику и внутреннюю реализацию системы ViewModel. Статья: https://proandroiddev.com/understanding-viewmodel-persistence-across-configuration-changes-in-android-4dc26fa8ae59 Платформа: Android

Почему никогда не следует использовать !! в Kotlin Использование !! - это плохая практика; множество альтернатив покрывают вс
Почему никогда не следует использовать !! в Kotlin Использование !! - это плохая практика; множество альтернатив покрывают все остальные возможные случаи. Использование этого оператора - это хак и сокращение, которое приведет к обратному результату и не сэкономит вам много времени даже в момент написания. Не стоит использовать его, если только вы не пишете короткий личный скрипт. Статья: https://apptractor.ru/info/articles/pochemu-nikogda-ne-sleduet-ispolzovat-v-kotlin.html Платформа: Android

Ищем неиспользуемый код с Periphery Недавно мне рассказали о Periphery, инструменте командной строки для поиска неиспользуемо
Ищем неиспользуемый код с Periphery Недавно мне рассказали о Periphery, инструменте командной строки для поиска неиспользуемого кода в проектах на Swift. Для чего нужен свободный от работы день, как не для того, чтобы весело поиграть с новым инструментом? Статья: https://apptractor.ru/info/articles/ischem-neispolzuemyy-kod-s-periphery.html Платформа: iOS

ADBR-Server - современная реализация сервера Android Debug Bridge (ADB), написанная на Rust, с упором на сопровождаемость код
ADBR-Server - современная реализация сервера Android Debug Bridge (ADB), написанная на Rust, с упором на сопровождаемость кода, стабильность и лучшую обработку ошибок. В настоящее время поддерживает только Linux-системы и USB-устройства (пока что). Этот сервер работает в тандеме с ADBR Client, чтобы обеспечить полную замену ADB. Вместе они обеспечивают повышенную стабильность, лучшую обработку ошибок и уникальные возможности при использовании в паре. В будущих выпусках будут представлены эксклюзивные функции, использующие совместную работу клиента и сервера. Проект ADBR направлен на улучшение возможностей отладки Android-приложений. ADBR-Server на GitHub: https://github.com/xDvir/ADBRServer Платформа: Android ⭐️: 21

Интегрируем Rust в Android-приложение Rust — это язык системного программирования общего назначения, который существует уже д
Интегрируем Rust в Android-приложение Rust — это язык системного программирования общего назначения, который существует уже довольно давно. Его можно использовать для выполнения задач, которые реализуются сейчас на C и C++, но с гораздо большей безопасностью памяти. Это позволяет использовать Rust для написания программ или скриптов для многих операционных систем, включая Android. Вы можете задаться вопросом, как это возможно и есть ли простой способ сделать это. Вот об этом эта статья! Статья: https://apptractor.ru/info/articles/integriruem-rust-v-android-prilozhenie.html Платформа: Android

AppFiles - Mobile Development - Telegram 频道 @applib 的统计与分析