AppFiles - Mobile Development
Ir al canal en Telegram
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Mostrar más2 174
Suscriptores
+124 horas
+47 días
+1130 días
Archivo de publicaciones
Готовим конфигурацию Android-приложения с помощью Dynamic Proxy и рефлексии
Android-разработчик RuStore Анатолий Гусев расскажет, как приготовить систему «холодных» конфигов для большого Android-приложения, построенного на многомодульной архитектуре. Под «холодными» конфигами здесь подразумеваются настройки приложения, которые нужно делать локально на девайсе без необходимости загружать их из сети.
Статья: https://habr.com/ru/companies/vk/articles/777874/
Платформа: Android
Откройте для себя Journaling Suggestions API
Journaling Suggestions - это визуальный интерфейс подборщика для iPhone-приложений. В нем отображаются личные события, происходящие в жизни человека, например место, которое он посетил, человек, с которым он общался, фотография в его библиотеке или песня, которую он постоянно играет. Например, если ваше приложение способствует написанию личных текстов, отобразите пикер, чтобы дать людям идеи для их творческого контента. Когда кто-то выбирает предложение из подборщика, система предоставляет вашему приложению подробную информацию об этом событии. Например, приложение для ведения дневника использует эти сведения для отображения начала новой записи в дневнике о выбранном предложении.
Узнайте, как новый Journaling Suggestions API может помочь людям размышлять о маленьких моментах и важных событиях в их жизни с помощью вашего приложения, при этом защищая их конфиденциальность. Узнайте, как использовать API для получения ассетов и метаданных для предложений по журналированию, вызова пикера в верхней части приложения, сохранения предложенного контента и многого другого.
Видео: https://developer.apple.com/videos/play/tech-talks/111384/
Платформа: iOS
Старый, но все еще полезный репозиторий с 30 учебными проектами для iOS-разработчика. В нем рассматриваются вопросы использования UIKit, UIScrollView, UITableView, UICollectionView, CAAnimations, Local Notification, MapKit, Contact и Core ML, Core Data, открытых фреймворков , TDD, XCTest и многого другого.
Swift 30 Projects на GitHub: https://github.com/soapyigu/Swift-30-Projects
Платформа: iOS
⭐️: 7.8K
Видео и подкасты за неделю:
•
(iOS En) How To Create A Tic Tac Toe Game in Xcode 15 (SwiftUI)
• (iOS En) Interactive Widgets – Intents
• (iOS En) SwiftUI Complex Hero Animation With Synchronized ScrollViews
• (iOS En) Create your first app with SwiftUI and SwiftData
• (iOS En) Swift Data Many to Many relationships
• (iOS En) How To Create And Use A Card View in Xcode 15 (SwiftUI)
• (And Ru) Как интегрировать Dynamic Features в Android-приложение
• (And En) Enhancing Jetpack Compose app performance
• (And En) Latest Updates to Google Play, New APIs in Jetpack Compose, and more dev news!
• (And En) mutableStateOf() VS. mutableIntStateOf() - Auto-Boxing Explained
• (And En) Is it okay to use runBlocking?
• (Crs Ru) PWA vs. нативные приложения: когда и как выбрать?
• (Crs En) Flutter GameDev with Casual Games Toolkit & Flame
• (Dev Ru) Операционные системы — Как это работает
• (Dev Ru) Как зарабатывать на обучении в IT?
• (Dev Ru) TypeScript убил JavaScript?
• (Dev En) MLOps Course – Build Machine Learning Production Grade Projects
Конечно же поставьте 👍 и поделитесь подборкой!Разработчики будут бесплатно получать 25 часов Xcode Cloud в месяц
Apple сообщает, что с января 2024 года все участники программы для разработчиков Apple получат 25 вычислительных часов в месяц в Xcode Cloud в качестве стандарта без дополнительной оплаты
Новость: https://apptractor.ru/info/news/razrabotchiki-budut-besplatno-poluchat-25-chasov-xcode-cloud-v-mesyats.html
Платформа: iOS
Tusky - это красивый Android-клиент для Mastodon. Mastodon - это федеративная социальная сеть ActivityPub. Это означает, что ни один субъект не контролирует всю сеть, а, подобно электронной почте, волонтеры и организации управляют своими собственными независимыми серверами, пользователи которых могут беспрепятственно взаимодействовать друг с другом. Сам клиент это материальный дизайн, реализация большинства API Mastodon, поддержка нескольких аккаунтов, темная, светлая и черная темы с возможностью автопереключения в зависимости от времени суток, выбор между различными стилями эмодзи, оптимизация для всех размеров экрана, полностью открытый исходный код - никаких бесплатных зависимостей, таких как сервисы Google.
Tusky на GitHub: https://github.com/tuskyapp/Tusky
Платформа: Android
⭐️: 2.3K
ColorfulX - это реализация многоцветных градиентов с помощью Metal. Поддерживаются платформы UIKit, SwiftUI и AppKit.
ColorfulX на GitHub: https://github.com/Lakr233/ColorfulX?
Платформа: iOS
⭐️: 49
Реализация параллакс-карусели из SwiftUI в Jetpack Compose
В рамках повседневной деятельности я часто изучаю последние разработки на таких платформах, как X и Medium. Однажды утром, пролистывая X, наткнулся на GitHub-репозиторий, созданный KavSoft и сразу же привлекший мое внимание. Этот проект, размещенный на KavSoft-Tutorials-iOS, представлял собой потрясающую параллакс-карусель. Ее визуальная привлекательность и удобство использования просто завораживали. В тот момент я решил, что должен воссоздать эту магию в Jetpack Compose для Android. Данная статья служит своеобразным мостом между этими двумя платформами, показывая, как преобразовать параллакс-карусель SwiftUI в ее эквивалент в Jetpack Compose.
Статья: https://apptractor.ru/SwiftUI-Jetpack-Compose
Платформа: Android
CountryCP - библиотека для выбора страны и телефонного кода для Jetpack Compose.
CountryCP на GitHub: https://github.com/tfaki/CountryCP
Платформа: Android
⭐️: 26
Использование on-demand ресурсов для безопасного хранения ключей API в iOS-приложениях
Следует помнить, что извлечь строки из файлов IPA довольно просто, и поэтому, если мы храним API-ключи в коде, кто-то другой может получить к ним доступ. Это, конечно, большая проблема для безопасности. Один из способов избежать этого - использовать ресурсы Apple загружаемые по требованию с включенной предварительной загрузкой. Это означает, что как только мы установим приложение, iOS загрузит дополнительные ресурсы отдельно, и эти ресурсы могут содержать наши API-ключи. Такое разделение позволяет не помещать API-ключи в IPA-файл.
Статья: https://apptractor.ru/info/articles/ispolzovanie-on-demand-resursov-dlya-bezopasnogo-hraneniya-klyuchey-api-v-ios-prilozheniyah.html
Платформа: iOS
Готовим конфигурацию Android-приложения с помощью Dynamic Proxy и рефлексии
В этой статье показано, как приготовить систему «холодных» конфигов для большого Android-приложения, построенного на многомодульной архитектуре. Под «холодными» конфигами здесь подразумеваются настройки приложения, которые нужно делать локально на девайсе без необходимости загружать их из сети.
Статья: https://habr.com/ru/companies/vk/articles/777874/
Платформа: Android
IMSwitch - это переключатели для SwiftUI с изображения. Они обеспечивают визуально привлекательный и настраиваемый способ переключения между двумя опциями. Есть настройка цветов, анимаций, поддержка RTL. В целом - простой в использовании, настраиваемый UISwitch, содержащий изображения.
IMSwitch на GitHub: https://github.com/mohamed-arradi/IMSwitch
Платформа: iOS
⭐️: 7
FreeToGame - это KMP-проект для Android, iOS, Desktop и Wear OS с общим пользовательским интерфейсом на Compose UI. Проект берет данные из FreeToGame API, поддерживает динамические цвета для Android, а также светлые и темные темы для всех платформ.
FreeToGame на GitHub: https://github.com/Felix-Kariuki/FreeToGame
Платформа: кроссплатформа
⭐️: 17
Вопросы с собеседований: в чем разница Weak и Unowned в Swift
В Swift
weak и unowned - это два различных типа ссылок, которые позволяют избежать циклических зависимостей между объектами и предотвратить утечки памяти.
Сниппет: https://apptractor.ru/info/techhype/voprosy-s-sobesedovaniy-v-chem-raznitsa-weak-i-unowned-v-swift.html
Платформа: iOS
Другие вопросы: списокВидео и подкасты за неделю:
•
(iOS En) Swift Data One to Many Relationships
• (iOS En) SwiftData Starter Project
• (iOS En) SwiftUI Shine Effect – Custom View Modifier
• (iOS En) SwiftUI: Infinite Looping ScrollView - iOS 17
• (iOS En) SwiftLeeds 2023 Videos
• (And Ru) Разработка UI на Jetpack Compose
• (And Ru) Треш-обзор Geekbrains. Полный разбор курса по Android
• (And En) What's new in Android Studio Hedgehog
• (And En) Now in Android: 96 - New APIs for adaptive layouts, Google Play updates, and more!
• (And En) compileSdk VS. targetSdk VS. minSdk - THIS Is the Difference
• (And En) Full Guide to Shared Element Transition Animation in Android with Jetpack Compose
• (Crs En) Shared Navigation on Kotlin Multiplatform with Decompose (KMP)
• (Crs En) Coil Goes Multiplatform with Colin White
• (Crs En) Step-by-Step Guide: Creating a Peer-to-Peer Tic Tac Toe Game in Flutter
• (Dev Ru) Автотесты в AvitoTech
• (Dev Ru) Секреты собеседований с Алеексеем Быковым (Reddit)
• (Dsg Ru) Podlodka #343: что такое Motion Design?
Поставьте 👍 и поделитесь подборкой!Pow - восхитительные анимационные эффекты SwiftUI для вашего приложения от Emerge Tools. В Pow есть разные переходы и эффекты для изменений, которые срабатывают при каждом обновлении значения, подпрыгивания - частицы, тряска, сияние, вращение и т.п.
Pow на GitHub: https://github.com/EmergeTools/Pow
Платформа: iOS
⭐️: 1.7K
Элегантная обработка событий в Kotlin — рефакторинг в 7 шагов
В мире разработки программного обеспечения рефакторинг кода — это герой, который спасает нас от запутанного и неэффективного кода. В этой статье мы отправимся в новое приключение, чтобы переделать Kotlin-код, обрабатывающий различные события. Наша миссия? Повысить производительность и улучшить стиль, сделав код более гладким, удобным и приятным для работы.
Шаг 1: Старт
Шаг 2: HashMap и полезная нагрузка для максимальной производительности
Шаг 3: Добавление синтаксического сахара с помощью Infix функций
Шаг 4: Использование Inline функций для элегантности
Шаг 5: Повышение register до функции расширения
Шаг 6: Устранение lateinit переменных с помощью делегированных свойств
Шаг 7: Несколько обработчиков событий для принципа единой ответственности
Статья: https://apptractor.ru/info/articles/elegantnaya-obrabotka-sobytiy-v-kotlin-refaktoring-v-7-shagov.html
Платформа: Android/Kotlin
Вопросы с собеседований: что такое контент-провайдер (Content Provider) в Android
Контент-провайдер (Content Provider) в Android — это компонент, который предоставляет доступ к данным другим приложениям. Он представляет данные в виде таблицы или набора таблиц, похожих на таблицы в реляционной базе данных. Контент-провайдеры используются для совместного использования данных между приложениями, а также для предоставления доступа к данным, которые хранятся в приложении, другим приложениям.
Сниппет: https://apptractor.ru/info/techhype/voprosy-s-sobesedovaniy-chto-takoe-kontent-provayder-content-provider-v-android.html
Платформа: Android
Другие вопросы: список
DebugMenu и визуальная иерархия элементов интерфейса
Среди технических задач мое внимание привлекла задача по визуализации иерархии элементов интерфейса. Она казалась мне идеальной: помимо очевидной пользы для разработчиков, которым не всегда удобно работать с View Hierarchy в Xcode (в некоторых случаях, изображения у вью отсутствуют), и невозможно при сборках через AppCenter или TestFlight, задача обещала интересные вызовы — возможность поработать с SceneKit. К тому же, наличие открытых библиотек, решающих подобные задачи, предполагало легкость интеграции в наш проект.
Однако, как часто бывает в мире разработки, первоначальные ожидания разошлись с реальностью. В этой статье я хочу поделиться опытом, который получил, разрабатывая и внедряя эту фичу, рассказать о технических подробностях и о том, почему использование отрытых библиотек может оказаться не самым простым делом.
Статья: https://habr.com/ru/companies/alfa/articles/775186/
Платформа: iOS
FlexibleBottomSheet - это расширенный нижний экран для Jetpack Compose, который позволяет реализовать сегментированный размер и немодальный тип, подобно Google Maps. Он также предлагает дополнительные удобства, включая указание размеров листа, отслеживание его состояния и другие настройки.
FlexibleBottomSheet на GitHub: https://github.com/skydoves/FlexibleBottomSheet
Платформа: Android
⭐️: 194
