Шпаргалка: Structured Concurrency и отмена корутин
Что будет, если запустить тяжелую фоновую обработку данных, а пользователь закроет экран? Если мы не контролируем этот процесс, потоки продолжат работу, сжигая батарею, процессорное время и создавая утечки памяти. Для решения этой проблемы в Kotlin Coroutines применяется концепция Structured Concurrency.
Статья: https://habr.com/ru/articles/1068314/
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Что будет, если запустить тяжелую фоновую обработку данных, а пользователь закроет экран? Если мы не контролируем этот процесс, потоки продолжат работу, сжигая батарею, процессорное время и создавая утечки памяти. Для решения этой проблемы в Kotlin Coroutines применяется концепция Structured Concurrency.
Статья: https://habr.com/ru/articles/1068314/
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
AppFiles - Mobile Development
Библиотеки, обучающие статьи, курсы и видео для (мобильных) разработчиков. Если есть вопросы - пишите @lbogolubov.
This media is not supported in your browser
VIEW IN TELEGRAM
Концентрические кнопки с использованием нового API SwiftUI в iOS 27
SwiftUI для iOS, iPadOS и macOS 27 (далее я буду сокращать до *OS 27) приносит множество новых дополнений. Одно из таких дополнений, которое меня особенно заинтересовало, — это возможность считывать значение свойства
Статья: https://apptractor.ru/info/articles/kontsentricheskie-knopki-s-ispolzovaniem-novogo-api-swiftui-v-ios-27.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
SwiftUI для iOS, iPadOS и macOS 27 (далее я буду сокращать до *OS 27) приносит множество новых дополнений. Одно из таких дополнений, которое меня особенно заинтересовало, — это возможность считывать значение свойства
concentricCornerRadii для GeometryProxy. Я чувствовал, что это может стать способом создания действительно концентрической формы кнопки. С момента появления концентричности углов я с нетерпением ждал появления специального ButtonBorderShape, учитывающего углы. До сих пор каждое обновление меня разочаровывало. Даже в *OS 27 SwiftUI по-прежнему не хватает полноценной формы, но теперь у нас есть возможность создать собственное решение, которое интегрируется в стандартные API SwiftUI, максимально скрывая нашу собственную реализацию.Статья: https://apptractor.ru/info/articles/kontsentricheskie-knopki-s-ispolzovaniem-novogo-api-swiftui-v-ios-27.html
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
Neon Vision Editor - редактор Markdown на Swift
Neon Vision Editor - нативный редактор для Markdown, заметок и кода на macOS, iPhone, iPad и Apple Vision Pro. Минималистичный дизайн. Быстрое редактирование, быстрый доступ к файлам, отсутствие лишних компонентов IDE.
Элементы архитектуры:
•
• Сериализованные команды вкладок отделяют вкладку интерфейса от ресурса документа, который она представляет, сохраняя для каждого документа положение курсора и состояние области просмотра при асинхронной загрузке и обновлениях.
• Открытые локальные документы используют события
• Нативные бриджи редактора управляют созданием объектов TextKit/UIKit и прокруткой. SwiftUI отвечает за размещение областей интерфейса, включая обёрнутый вариант разделения исходного текста и предпросмотра в macOS.
• Доступ к файлам, разбор, сравнение различий, структурированные снепшоты и другая тяжёлая работа выполняются вне главного актора; изменения состояния интерфейса возвращаются в
• Оболочки для отдельных платформ остаются минимальными. visionOS использует тот же редактор семейства UIKit, адаптируя только представление под пространственные интерфейсы.
• Удалённые сеансы включаются только по желанию пользователя; macOS отвечает за SSH и размещение посредника соединений, а iPhone, iPad и Apple Vision Pro подключаются в качестве клиентов.
• Сборки для App Store не содержат механизма автоматического обновления. Отдельная версия для прямого распространения на macOS подключает Sparkle и использует подписанный канал обновлений, размещённый на GitHub Pages.
• Конфиденциальные учётные данные и закладки SSH-ключей хранятся в Keychain через
Neon Vision Editor на GitHub: https://github.com/h3pdesign/Neon-Vision-Editor
Платформа: iOS
⭐️: 368
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Neon Vision Editor - нативный редактор для Markdown, заметок и кода на macOS, iPhone, iPad и Apple Vision Pro. Минималистичный дизайн. Быстрое редактирование, быстрый доступ к файлам, отсутствие лишних компонентов IDE.
Элементы архитектуры:
•
EditorViewModel — единая точка оркестрации, с которой взаимодействует интерфейс для каждого окна или сцены.• Сериализованные команды вкладок отделяют вкладку интерфейса от ресурса документа, который она представляет, сохраняя для каждого документа положение курсора и состояние области просмотра при асинхронной загрузке и обновлениях.
• Открытые локальные документы используют события
NSFilePresenter, а также ограниченные проверки метаданных и содержимого. Неизменённые буферы обновляются на месте; для изменённых предлагаются варианты Keep Local, Reload from Disk или Compare.• Нативные бриджи редактора управляют созданием объектов TextKit/UIKit и прокруткой. SwiftUI отвечает за размещение областей интерфейса, включая обёрнутый вариант разделения исходного текста и предпросмотра в macOS.
• Доступ к файлам, разбор, сравнение различий, структурированные снепшоты и другая тяжёлая работа выполняются вне главного актора; изменения состояния интерфейса возвращаются в
@MainActor.• Оболочки для отдельных платформ остаются минимальными. visionOS использует тот же редактор семейства UIKit, адаптируя только представление под пространственные интерфейсы.
• Удалённые сеансы включаются только по желанию пользователя; macOS отвечает за SSH и размещение посредника соединений, а iPhone, iPad и Apple Vision Pro подключаются в качестве клиентов.
• Сборки для App Store не содержат механизма автоматического обновления. Отдельная версия для прямого распространения на macOS подключает Sparkle и использует подписанный канал обновлений, размещённый на GitHub Pages.
• Конфиденциальные учётные данные и закладки SSH-ключей хранятся в Keychain через
SecureTokenStore, а не в обычных настройках.Neon Vision Editor на GitHub: https://github.com/h3pdesign/Neon-Vision-Editor
Платформа: iOS
⭐️: 368
Please open Telegram to view this post
VIEW IN TELEGRAM
Пет-проекты джунов (Android)
На собеседовании часто хотят видеть свой личный пет-проект. Проект, в котором человек самостоятельно придумал идею, организовал код, спроектировал архитектуру и наступил на свои собственные грабли. Ведь именно самостоятельная разработка — от локальной базы данных до UI — дает самый мощный буст в навыках (особенно, когда одно и то же приложение переписал 3 раза =)). Поэтому у автора этой статьи появилось желание помочь начинающим разработчикам. Он собрал идеи для пет-проектов, которые личня бы оценил =), а также подобрал актуальные инструменты и бесплатные API для их реализации.
Статья: https://habr.com/ru/articles/1068942/
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
На собеседовании часто хотят видеть свой личный пет-проект. Проект, в котором человек самостоятельно придумал идею, организовал код, спроектировал архитектуру и наступил на свои собственные грабли. Ведь именно самостоятельная разработка — от локальной базы данных до UI — дает самый мощный буст в навыках (особенно, когда одно и то же приложение переписал 3 раза =)). Поэтому у автора этой статьи появилось желание помочь начинающим разработчикам. Он собрал идеи для пет-проектов, которые личня бы оценил =), а также подобрал актуальные инструменты и бесплатные API для их реализации.
Статья: https://habr.com/ru/articles/1068942/
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
Наше Android-приложение написано на Swift
Уже не вызывают удивление iOS-приложения, написанные на Kotlin или даже Kotlin/Compose. А вот Polymarket, крупнейший сервис пари и предсказаний в мире, сделал свое Android-приложение с использованием Swift. Внутри приложения работает почти 170 000 строк промышленного Swift-кода: модели, сетевой слой, бизнес-логика и более 120 моделей представления. Тот же самый код используется в приложении для iOS. Одна кодовая база — два приложения. Как они это сделали, что сломалось по дороге и почему разработчики повторили бы этот путь снова - в статье.
Статья: https://apptractor.ru/info/articles/nashe-android-prilozhenie-napisano-na-swift.html
Платформа: кроссплатформа
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Уже не вызывают удивление iOS-приложения, написанные на Kotlin или даже Kotlin/Compose. А вот Polymarket, крупнейший сервис пари и предсказаний в мире, сделал свое Android-приложение с использованием Swift. Внутри приложения работает почти 170 000 строк промышленного Swift-кода: модели, сетевой слой, бизнес-логика и более 120 моделей представления. Тот же самый код используется в приложении для iOS. Одна кодовая база — два приложения. Как они это сделали, что сломалось по дороге и почему разработчики повторили бы этот путь снова - в статье.
Статья: https://apptractor.ru/info/articles/nashe-android-prilozhenie-napisano-na-swift.html
Платформа: кроссплатформа
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Pose - автоматическая генерация превью для Composable
Экосистема предварительного просмотра Compose отлично справляется с обработкой предварительных просмотров (Showkase, Paparazzi, Roborazzi, плагин Google для скриншот-тестирования), но не имеет механизма их генерации на этапе сборки.
Pose автоматически генерирует
Pose на GitHub: https://github.com/AkshayChordiya/Pose
Платформа: Android
⭐️: 29
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Экосистема предварительного просмотра Compose отлично справляется с обработкой предварительных просмотров (Showkase, Paparazzi, Roborazzi, плагин Google для скриншот-тестирования), но не имеет механизма их генерации на этапе сборки.
Pose автоматически генерирует
@Previewдля функций Jetpack Compose из вашего @Composable кода во время сборки, детерминированно, автономно, без LLM. Аннотируете, собираете, готово. Pose на GitHub: https://github.com/AkshayChordiya/Pose
Платформа: Android
⭐️: 29
Please open Telegram to view this post
VIEW IN TELEGRAM
9 лет Android-разработки, 3 месяца без работы - как выбраться из тупика?
Разработчик с более чем девятилетним опытом Android-разработки пожаловался на Reddit, что уже три месяца не может найти новую работу и начинает сомневаться, хочет ли вообще оставаться в мобильной разработке. Обсуждение быстро превратилось в довольно показательный срез состояния рынка Android-разработчиков в 2026 году: в комментариях появились специалисты с 5, 9, 12 и даже 14 годами опыта, которые месяцами не могут найти работу, почти не получают интервью или начинают переучиваться на backend, web и AI.
• Что случилось с автором
• «Ты не разучился программировать, ты просто заржавел»
• Android-вакансий действительно стало меньше
• Возможно, проблема не только в Android
• Android слишком узкая специализация?
• Куда уходят Android-разработчики
• AI не обязательно конкурент Android — он может стать его продолжением
• Появилась проблема «гиперспециализированных» вакансий
• Senior-интервью тоже вызывают раздражение
• Flutter тоже не выглядит очевидным спасением
• «Всё уже написано»
• Три месяца теперь воспринимаются почти как нормальный срок
• Что в итоге советует сообщество
Статья: https://apptractor.ru/info/articles/9-let-android-razrabotki-3-mesyatsa-bez-raboty-kak-vybratsya-iz-tupika.html
Платформа: Android/карьера
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Разработчик с более чем девятилетним опытом Android-разработки пожаловался на Reddit, что уже три месяца не может найти новую работу и начинает сомневаться, хочет ли вообще оставаться в мобильной разработке. Обсуждение быстро превратилось в довольно показательный срез состояния рынка Android-разработчиков в 2026 году: в комментариях появились специалисты с 5, 9, 12 и даже 14 годами опыта, которые месяцами не могут найти работу, почти не получают интервью или начинают переучиваться на backend, web и AI.
• Что случилось с автором
• «Ты не разучился программировать, ты просто заржавел»
• Android-вакансий действительно стало меньше
• Возможно, проблема не только в Android
• Android слишком узкая специализация?
• Куда уходят Android-разработчики
• AI не обязательно конкурент Android — он может стать его продолжением
• Появилась проблема «гиперспециализированных» вакансий
• Senior-интервью тоже вызывают раздражение
• Flutter тоже не выглядит очевидным спасением
• «Всё уже написано»
• Три месяца теперь воспринимаются почти как нормальный срок
• Что в итоге советует сообщество
Статья: https://apptractor.ru/info/articles/9-let-android-razrabotki-3-mesyatsa-bez-raboty-kak-vybratsya-iz-tupika.html
Платформа: Android/карьера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Xcode 27, похоже, меняет правила игры
Проведя с этой бета-версией достаточно времени, могу без преувеличения сказать: Xcode 27 выглядит как самое продуманное обновление инструмента за последние годы. Оно не просто добавляет новые функции. Оно пересматривает базовые предположения о том, как разработчики действительно работают, и перестраивает среду вокруг более удачных решений.
Это всё ещё бета-версия, поэтому до финального выпуска многое может измениться. Но уже сейчас всё выглядит на удивление цельно и определённо заслуживает обсуждения.
Вот что особенно привлекло моё внимание.
Статья: https://apptractor.ru/info/articles/xcode-27-pohozhe-menyaet-pravila-igry.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Проведя с этой бета-версией достаточно времени, могу без преувеличения сказать: Xcode 27 выглядит как самое продуманное обновление инструмента за последние годы. Оно не просто добавляет новые функции. Оно пересматривает базовые предположения о том, как разработчики действительно работают, и перестраивает среду вокруг более удачных решений.
Это всё ещё бета-версия, поэтому до финального выпуска многое может измениться. Но уже сейчас всё выглядит на удивление цельно и определённо заслуживает обсуждения.
Вот что особенно привлекло моё внимание.
Статья: https://apptractor.ru/info/articles/xcode-27-pohozhe-menyaet-pravila-igry.html
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Fud AI - трекер калорий для iOS и Android
Fud AI - открытый privacy-first трекер калорий для iOS и Android. Позволяет делать снимки или импортировать до 10 фотографий еды с возможностью добавления заметок, сканировать штрихкоды, спрашивать у своего ИИ-тренера, как достичь цели, озвучивать свой обед или использовать Siri Shortcuts на iOS для записи еды и веса. Нужно использовать собственный ключ для работы с ИИ, зато никаких учетных записей, облачной синхронизации, отслеживания или рекламы — совершенно бесплатно.
В версии для iOS используется SwiftUI, в Android - Kotlin + Jetpack Compose. Плюс есть маркетинговый сайт и готовое описание для магазинов.
Fud AI на GitHub: https://github.com/apoorvdarshan/fud-ai
Платформа: iOS/Android
⭐️: 337
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Fud AI - открытый privacy-first трекер калорий для iOS и Android. Позволяет делать снимки или импортировать до 10 фотографий еды с возможностью добавления заметок, сканировать штрихкоды, спрашивать у своего ИИ-тренера, как достичь цели, озвучивать свой обед или использовать Siri Shortcuts на iOS для записи еды и веса. Нужно использовать собственный ключ для работы с ИИ, зато никаких учетных записей, облачной синхронизации, отслеживания или рекламы — совершенно бесплатно.
В версии для iOS используется SwiftUI, в Android - Kotlin + Jetpack Compose. Плюс есть маркетинговый сайт и готовое описание для магазинов.
Fud AI на GitHub: https://github.com/apoorvdarshan/fud-ai
Платформа: iOS/Android
⭐️: 337
Please open Telegram to view this post
VIEW IN TELEGRAM
•
(iOS En) Apple Photos App Tab Bar Using SwiftUI•
(iOS En) What's New in Xcode 27•
(iOS En) Stacked Glass Toasts Using SwiftUI •
(iOS En) Balancing High and Low-Level Programming in Swift•
(And En) What AI Gets Wrong About Android...•
(And En) If you don't type code yourself, you're falling behind.•
(And En) The place where leaking abstraction, data races and security vulnerabilities all meet•
(And En) What’s New in Kotlin 2.4•
(And En) Kotlin Performance Tracing on Android: From Coroutines to Reality•
(And En) Flow with Exposed: Life Finds a Way•
(And En) Koin + Kotlin Compiler = ♥️•
(And En) 5 Experimental Kotlin Features You Don't Want to Miss•
(And En) Multiple ViewModel Architecture in Jetpack Compose•
(Crs En) Kotlin/Wasm: Finally, the missing piece for a full stack Kotlin webapp!•
(Dev Ru) Заказываем кофе с помощью AI•
(Dev Ru) От вайбкодера к контекст-инженеру•
(Dev Ru) Вся магия Laravel — PHP, архитектура и highload•
(Dev En) Python for Engineers & Robotics – Master NumPy, Pandas, and ChatGPT AutomationПрошлогодние видео:
•
(iOS Ru) Расширяем iOS-разработку с помощью AI•
(And Ru) ByteWeaver. Инструментирование байт-кода во имя великого блага•
(Crs Ru) Разработка на iOS и KMP, и жизнь на полной скорости•
(Crs Ru) Почему вам не нужен Kotlin Multiplatform•
(Crs Ru) Создание indoor-карты здания во Flutter•
(Dev Ru) 30 вопросов команде и себе — техника и практика формулировка хороших вопросовPlease open Telegram to view this post
VIEW IN TELEGRAM
Обработка исключений в Kotlin Coroutines
Пытаюсь лучше понять работу Kotlin Coroutines. Беру небольшую тему про Kotlin Coroutines и пытаюсь разобраться и написать шпаргалку (максимально кратко и лаконично). Сегодня про обработку ошибок.
Статья: https://habr.com/ru/articles/1070060/
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Пытаюсь лучше понять работу Kotlin Coroutines. Беру небольшую тему про Kotlin Coroutines и пытаюсь разобраться и написать шпаргалку (максимально кратко и лаконично). Сегодня про обработку ошибок.
Статья: https://habr.com/ru/articles/1070060/
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM