Видео и подкасты за неделю на @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
#ios #android #mobile #video
•
(iOS Ru) Переезд с UIKIT на SwiftUI — кажется, УЖЕ ПОРА!•
(iOS En) Complete Habit Tracker App - SwiftUI, SwiftData CRUD•
(iOS En) Carousel With Ambient Background Effect - SwiftUI•
(iOS En) How to hide a View when the app goes into the background•
(iOS En) RawRepresentable and AppStorage•
(iOS En) Persistence Image Caching - SwiftUI•
(iOS En) Reduce Memory Consumption when using Large Images•
(And Ru) Олег Афанасьев про причину создания Rustore и будущее Play Market•
(And En) What's new in Android Studio Ladybug•
(And En) Media & Camera experiences•
(And En) How to Encrypt DataStore On Android•
(And En) Android XR Introduction - Build Apps With AR & VR Support•
(And En) How to Record the Screen of ANY Android App•
(And En) We fixed an inconsistency in Kotlin (non-local break & continue)•
(And En) Guards and Pattern Guards•
(Crs En) React Native Full Course for Beginners•
(Crs En) Full-Stack Game Development - Kotlin & Compose Multiplatform•
(Dev En) BA x Frontend: Как перестать проектировать в голове•
(Dev En) IoT Home Automation Project Tutorial#ios #android #mobile #video
Как новая функция Xcode 16 помогла избавиться от 66,000 строк кода
В Xcode 16 недавно появилась функция buildable папок для организации файлов в проектах. Это помогает IDE избавиться от необходимости использования автоматически генерируемых ссылок на файлы в pbxproj для распознавания файлов. Теперь этот процесс происходит автоматически, и изменения отражаются в Xcode, когда файлы изменяются через Finder.
Статья: https://apptractor.ru/info/articles/kak-novaya-funktsiya-xcode-16-pomogla-izbavitsya-ot-66-000-strok-koda.html
Платформа: iOS
В Xcode 16 недавно появилась функция buildable папок для организации файлов в проектах. Это помогает IDE избавиться от необходимости использования автоматически генерируемых ссылок на файлы в pbxproj для распознавания файлов. Теперь этот процесс происходит автоматически, и изменения отражаются в Xcode, когда файлы изменяются через Finder.
Статья: https://apptractor.ru/info/articles/kak-novaya-funktsiya-xcode-16-pomogla-izbavitsya-ot-66-000-strok-koda.html
Платформа: iOS
👍3
Aspecto - это макет, который идеально сохраняет соотношение сторон каждого элемента.
Фичи: работает для Jetpack Compose/Compose Multiplatform, располагает элементы для оптимального использования пространства, использует инкрементные вычисления для плавной работы, защищает от слишком высоких элементов, нарушающих макет, плавно адаптируется к различным размерам экрана.
Aspecto на GitHub: https://github.com/vipulasri/aspecto
Платформа: Android
⭐️: 30
Фичи: работает для Jetpack Compose/Compose Multiplatform, располагает элементы для оптимального использования пространства, использует инкрементные вычисления для плавной работы, защищает от слишком высоких элементов, нарушающих макет, плавно адаптируется к различным размерам экрана.
Aspecto на GitHub: https://github.com/vipulasri/aspecto
Платформа: Android
⭐️: 30
Уменьшаем написание boilerplate с помощью File Templates
Рассказываю о генерации файлов с boilerplate-кодом с помощью удобного механизма задания File Templates в средах разработки Intellij. File Templates позволяет в пару кликов создавать несколько файлов с каким-либо boilerplate-кодом. Хоть статья приводит примеры создания File Templates для Android/Kotlin Multiplatform, она может быть полезна всем, кто работает в средах разработки от Intellij.
Статья: https://habr.com/ru/companies/tbank/articles/872684/
Платформа: Android
Рассказываю о генерации файлов с boilerplate-кодом с помощью удобного механизма задания File Templates в средах разработки Intellij. File Templates позволяет в пару кликов создавать несколько файлов с каким-либо boilerplate-кодом. Хоть статья приводит примеры создания File Templates для Android/Kotlin Multiplatform, она может быть полезна всем, кто работает в средах разработки от Intellij.
Статья: https://habr.com/ru/companies/tbank/articles/872684/
Платформа: Android
❤1
Корутины в Kotlin: делаем «Optimised Out» переменные видимым
Отладка корутинов в Kotlin иногда может напоминать распутывание паутины невидимых нитей — в буквальном смысле. Одна из распространенных ошибок, с которой сталкиваются разработчики — появление страшного сообщения «optimised out» при проверке переменных в приостановленной корутине.
Статья: https://apptractor.ru/info/articles/korutiny-v-kotlin-delaem-optimised-out-peremennye-vidimymi.html
Платформа: Android
Отладка корутинов в Kotlin иногда может напоминать распутывание паутины невидимых нитей — в буквальном смысле. Одна из распространенных ошибок, с которой сталкиваются разработчики — появление страшного сообщения «optimised out» при проверке переменных в приостановленной корутине.
Статья: https://apptractor.ru/info/articles/korutiny-v-kotlin-delaem-optimised-out-peremennye-vidimymi.html
Платформа: Android
❤1
Используем диалог подтверждения в SwiftUI
Экран
Статья: https://apptractor.ru/info/articles/confirmationdialog.html
Платформа: iOS
Экран
confirmationDialog - это компонент SwiftUI, который представляет временное диалоговое окно для подтверждения действия и предоставления набора связанных с ним опций. Он появляется в нижней части экрана и предлагает пользователям кнопки для выбора.Статья: https://apptractor.ru/info/articles/confirmationdialog.html
Платформа: iOS
ViTune - приложение для Android для бесперебойного потокового воспроизведения музыки. Работает с YouTube Music, воспроизводит музыку с вашего устройства, играет в фоне и кэширует для офлайна, умеет искать песни, альбомы, видео и плейлисты, показывать новые композиции по жанру/настроению, работать со словами песен, нормализовать аудио и многое другое.
ViTune на GitHub: https://github.com/25huizengek1/ViTune
Платформа: Android
⭐️: 640
ViTune на GitHub: https://github.com/25huizengek1/ViTune
Платформа: Android
⭐️: 640
👍1
Kotlin Coroutines под капотом: отмена корутин
В этой статье мы разберем такую сущность как Job и как на самом деле под капотом отменяются корутины.
Статья: https://habr.com/ru/articles/873076/
Платформа: Android
В этой статье мы разберем такую сущность как Job и как на самом деле под капотом отменяются корутины.
Статья: https://habr.com/ru/articles/873076/
Платформа: Android
Спасение Legacy кода: укрощение контроллера представлений из тысячи строк
Статья описывает проблему работы с устаревшим кодом на примере огромного View Controller с тысячами строк кода. Автор делится пошаговым подходом к рефакторингу: выделение отдельных компонентов, улучшение тестируемости и постепенное упрощение архитектуры. Основная идея – вместо полного переписывания кода, что может быть рискованным и затратным, следует применять поэтапные улучшения, повышающие стабильность и управляемость проекта.
Это полезный и практичный материал для разработчиков, сталкивающихся с техническим долгом. Методика автора демонстрирует, как грамотно работать с кодом, не останавливая разработку и не подвергая проект опасности. Статья - неплохое руководство для рефакторинга сложных модулей. Она особенно актуальна для тех, кто занимается поддержкой крупных старых проектов или работает в командах, где часто приходится балансировать между исправлением ошибок и добавлением новых фич.
Статья: https://qualitycoding.org/legacy-code-rescue-thousand-line-view-controller/
Платформа: iOS
Статья описывает проблему работы с устаревшим кодом на примере огромного View Controller с тысячами строк кода. Автор делится пошаговым подходом к рефакторингу: выделение отдельных компонентов, улучшение тестируемости и постепенное упрощение архитектуры. Основная идея – вместо полного переписывания кода, что может быть рискованным и затратным, следует применять поэтапные улучшения, повышающие стабильность и управляемость проекта.
Это полезный и практичный материал для разработчиков, сталкивающихся с техническим долгом. Методика автора демонстрирует, как грамотно работать с кодом, не останавливая разработку и не подвергая проект опасности. Статья - неплохое руководство для рефакторинга сложных модулей. Она особенно актуальна для тех, кто занимается поддержкой крупных старых проектов или работает в командах, где часто приходится балансировать между исправлением ошибок и добавлением новых фич.
Статья: https://qualitycoding.org/legacy-code-rescue-thousand-line-view-controller/
Платформа: iOS
👍1
Распространенные ошибки в шаблоне UseCase для Android
В Android-разработке есть две распространенные ошибки:
• Внедрение строгого доступа ViewModel только к UseCase
• Создание сопоставлений «один к одному» между методами Репозитория и UseCase
Статья: https://apptractor.ru/info/articles/rasprostranennye-oshibki-v-shablone-usecase-dlya-android.html
Платформа: Android
В Android-разработке есть две распространенные ошибки:
• Внедрение строгого доступа ViewModel только к UseCase
• Создание сопоставлений «один к одному» между методами Репозитория и UseCase
Статья: https://apptractor.ru/info/articles/rasprostranennye-oshibki-v-shablone-usecase-dlya-android.html
Платформа: Android
🎯 Множественное число в текстовых представлениях SwiftUI с помощью склонения
Отображение чисел в текстах — мелочь, которая может сильно повлиять на качество пользовательского опыта. В фреймворке Foundation есть функция
Статья: https://apptractor.ru/info/articles/mnozhestvennoe-chislo-v-tekstovyh-predstavleniyah-swiftui-s-pomoschyu-skloneniya.html
Платформа: iOS
Отображение чисел в текстах — мелочь, которая может сильно повлиять на качество пользовательского опыта. В фреймворке Foundation есть функция
inflect для автоматического согласования грамматики, которая позволяет сократить количество строк локализации и упростить код.Статья: https://apptractor.ru/info/articles/mnozhestvennoe-chislo-v-tekstovyh-predstavleniyah-swiftui-s-pomoschyu-skloneniya.html
Платформа: iOS
👏1
Blueprint - декларативный UI-конструктор для iOS, написанный на Swift. Blueprint предоставляет архитектуру, которая позволяет декларативно определять иерархию пользовательского интерфейса с помощью значений (структур и перечислений Swift), отображать эту иерархию в приложении, обновлять иерархию при изменении состояния приложения (включая анимированные переходы).
Используйте Blueprint в любом случае, когда вы хотите отобразить иерархию представлений, но не хотите управлять жизненным циклом представлений.
Blueprint появился раньше SwiftUI и работает немного по-другому. Вы можете разместить BlueprintView в SwiftUI, чтобы встроить Blueprint в SwiftUI, а также использовать предоставленный ElementView для создания предварительных просмотров Blueprint в Xcode.
Blueprint на GitHub: https://github.com/square/Blueprint
Платформа: iOS
⭐️: 675
Используйте Blueprint в любом случае, когда вы хотите отобразить иерархию представлений, но не хотите управлять жизненным циклом представлений.
Blueprint появился раньше SwiftUI и работает немного по-другому. Вы можете разместить BlueprintView в SwiftUI, чтобы встроить Blueprint в SwiftUI, а также использовать предоставленный ElementView для создания предварительных просмотров Blueprint в Xcode.
Blueprint на GitHub: https://github.com/square/Blueprint
Платформа: iOS
⭐️: 675
Примеры использования File Templates для типовых сценариев, где требуется шаблонный код
В предыдущей части мы описали проблему с необходимостью написания шаблонного кода и вариантами решения, познакомились с инструментом шаблонов File Templates и разобрали синтаксис написания шаблонов.
В этой статье перейдем к практике — напишем шаблоны для кода типового экрана SomeFeature мобильного приложения.
Статья: https://habr.com/ru/companies/tbank/articles/873234/
Платформа: Android
В предыдущей части мы описали проблему с необходимостью написания шаблонного кода и вариантами решения, познакомились с инструментом шаблонов File Templates и разобрали синтаксис написания шаблонов.
В этой статье перейдем к практике — напишем шаблоны для кода типового экрана SomeFeature мобильного приложения.
Статья: https://habr.com/ru/companies/tbank/articles/873234/
Платформа: Android
Изучение стилей Tab View в SwiftUI
Компонент TabView — основа многих приложений, но знаете ли вы, как сделать его уникальным и удобным? В статье подробно рассматриваются доступные стили и модификаторы, которые помогут вам настроить внешний вид вкладок, добавить анимации и улучшить пользовательский опыт.
Статья: https://www.createwithswift.com/exploring-tab-view-styles-in-swiftui/
Платформа: iOS
Компонент TabView — основа многих приложений, но знаете ли вы, как сделать его уникальным и удобным? В статье подробно рассматриваются доступные стили и модификаторы, которые помогут вам настроить внешний вид вкладок, добавить анимации и улучшить пользовательский опыт.
Статья: https://www.createwithswift.com/exploring-tab-view-styles-in-swiftui/
Платформа: iOS
MMKV - это эффективный, небольшой и простой в использовании мобильный фреймворк для хранения ключевых значений, используемый Tencent в приложении WeChat. В настоящее время он доступен для Android, iOS/macOS, Windows, POSIX и HarmonyOS NEXT.
Фичи: эффективность - MMKV использует mmap для синхронизации памяти с файлами и protobuf для кодирования/декодирования значений, максимально используя возможности Android для достижения наилучшей производительности; многопроцессный параллелизм - MMKV поддерживает одновременный доступ процессов к чтению-чтению и чтению-записи; простота - можно использовать MMKV по мере необходимости, все изменения сохраняются немедленно; небольшой - 50K в бинарнике.
MMKV на GitHub: https://github.com/Tencent/MMKV
Платформа: Android/кроссплатформа
⭐️: 17.6K
Фичи: эффективность - MMKV использует mmap для синхронизации памяти с файлами и protobuf для кодирования/декодирования значений, максимально используя возможности Android для достижения наилучшей производительности; многопроцессный параллелизм - MMKV поддерживает одновременный доступ процессов к чтению-чтению и чтению-записи; простота - можно использовать MMKV по мере необходимости, все изменения сохраняются немедленно; небольшой - 50K в бинарнике.
MMKV на GitHub: https://github.com/Tencent/MMKV
Платформа: Android/кроссплатформа
⭐️: 17.6K
Малоизвестные представления SwiftUI
Здесь я пытаюсь показать некоторые представления, которые в целом редко используются (если вы глубоко погружены в SwiftUI, то, возможно, уже знаете их):
• AnyLayout
• ViewThatFits
• ContentUnavailableView
Статья: https://apptractor.ru/info/articles/maloizvestnye-predstavleniya-swiftui.html
Платформа: iOS
Здесь я пытаюсь показать некоторые представления, которые в целом редко используются (если вы глубоко погружены в SwiftUI, то, возможно, уже знаете их):
• AnyLayout
• ViewThatFits
• ContentUnavailableView
Статья: https://apptractor.ru/info/articles/maloizvestnye-predstavleniya-swiftui.html
Платформа: iOS
Стековая и кучная память в Kotlin
Задумывались ли вы когда-нибудь над тем, как работает распределение памяти в Kotlin? Предлагаю погрузиться в волшебный мир стековой и кучной памяти, используя забавные аналогии из повседневной жизни. Приготовьтесь к увлекательному путешествию!
Статья: https://nuancesprog.ru/p/22872/
Платформа: Android
Задумывались ли вы когда-нибудь над тем, как работает распределение памяти в Kotlin? Предлагаю погрузиться в волшебный мир стековой и кучной памяти, используя забавные аналогии из повседневной жизни. Приготовьтесь к увлекательному путешествию!
Статья: https://nuancesprog.ru/p/22872/
Платформа: Android
AppTractor
Архивы Android - AppTractor
Про разработку и создание приложений для Android (андроид), про написание программ и, конечно, про сами приложения для Android
❤1
sRouting - легкий и гибкий навигационный фреймворк для SwiftUI. Фреймворк предоставляет собственный механизм навигации, который упрощает перемещение между экранами.
sRouting на GitHub: https://github.com/ThangKM/sRouting
Платформа: iOS
⭐️: 11
sRouting на GitHub: https://github.com/ThangKM/sRouting
Платформа: iOS
⭐️: 11
Видео и подкасты за неделю на @AppFiles
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
(iOS Ru) SwiftUI: алхимия приложений — превращаем идеив реальность•
(iOS Ru) Тактики ускорения билда: матиз, кобальт, камри 3.5•
(iOS Ru) SwiftUI: Custom TabBar + animation•
(iOS En) Apple Engineer Shows How To Build a SwiftUI Step Counter•
(iOS En) Complete Document Scanner App•
(iOS En) Working with C and C++ in Apple environment•
(And Ru) Переезжаем с фрагментов на (De)compose•
(And Ru) Как устроена разработка в Яндекс.Клавиатуре•
(And Ru) Android + AI. Решаем задачи с умом•
(And En) 5 Things You MUST Do Before Deploying Your App to Google Play (or you'll regret it)•
(And En) The Beginner to Industry-Ready Roadmap For Android & KMP Development In 2025•
(And En) We fixed an inconsistency in Kotlin (non-local break & continue)•
(And En) What are all of those Kotlin function types for?•
(Dev Ru) Основы DevEx: ищем, куда исчезает время программистов•
(Dev Ru) Заменяем облака домашним сервером — Selfhosting, homelabЭкспорт и импорт File Templates в IDE от Intellij
Это заключительная статья цикла про File Templates. В предыдущих частях мы познакомились с инструментом File Templates, разобрали синтаксис написания шаблонов и написали шаблоны для кода типового экрана SomeFeature мобильного приложения.
В заключительной части разберем, как можно экспортировать и импортировать File Templates в Intellij-IDE, а также подведем общие итоги по циклу статей.
Статья: https://habr.com/ru/companies/tbank/articles/874048/
Платформа: Android
Это заключительная статья цикла про File Templates. В предыдущих частях мы познакомились с инструментом File Templates, разобрали синтаксис написания шаблонов и написали шаблоны для кода типового экрана SomeFeature мобильного приложения.
В заключительной части разберем, как можно экспортировать и импортировать File Templates в Intellij-IDE, а также подведем общие итоги по циклу статей.
Статья: https://habr.com/ru/companies/tbank/articles/874048/
Платформа: Android
❤2
5 лет React Native в Shopify
Shopify поделились своим 5-летним опытом работы с React Native. В статье подробно рассказывается:
✅ Почему компания выбрала RN для своих приложений.
✅ Какие вызовы пришлось преодолеть.
✅ Как они оптимизировали производительность и работали над улучшением UX.
✅ Какие инструменты и подходы разработали для масштабирования проектов.
💡 Это отличный кейс для всех, кто использует или планирует использовать React Native. Особенно полезно для тех, кто строит большие продукты и ищет способы сохранить баланс между кросс-платформенностью и качеством приложений.
Статья: https://shopify.engineering/five-years-of-react-native-at-shopify
Платформа: кроссплатформа
Shopify поделились своим 5-летним опытом работы с React Native. В статье подробно рассказывается:
✅ Почему компания выбрала RN для своих приложений.
✅ Какие вызовы пришлось преодолеть.
✅ Как они оптимизировали производительность и работали над улучшением UX.
✅ Какие инструменты и подходы разработали для масштабирования проектов.
💡 Это отличный кейс для всех, кто использует или планирует использовать React Native. Особенно полезно для тех, кто строит большие продукты и ищет способы сохранить баланс между кросс-платформенностью и качеством приложений.
Статья: https://shopify.engineering/five-years-of-react-native-at-shopify
Платформа: кроссплатформа
🤮5👏2