Локальный плеер для IOS: Music is Player
Я разработчик iOS‑приложения Music Player в компании MediaRise. Хотел поделиться инженерной частью: как мы организовали импорт музыки из Files, автосканирование, защиту от дубликатов и стабильное воспроизведение.
Статья: https://habr.com/ru/articles/986624/
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Я разработчик iOS‑приложения Music Player в компании MediaRise. Хотел поделиться инженерной частью: как мы организовали импорт музыки из Files, автосканирование, защиту от дубликатов и стабильное воспроизведение.
Статья: https://habr.com/ru/articles/986624/
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
Разработка [iOS] приложений с помощью ИИ в 2026 году
Томас Рикуар из Medium написал огромную статью о своем подходе к iOS-разработке с помощью ИИ, используемых инструментах и идеях о том, как будет развиваться программирование в будущем:
Статья: https://apptractor.ru/info/articles/razrabotka-prilozheniy-s-pomoschyu-ii-v-2026-godu.html
Платформа: разработка/iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Томас Рикуар из Medium написал огромную статью о своем подходе к iOS-разработке с помощью ИИ, используемых инструментах и идеях о том, как будет развиваться программирование в будущем:
Программирование мертво, и оно не вернётся. Оно медленно, но верно угасает.
Статья: https://apptractor.ru/info/articles/razrabotka-prilozheniy-s-pomoschyu-ii-v-2026-godu.html
Платформа: разработка/iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
AccessibilitySnapshot - простое создание регрессионных тестов доступности для iOS
AccessibilitySnapshot упрощает добавление регрессионных тестов для проверки доступности в iOS-приложениях. Этот фреймворк основан на идее snapshot-тестирования, предоставляя снапшоты иерархии доступности.
AccessibilitySnapshot использует существующие фреймворки для создания спапшотов доступности, добавляя поддержку создания снимков доступности вашего приложения. По умолчанию он использует фреймворк SnapshotTesting для создания снимков, но его также можно переключить на iOSSnapshotTestCase.
AccessibilitySnapshot на GitHub: https://github.com/cashapp/AccessibilitySnapshot
Платформа: iOS
⭐️: 623
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
AccessibilitySnapshot упрощает добавление регрессионных тестов для проверки доступности в iOS-приложениях. Этот фреймворк основан на идее snapshot-тестирования, предоставляя снапшоты иерархии доступности.
AccessibilitySnapshot использует существующие фреймворки для создания спапшотов доступности, добавляя поддержку создания снимков доступности вашего приложения. По умолчанию он использует фреймворк SnapshotTesting для создания снимков, но его также можно переключить на iOSSnapshotTestCase.
AccessibilitySnapshot на GitHub: https://github.com/cashapp/AccessibilitySnapshot
Платформа: iOS
⭐️: 623
Please open Telegram to view this post
VIEW IN TELEGRAM
Как red_mad_robot развивает свою опенсорс-экосистему — от Android и iOS инструментов до AI-систем и агентных фреймворков
Сергей Иванов, Head of Android red_mad_robot, поделился подробностями об открытых проектах и open source-стратегии компании, её целеполагании и результатах в данной сфере. Получилось развернутое интервью с примечательными инсайтами, а также примерами и комментариями по теме.
Статья: https://habr.com/ru/articles/986828/
Платформа: разработка
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Сергей Иванов, Head of Android red_mad_robot, поделился подробностями об открытых проектах и open source-стратегии компании, её целеполагании и результатах в данной сфере. Получилось развернутое интервью с примечательными инсайтами, а также примерами и комментариями по теме.
Статья: https://habr.com/ru/articles/986828/
Платформа: разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
Apple не использует MVVM? MVVM — это неправильный архитектурный шаблон?
«Apple не использует MVVM».
«MVVM — неправильный архитектурный шаблон».
«MV — это то, как это должно быть сделано».
Слышали подобные утверждения раньше?
Я точно слышал — особенно в Твиттере (или как он там сейчас называется). В сообществе SwiftUI идёт непрекращающаяся борьба за то, какая архитектура «правильная». И знаете что? Я почти поверил в эту точку зрения… пока недавно не посмотрел официальный обучающий ролик Apple.
Статья: https://apptractor.ru/info/articles/apple-ne-ispolzuet-mvvm-mvvm-eto-nepravilnyy-arhitekturnyy-shablon.html
Платформа: архитектура/iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
«Apple не использует MVVM».
«MVVM — неправильный архитектурный шаблон».
«MV — это то, как это должно быть сделано».
Слышали подобные утверждения раньше?
Я точно слышал — особенно в Твиттере (или как он там сейчас называется). В сообществе SwiftUI идёт непрекращающаяся борьба за то, какая архитектура «правильная». И знаете что? Я почти поверил в эту точку зрения… пока недавно не посмотрел официальный обучающий ролик Apple.
Статья: https://apptractor.ru/info/articles/apple-ne-ispolzuet-mvvm-mvvm-eto-nepravilnyy-arhitekturnyy-shablon.html
Платформа: архитектура/iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡2🤣1
RunAnywhere - инструментарий для локального запуска ИИ
RunAnywhere- платформа для локального запуска LLM на устройствах. Поддерживает чат-боты (Llama, Mistral, Qwen, SmolLM и т.п.), речь-в-текст и текст-в-речь, голосовых ассистентов (STT → LLM → TTS конвейеры).
Все это без облаков, без задержек и без передачи данных кому-либо.
Есть SDK для Swift, Kotlin, React Native и Flutter.
RunAnywhere на GitHub: https://github.com/RunanywhereAI/runanywhere-sdks
Платформа: iOS/Android
⭐️: 3.9K
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
RunAnywhere- платформа для локального запуска LLM на устройствах. Поддерживает чат-боты (Llama, Mistral, Qwen, SmolLM и т.п.), речь-в-текст и текст-в-речь, голосовых ассистентов (STT → LLM → TTS конвейеры).
Все это без облаков, без задержек и без передачи данных кому-либо.
Есть SDK для Swift, Kotlin, React Native и Flutter.
RunAnywhere на GitHub: https://github.com/RunanywhereAI/runanywhere-sdks
Платформа: iOS/Android
⭐️: 3.9K
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
AwesomeUI - готовые элементы Compose
AwesomeUI - подборка "copy, paste, use" сниппетов и полезных элементов, предназначенная для тех, кто планирует или уже разрабатывает приложение в Compose Multiplatform или просто приложение для Android и уже использует Jetpack Compose и Material3.
AwesomeUI на GitHub: https://github.com/ArcaDone/AwesomeUI
Платформа: Android
⭐️: 72
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
AwesomeUI - подборка "copy, paste, use" сниппетов и полезных элементов, предназначенная для тех, кто планирует или уже разрабатывает приложение в Compose Multiplatform или просто приложение для Android и уже использует Jetpack Compose и Material3.
AwesomeUI на GitHub: https://github.com/ArcaDone/AwesomeUI
Платформа: Android
⭐️: 72
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Почему Senior инженеры допускают провал неудачных проектов
В крупных компаниях высказываться о том, что вы считаете «плохим проектом», — это хорошо. Но только в меру. Иногда признаком старшинства является осознание того, что спорить с людьми, которые не хотят слушать, не стоит; лучше приберечь свои советы.
Статья: https://apptractor.ru/info/articles/pochemu-senior-inzhenery-dopuskayut-proval-neudachnyh-proektov.html
Платформа: разработка
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
В крупных компаниях высказываться о том, что вы считаете «плохим проектом», — это хорошо. Но только в меру. Иногда признаком старшинства является осознание того, что спорить с людьми, которые не хотят слушать, не стоит; лучше приберечь свои советы.
Статья: https://apptractor.ru/info/articles/pochemu-senior-inzhenery-dopuskayut-proval-neudachnyh-proektov.html
Платформа: разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
•
(iOS En) SwiftUI Screenshot Prevention - Prevent Users from Taking Screenshots of a SwiftUI View•
(iOS En) Apple Books Hero Effect - Synchronized Scroll Matched Geometry Effect - Complex UI•
(iOS En) Mastering Switch Statements in Swift: Pattern Matching, Enums, and Real SwiftUI Examples•
(And En) What's New in Kotlin 2.3•
(Crs Ru) Бьем по рукам при помощи своего Dart-линтера•
(Crs Ru) Изоляционно-плагинная архитектура в Dart-приложениях, переносимость на Flutter•
(Crs En) Gradle 9 Will Break Your KMP Project - Here's the Full Migration Strategy•
(Dev Ru) Использование AI в процессах разработки•
(Dev Ru) Emacs в 2026 — Секретное оружие или старый хлам?•
(Dev En) How to create unique App Icon for your next Project•
(Dev En) RAG & MCP Fundamentals – A Hands-On Crash Course•
(Dev En) Lean Dynamic Programming with Animations – Full Course for Beginners•
(Dev En) How to Get Promoted as a Software Engineer: A Practical StrategyПрошлогодние видео:
•
(iOS Ru) SwiftUI: алхимия приложений — превращаем идеи в реальность•
(iOS Ru) Тактики ускорения билда: матиз, кобальт, камри 3.5•
(And Ru) Переезжаем с фрагментов на (De)compose•
(And Ru) Как устроена разработка в Яндекс.Клавиатуре•
(And Ru) Android + AI. Решаем задачи с умом•
(Dev Ru) Основы DevEx: ищем, куда исчезает время программистовPlease open Telegram to view this post
VIEW IN TELEGRAM
Почему ваш LazyColumn пропускает кадры
Статья объясняет, что проблемы с падением частоты кадров при использовании
В основе предлагаемых исправлений — четыре фундаментальные проблемы: неправильные ключи в
Статья: https://blog.devgenius.io/why-your-lazycolumn-drops-frames-part-1-quick-fixes-e6ccc53046bc
Платформа: Android
👍 если хотите перевод на русский
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Статья объясняет, что проблемы с падением частоты кадров при использовании
LazyColumn (и LazyRow) в Jetpack Compose часто происходят не из-за очевидных ошибок, а из-за тонких архитектурных ловушек, которые на первый взгляд выглядят безобидно. Автор показывает, что простое следование общим рекомендациям не всегда помогает: даже при правильном количестве перерисовок интерфейс всё ещё может подтормаживать на устройствах со средней производительностью. Ключ к решению заключается в том, чтобы понимать, что именно считается работой для Compose-движка, как малые оптимизации могут накопительно создавать большую нагрузку, и какие практики действительно снижают стоимость обновлений UI.В основе предлагаемых исправлений — четыре фундаментальные проблемы: неправильные ключи в
LazyColumn, нестабильные классы данных, которые приводят к лишней рекомпозиции, частые аллокации лямбд внутри списков и тяжёлые вычисления прямо в теле композаблов. Статья детально показывает, как сочетание этих факторов увеличивает объём работы, выполняемой при каждом кадре, и как их устранение (например, композитные ключи, аннотированные как @Immutable модели, ремемберинг лямбд и перенос предварительных вычислений в ViewModel) может существенно улучшить плавность прокрутки.Статья: https://blog.devgenius.io/why-your-lazycolumn-drops-frames-part-1-quick-fixes-e6ccc53046bc
Платформа: Android
👍 если хотите перевод на русский
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Copy-on-write позволит вам узнать ВСЕ о внутреннем устройстве Swift
Статья подробно разбирает механизм Copy-on-Write (CoW) в Swift, который является ключевой оптимизацией для работы с типами значений, такими как массивы и словари. Автор объясняет, что CoW позволяет избежать ресурсозатратного копирования данных при каждой передаче переменной или константы. Вместо создания немедленного дубликата в памяти, несколько переменных используют одну и ту же область данных в «куче» до тех пор, пока одна из них не попытается внести изменения. Только в момент модификации происходит реальное копирование, что позволяет Swift сочетать безопасность значимых типов с производительностью ссылочных.
Помимо теоретических основ, в материале рассматриваются внутренние аспекты реализации этого механизма и работа с памятью (стек против кучи). Автор демонстрирует, как разработчики могут самостоятельно внедрить CoW для собственных структур данных, используя приватный класс-обертку и системную функцию
Статья: https://levelup.gitconnected.com/copy-on-write-teaches-you-everything-about-swift-internals-f8807b58bfd6
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Статья подробно разбирает механизм Copy-on-Write (CoW) в Swift, который является ключевой оптимизацией для работы с типами значений, такими как массивы и словари. Автор объясняет, что CoW позволяет избежать ресурсозатратного копирования данных при каждой передаче переменной или константы. Вместо создания немедленного дубликата в памяти, несколько переменных используют одну и ту же область данных в «куче» до тех пор, пока одна из них не попытается внести изменения. Только в момент модификации происходит реальное копирование, что позволяет Swift сочетать безопасность значимых типов с производительностью ссылочных.
Помимо теоретических основ, в материале рассматриваются внутренние аспекты реализации этого механизма и работа с памятью (стек против кучи). Автор демонстрирует, как разработчики могут самостоятельно внедрить CoW для собственных структур данных, используя приватный класс-обертку и системную функцию
isKnownUniquelyReferenced. Этот подход позволяет вручную контролировать количество ссылок на объект и выполнять копирование только тогда, когда на данные ссылается более одного владельца. Таким образом, изучение CoW дает глубокое понимание того, как Swift оптимизирует управление памятью «под капотом».Статья: https://levelup.gitconnected.com/copy-on-write-teaches-you-everything-about-swift-internals-f8807b58bfd6
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1