AppFiles - Mobile Development – Telegram
AppFiles - Mobile Development
2.13K subscribers
2.79K photos
38 videos
11 files
3.72K links
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
Download Telegram
Sozo Tv - плеер для аниме и кино

🇸🇱 Проект нашего читателя, присоединяйтесь!

Sozo создан с идеальным сочетанием простоты и современной элегантности. Это клиент, разработанный для Anilist и других платформ, предоставляет пользователям возможность транслировать и скачивать любимые аниме, мангу, фильмы и сериалы.

Sozo Tv на GitHub: https://github.com/professorDeveloper/sozo-tv
Платформа: Android
⭐️: 42

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥145👍21
Swift Book - печатная версия руководства по Swift

Этот репозиторий содержит документацию по языку программирования Swift в красивом, пригодном для печати PDF-формате. Основа - оригинальное руководство по Swift с docs.swift.org, обертка на Typst и DocC.

Swift Book на GitHub
: https://github.com/peterfriese/swift-book
Платформа: iOS
⭐️: 151

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Обновите проекты Kotlin для Android Gradle Plugin 9.0

Плагин Android Gradle 9.0 уже доступен, и он включает в себя два важных изменения, которые затронут существующие проекты на Kotlin:

• Android-приложения должны начать использовать встроенную в AGP 9.0 поддержку Kotlin.
• Проекты Kotlin Multiplatform, ориентированные на Android, должны перейти на новый плагин библиотеки Android KMP.

В этом посте приведены некоторые подробности об этих изменениях и указаны ресурсы, которые понадобятся вам для обновления существующих проектов.

Вам также нужно будет обновить инструменты и плагины, которые зависят от AGP, до последних версий с поддержкой AGP 9.0. Если вы используете Android Studio, вам нужно использовать Otter 3 Feature Drop или более позднюю версию.

Статья: https://apptractor.ru/info/articles/obnovite-proekty-kotlin-dlya-android-gradle-plugin-9-0.html
Платформа: Android

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Я сократил потребление памяти SwiftUI на 80% с помощью одного контринтуитивного трюка

Три месяца назад я был готов отказаться от SwiftUI.

Мое приложение падало. Использование памяти росло каждый раз, когда пользователи переходили туда и сюда. И сколько бы раз я ни говорил себе: «SwiftUI управляет памятью автоматически», цифры в Instruments говорили совсем о другом.

Затем я заметил нечто маленькое — почти скучное — что полностью изменило поведение моего приложения.

Это была не библиотека. Это не была новая архитектура. Это был даже не новый код.

Это было понимание того, как SwiftUI на самом деле поддерживает работу приложений.

Статья: https://apptractor.ru/info/articles/ya-sokratil-potreblenie-pamyati-swiftui-na-80-s-pomoschyu-odnogo-kontrintuitivnogo-tryuka.html
Платформа: iOS

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🤣1
Kudoku - решатель и генератор судоку на Kotlin

Kudoku - мощный движок для судоку, написанный на Kotlin. 

Kudoku на GitHub: https://github.com/ILikeYourHat/Kudoku
Платформа: Android
⭐️: 15
Локальный плеер для IOS: Music is Player

Я разработчик iOS‑приложения Music Player в компании MediaRise. Хотел поделиться инженерной частью: как мы организовали импорт музыки из Files, автосканирование, защиту от дубликатов и стабильное воспроизведение.

Статья: https://habr.com/ru/articles/986624/
Платформа: iOS

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
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: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
AccessibilitySnapshot - простое создание регрессионных тестов доступности для iOS

AccessibilitySnapshot упрощает добавление регрессионных тестов для проверки доступности в iOS-приложениях. Этот фреймворк основан на идее snapshot-тестирования, предоставляя снапшоты иерархии доступности.

AccessibilitySnapshot использует существующие фреймворки для создания спапшотов доступности, добавляя поддержку создания снимков доступности вашего приложения. По умолчанию он использует фреймворк SnapshotTesting для создания снимков, но его также можно переключить на iOSSnapshotTestCase.

AccessibilitySnapshot на GitHubhttps://github.com/cashapp/AccessibilitySnapshot
Платформа: iOS
⭐️: 623

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
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: код, инструменты, практики, производительность
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: код, инструменты, практики, производительность
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: код, инструменты, практики, производительность
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: код, инструменты, практики, производительность
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: код, инструменты, практики, производительность
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: ищем, куда исчезает время программистов

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему ваш LazyColumn пропускает кадры

Статья объясняет, что проблемы с падением частоты кадров при использовании LazyColumnLazyRow) в Jetpack Compose часто происходят не из-за очевидных ошибок, а из-за тонких архитектурных ловушек, которые на первый взгляд выглядят безобидно. Автор показывает, что простое следование общим рекомендациям не всегда помогает: даже при правильном количестве перерисовок интерфейс всё ещё может подтормаживать на устройствах со средней производительностью. Ключ к решению заключается в том, чтобы понимать, что именно считается работой для Compose-движка, как малые оптимизации могут накопительно создавать большую нагрузку, и какие практики действительно снижают стоимость обновлений UI.

В основе предлагаемых исправлений — четыре фундаментальные проблемы: неправильные ключи в LazyColumn, нестабильные классы данных, которые приводят к лишней рекомпозиции, частые аллокации лямбд внутри списков и тяжёлые вычисления прямо в теле композаблов. Статья детально показывает, как сочетание этих факторов увеличивает объём работы, выполняемой при каждом кадре, и как их устранение (например, композитные ключи, аннотированные как @Immutable модели, ремемберинг лямбд и перенос предварительных вычислений в ViewModel) может существенно улучшить плавность прокрутки.

Статья: https://blog.devgenius.io/why-your-lazycolumn-drops-frames-part-1-quick-fixes-e6ccc53046bc
Платформа: Android

👍 если хотите перевод на русский
👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Copy-on-write позволит вам узнать ВСЕ о внутреннем устройстве Swift

Статья подробно разбирает механизм 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

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1