AppFiles - Mobile Development
Kanalga Telegram’da o‘tish
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Ko'proq ko'rsatish2 169
Obunachilar
+124 soatlar
+17 kunlar
+530 kunlar
Postlar arxiv
Health Lens - это приложение для HealthKit, которое позволяет пользователям экспортировать и анализировать данные о своем здоровье. Цель HealthLens - стать недостающей кнопкой «экспорта» данных о здоровье для одержимых данными пользователей, которым нужна персонализированная аналитика.
Health Lens на GitHub: https://github.com/wkaisertexas/HealthLens
Платформа: iOS
⭐️: 1
Paperize - это приложение для автоматической смены обоев. Внутри Kotlin, Jetpack Compose, Material 3, Dagger Hilt, Room, анимации Lottie Compose, Landscapist и еще несколько библиотек.
Paperize на GitHub: https://github.com/Anthonyy232/Paperize
Платформа: Android
⭐️: 129
Разбираемся с новой уязвимостью Android-библиотеки Jetpack Navigation: как открыть любой фрагмент из вашего приложения?
Недавно специалисты из компании Positive Technologies нашли серьезную проблему безопасности в популярной библиотеке для навигации в приложениях Android – Jetpack Navigation. Эта уязвимость позволяет открывать любые фрагменты внутри приложения.
К большому сожалению, несмотря на усилия сообщества, об этой уязвимости мало кто знает. Поэтому сегодня мы хотим еще раз подсветить данную проблему с углублением в детали. В статье мы разберем, что из себя представляет библиотека Jetpack Navigation и ее основные элементы, в чем заключается уязвимость и насколько она опасна, а также приведем немного статистики по уязвимым приложениям.
Статья: https://habr.com/ru/companies/swordfish_security/articles/830338/
Платформа: Android/безопасность
Как уменьшить расход памяти при загрузке UIImage с диска
Загрузка изображений с диска в массив внутренней памяти может увеличить потребление памяти. Переписав код с использованием API несистемного кэширования, мы значительно улучшили использование памяти. Если ваше приложение требует обработки изображений, решение на основе NSCache будет полезным.
Статья: https://apptractor.ru/info/articles/kak-umenshit-rashod-pamyati-pri-zagruzke-uiimage-s-diska.html
Платформа: iOS
Swift Testing Revolutionary конвертирует тестовые кейсы, написанные в XCTest, в Swift Testing. Этот инструмент можно использовать как плагин для Xcode или, например, как инструмент командной строки.
По умолчанию все тестовые файлы будут перезаписаны, если вы не передали флаг --dry-run. Не забудьте сделать резервную копию тестовых файлов перед запуском этого инструмента.
Swift Testing Revolutionary на GitHub: https://github.com/giginet/swift-testing-revolutionary
Платформа: iOS
⭐️: 1.5K
MVI в Eventbrite
Приложение Eventbrite для Android основано на архитектуре MVI. В этой статье я расскажу, что такое архитектура MVI, чем она отличается от MVVM, в чем ее преимущества и как мы можем реализовать ее в нашем приложении. Я также приведу пример, в котором мы формируем мероприятие в приложении для посетителей Eventbrite.
Статья: https://apptractor.ru/info/news/mvi-v-eventbrite.html
Платформа: Android
Разбираемся с MavenGate. Настолько ли он страшен на самом деле
В начале этого года специалисты из компании OverSecured опубликовали статью, в которой подробно описали атаку на цепочку поставок MavenGate, поэтому сильно заострять внимание на описании атаки не стану. Если вкратце, злоумышленник может выкупить домен разработчика библиотеки и получить возможность свободно обновлять эту библиотеку от имени автора, и в теории, может добавить что-то нехорошее в эту библиотеку. А разработчики приложений, не проверив содержимое, подтянут инфицированную библиотеку к себе в проект. Ситуация неприятная.
По версии компании OverSecured этой атаке может быть подвержено 18% всех зависимостей в публичных репозиториях, таких, как MavenCentral, jCenter и jitpack. Это довольно много, особенно, если учесть, что open-source проекты, в основном, используют либо зависимости из публичных репозиториев, либо такие же open-source библиотеки из jitpack.
И здесь мне стало интересно, насколько open-source проекты мобильных приложений Android реально подвержены этой атаке, и сколько библиотек уже «инфицировано» в составе этих самых проектов.
Статья: https://habr.com/ru/companies/infotecs_official/articles/830600/
Платформа: Android/безопасность
Удобная навигация в SwiftUI для iOS 16 и выше
Не будем мусолить всем известную проблему с навигацией в SwiftUI до 16 iOS, так как уже много крутых статей на эту тему есть в открытом доступе. Близится релиз 18 iOS, а это значит, что минимальные таргеты поднимутся на единичку ближе к 16. В данной статье хочу представить на
мой взгляд наиболее удобную реализацию навигации на NavigationStack. Разумеется в концепции старого доброго MVVM, поэтому фанаты UDF извините.
Статья: https://habr.com/ru/articles/830392/
Платформа: iOSПишем свой Swift макрос без лида, ИТ-курсов и кредитов
Меня зовут Сергей, я iOS-разработчик в Альфа-Банке. В повседневной работе я использую множество проверенных инструментов, а в свободное время мне нравится исследовать новые возможности и расширять свои горизонты за пределами используемых в продакшене технологий.
Сегодня я хотел бы рассказать вам о макросах в Swift 5.9, как их можно применять для избавление от бойлерплейта в коде, как их создавать, какие сложности есть с ними и куда всё это движется. Так как я работаю в команде дизайн-системы, мы рассмотрим макросы на примере добавления метода copy для всех моделей UI-компонентов.
Статья: https://habr.com/ru/companies/alfa/articles/828888/
Платформа: iOS
Самый первый Android-смартфон в мире: каким был HTC Dream? Пишем приложения для Android 1.0 в 2024
А знаете ли вы, какой Android-смартфон был первым в мире и как он выглядел? А я теперь не просто знаю, но и могу физически пощупать настоящую легенду своих лет — HTC Dream, также известный как T-Mobile G1. Однако G1 был мне интересен не только как коллекционный девайс для гика, но и потенциально-диковинное устройство для разработки приложений: ведь в современном мире принято повышать минимальную версию Android для работы тех или иных программ, а я свои буду… понижать, чтобы они смогли заработать даже на самой первой версии Android! В сегодняшней статье мы с вами: посмотрим на Dream и постараемся понять, почему HTC выбрала именно Android, неудачно перепакуем аккумулятор, бэкпортируем мои клиенты ВК, YouTube и Telegram и посмотрим, правда ли старичок «бесполезен», как говорят в ретро-обзорах или что-то ещё да может!
Статья: https://habr.com/ru/companies/timeweb/articles/829416/
Платформа: Android
Next Player - это нативный видеоплеер для Android, написанный на Kotlin. Он предоставляет пользователям множество функций и простой и удобный интерфейс для воспроизведения видео на их Android-устройствах.
Next Player на GitHub: https://github.com/anilbeesetti/nextplayer
Платформа: Android
⭐️: 1.3K
Видео и подкасты за неделю @AppFiles
•
(iOS Ru) 10 вопросов с собеседования iOS-разработчика (+ все собеседования)
• (iOS Ru) Прощаемся с XCAssets. Экспорт картинок из Figma на CDN, а оттуда — в приложение
• (iOS Ru) SwiftPM — фреймворки вместо кофе
• (iOS En) Custom Button Styles like a PRO! (SwiftUI)
• (iOS En) Facebook* Messenger Gradient Effect - SwiftUI
• (iOS En) Custom SwiftUI Countdown Timer
• (iOS En) SwiftUI: Drop Down Picker
• (iOS En) Exploring the Swift Algorithms Package
• (And Ru) Android-разработка в 2024 году
• (And Ru) Вынос сборки Android-проектов с машины разработчика на сервер
• (And En) Micro optimizations - Android Developers Backstage
• (And En) Edge-to-edge and insets | Compose Tips
• (And En) Exploring Exposed: A Kotlin Solution to Database Access
• (And En) Debugging the Future: Exploring Coroutine Debugger Tools
• (Crs En) How to Generate Executables in KMP (apk, iab, msi, dmg, deb)
• (Crs En) Local Preferences in Kotlin Multiplatform With DataStore
• (Crs En) Enabling Kotlin Multiplatform Success: The Android Jetpack Journey
• (Crs En) Making the Big Kotlin Multiplatform Decision
• (Dev Ru) Mobile Performance: расшифровка метрик
• (Dev Ru) Видео Yandex BDUI Conf 2024
• (Dev En) Multithreading for Beginners
Что вы посмотрели за неделю?
#ios #android #mobile #videoBookPlayer - iOS-плеер для аудиокниг. Умеет использовать AirDrop, Файлы, Zip-архивы, создавать плейлисты, делить книги на главы, менять скорость воспроизведения, поддерживает VoiceOver и пр.
BookPlayer на GitHub: https://github.com/TortugaPower/BookPlayer
Платформа: iOS
⭐️: 1.5K
Топ-5 плагинов для Android Studio
1. Kotlin Fill Class
2. ADB Idea
3. Android Drawable Preview
4. Key Promotex X
5. IdeaVim
Статья: https://apptractor.ru/info/articles/top-5-plaginov-dlya-android-studio.html
Платформа: Android
Компонентная архитектура приложений на Flutter: почему выбрать BLoC недостаточно
Меня зовут Никита Королев, я тимлид Flutter‑команды в компании IBS. Уже год я работаю на проекте компании «Атом» — разработчика российского электромобиля. На данный момент наша команда занимается разработкой приложений для направления «Такси». В этой статье расскажу о подходе к архитектуре приложений, который мы разработали и используем в наших проектах, а также почему нам недостаточно одного только BLoC.
Статья: https://habr.com/ru/companies/ibs/articles/828428/
Платформа: Flutter/кроссплатформа
Сериализация в Kotlin - ошибки, которые я допустил с полиморфизмом и не только
Приходилось ли вам сталкиваться с ошибками полиморфной сериализации в ваших проектах на Kotlin? Если да, то вы не одиноки. Полиморфная сериализация, хотя и невероятно мощная, может быть сложной для правильной работы. От неожиданных несоответствий типов до тонких проблем с конфигурацией - многие подводные камни могут привести к досадным ошибкам и недоразумениям.
В этой статье мы рассмотрим сериализацию Kotlin, сосредоточившись на объекте Json. Я дам практические рекомендации по ее эффективному использованию, особенно при работе с полиморфными сериализованными классами. К концу этого руководства вы будете обладать знаниями, позволяющими использовать возможности сериализации Kotlin.
Статья: https://medium.com/@kerry.bisset/kotlin-serialization-json-mistakes-i-made-with-polymorphism-and-more-e8ae367dc90a
Платформа: Android
Скрытая (на виду) сила KeyPath'ов
Меня зовут Максим Черноусов, и я занимаюсь iOS-разработкой в Райфе. Я обожаю использовать и дизайнить классные API. А один из самых часто используемых строительных блоков для хороших API в Swift — это KeyPath'ы. Сегодня о них и поговорим.
KeyPath`ы сегодня используются повсеместно. Давайте узнаем, как с их помощью проектировать лучшие API.
Статья: https://habr.com/ru/companies/raiffeisenbank/articles/828896/
Платформа: iOS
Пет-проект нашего читателя. Finch - настраиваемое меню отладки для разработки Android-приложений. Оно не влияет на рабочий код. Разработчики могут легко добавить свои собственные функции отладки с помощью простых шагов.
Finch на GitHub: https://github.com/kernel0x/finch
Платформа: Android
⭐️: 249
Если у вас есть библиотеки, открытые или просто интересные пет-проекты, делитесь. Будем публиковать.
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
