AppFiles - Mobile Development
Open in Telegram
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Show more2 181
Subscribers
+124 hours
+27 days
+1730 days
Posts Archive
Видео и подкасты за неделю:
•
(iOS Ru) xcconfig: интеграция в проект, валидация и подключение к Tuist
• (iOS Ru) Объединяем Combine и Swift Concurrency
• (iOS Ru) SwiftData как замена CoreData: глубокое погружение
• (iOS Ru) Маслины и грабли: все, что вам нужно знать о разработке продукта полностью на SwiftUI
• (iOS En) Implementing Drag Gestures In Xcode 15
• (iOS En) How to Answer iOS Interview Questions Like a Pro
• (iOS En) App Localizations
• (And Ru) Android SDK Extensions — новые фичи на старых Android
• (And Ru) Разработка для нестандартных устройств
• (And Ru) Мок-собеседование по Android System Design
• (And En) Now in Android: 97 - Gemini, AICore, ML Kit, Android Studio Hedgehog, and more!
• (And En) Detecting faces and landmarks - ML on Android with MediaPipe
• (And En) Should You Use a Navigation Library in Jetpack Compose?
• (And En) Full Guide to Multiple Back Stacks in Jetpack Compose - Android Studio Tutorial
• (Crs Ru) Многомодульность на Flutter или как не выстрелить себе в ногу
• (Dev Ru) Как формировать топовые команды
• (Dev Ru) Ozon Tech Community Techdoc Meetup
Как обычно - поставьте 👍 и поделитесь подборкой!ChatGPT 4 Xcode - этот проект создает расширение для редактора Xcode, позволяющее разработчику использовать chatGPTот openAI или локальный LLM для своего кода. С использованием ИИ появляется возможность автоматически рефакторить код, преобразовывать json-файл в swift-код, добавлять комментарии, создавать юнит-тесты, объяснять код.
ChatGPT 4 Xcode на GitHub: https://github.com/JackieQi/XcodeGPT
Платформа: iOS
⭐️: 4
Мой опыт прохождения собеседования в Google
Как и большинство инженеров-программистов, получить работу в Google было моей мечтой на протяжении многих лет. Google славится своей инженерной культурой, сложными задачами и инновационными технологиями. Возможность работать в такой влиятельной компании рядом с лучшими умами в отрасли была для меня главным стимулом.
Статья: https://apptractor.ru/info/articles/moy-opyt-prohozhdeniya-sobesedovaniya-v-google.html
Платформа: собеседования
Символизация логов сбоев с помощью Xcode
Для разработчика очень важно определить точную ошибку в коде и убедиться, что вы сможете исправить сбой, который потенциально может затронуть многих пользователей вашего приложения.
Статья: https://apptractor.ru/info/articles/simvolizatsiya-logov-sboev-s-pomoschyu-xcode.html
Платформа: iOS
Google Generative AI Sample - пример приложения для Android, который демонстрирует, как использовать современные генеративные модели ИИ (например, Gemini) для создания функций и приложений на базе ИИ.
Чтобы опробовать этот пример приложения, вам необходимо использовать последнюю стабильную версию Android Studio. Однако если вы хотите получить последние проверки линтера и функции производительности для ИИ, используйте последнюю предварительную версию Android Studio.
Google Generative AI Sample на GitHub: https://github.com/google/generative-ai-android/tree/main/generativeai-android-sample
Платформа: Android
⭐️: 34
Интегрируем Rust в Android-приложение
Есть некоторая информация, предоставленная Google, но она сложна для понимания новичком. Цель этого пошагового руководства — предоставить простое, но эффективное руководство по интеграции кода Rust в разработку для Android. Никаких предварительных знаний C или C++ или JNI не требуется.
Статья: https://apptractor.ru/info/articles/integriruem-rust-v-android-prilozhenie.html
Платформа: Android
Aespa - это надежная и интуитивно понятная библиотека Swift для захвата видео и фотографий, созданная с упором на простоту настройки и использования. Она разработана так, чтобы ею было легко пользоваться как начинающим, так и среднего опыта разработчикам. Если вы только начинаете записывать видео на iOS или хотите упростить существующую настройку камеры, Aespa может стать идеальным вариантом для вашего проекта.
Фичи:
• Суперпростота в использовании
• Отказ от скучных настроек для сессии и альбома
• Предлагайте необходимые предустановки и настройки
• Комплексная обработка ошибок
• Больше не нужны делегаты
• Поддержка Combine
• Автоматизированное управление системными разрешениями
• Бесшовный захват изображений и видео в рамках одного сеанса предварительного просмотра.
• Потокобезопасный.
•Поддержка SPM
Aespa на GitHub: https://github.com/enebin/Aespa
Платформа: iOS
⭐️: 26
iOS-разрабокта становится сложнее? - обсуждение на Reddit
Прекрасное обсуждение - становится ли iOS-разработка сложнее? Для автора - да, но не все с ним согласны.
Обзор: https://apptractor.ru/info/articles/ios-razrabokta-stanovitsya-slozhnee-obsuzhdenie-na-reddit.html
Платформа: iOS
Как я использую мутационное тестирование для поддержки хорошего покрытия тестами
Говоря простым языком, мутационное тестирование подразумевает изменение рабочего кода и последующий запуск тестов. Если после этого изменения происходит сбой, то обычно это условие покрывается тестами. Однако если все тесты проходят, то, скорее всего, для этого условия тоже не хватает тестового случая.
Статья: https://apptractor.ru/info/articles/kak-ya-ispolzuyu-mutatsionnoe-testirovanie-dlya-podderzhki-horoshego-pokrytiya-testami.html
Платформа: тестирование
Compose Preference - реализация экрана настроек на Jetpack Compose Material 3. Есть множество категорий (чекбоксы, списки, множественный выбор и т.п.), темы.
Compose Preference на GitHub: https://github.com/zhanghai/ComposePreference
Платформа: Android
⭐️: 38
Готовим конфигурацию 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
