AppFiles - Mobile Development
Ir al canal en Telegram
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Mostrar más2 170
Suscriptores
Sin datos24 horas
+47 días
+630 días
Archivo de publicaciones
SwiftUI: Разбираемся с identity на примере переходов
Концепция идентификации (identity) в SwiftUI не так проста, как могло бы показаться на первый взгляд. Один из лучших способов разобраться в ней — понять роль идентичности в переходах (transitions).
В SwiftUI идентификация является ключом к пониманию работы системы рендеринга. Идентификатор View говорит SwiftUI о том, какие из значений этого View соответствуют одному и тому же отрисованному представлению на протяжении его жизненного цикла. Поэтому идентификация сильно влияет на корректность, производительность и, как мы увидим, на переходы.
Перевод: https://habr.com/ru/companies/otus/articles/780142/
Платформа: iOS
Как управлять сложностью состояния — Сергей Опивалов
Сергей Опивалов, Senior Software Engineer в Gradle, на весеннем Мобиусе сделал доклад об управлении сложностью состояния. Я поговорил с Сергеем и обсудил возможности предлагаемого им решения.
Интервью: https://apptractor.ru/info/interview/kak-upravlyat-slozhnostyu-sostoyaniya-sergey-opivalov.html
Платформа: Android/архитектура
Android-PiP - библиотека для Android, которая помогает использовать режим "картинка в картинке". В репозитории также есть пример приложения, показывающий, как использовать библиотеку.
Android-PiP на GItHub: https://github.com/mohsenoid/Android-PiP
Платформа: Android
⭐️: 11
Видео и подкасты за неделю:
•
(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
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
