ADB Device Manager - двойное управление Android для Windows
ADB Device Manager объедините Android и Windows в единую систему управления. Он позволяет, используя два режима (режим ADB и режим приложения), выполнять следующие действия:
• Зеркальное отображение экрана вашего Android-устройства на Windows
• Трансляция звука с устройства на ПК
• Управление приложениями, уведомлениями, звонками и SMS
• Запуск Android в режиме рабочего стола
• Передача файлов, просмотр фотографий, управление контактами
• Подключение через USB, Wi-Fi ADB или LAN в режиме приложения
Внутри ADB (Android Debug Bridge), scrcpy, nircmd_x64, Flutter, Kotlin, Python.
ADB Device Manager на GitHub: https://github.com/Shrey113/Adb-Device-Manager-2
Платформа: Android/кроссплатформа
⭐️: 140
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
ADB Device Manager объедините Android и Windows в единую систему управления. Он позволяет, используя два режима (режим ADB и режим приложения), выполнять следующие действия:
• Зеркальное отображение экрана вашего Android-устройства на Windows
• Трансляция звука с устройства на ПК
• Управление приложениями, уведомлениями, звонками и SMS
• Запуск Android в режиме рабочего стола
• Передача файлов, просмотр фотографий, управление контактами
• Подключение через USB, Wi-Fi ADB или LAN в режиме приложения
Внутри ADB (Android Debug Bridge), scrcpy, nircmd_x64, Flutter, Kotlin, Python.
ADB Device Manager на GitHub: https://github.com/Shrey113/Adb-Device-Manager-2
Платформа: Android/кроссплатформа
⭐️: 140
Please open Telegram to view this post
VIEW IN TELEGRAM
Под капотом: MessageQueue без блокировок в Android 17
В Android 17 Google полностью переосмыслил работу базового механизма обработки сообщений в приложениях:
Такой подход требует глубоких изменений в алгоритмах — например, использования атомарных операций вместо мониторов, обработки «логического удаления» сообщений и тщательного управления памятью — но результаты впечатляют: в тестах многопоточные вставки стали в тысячи раз быстрее, а время, теряемое из-за блокировок, сократилось, что приводило к заметному улучшению производительности UI в реальных приложениях. Разработчикам важно учесть эти изменения, так как новая очередь может повлиять на код, который отражением (reflection) обращается к внутренним полям
Статья: https://android-developers.googleblog.com/2026/02/under-hood-android-17s-lock-free.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
В Android 17 Google полностью переосмыслил работу базового механизма обработки сообщений в приложениях:
MessageQueue. Ранее эта очередь использовала один блокирующий lock для синхронизации, что могло приводить к блокировкам UI-потока (например, при одновременной работе фоновых задач) и вызывать задержки в работе интерфейса. Новая реализация под названием DeliQueue отказалась от традиционных блокировок и вместо них применяет lock-free структуры данных: производители сообщений пушат задачи в lock-free стек, а единственный поток UI (Looper) затем переносит их в собственную упорядоченную очередь (min-heap). Это позволяет значительно снизить конкуренцию за ресурсы, улучшить отзывчивость интерфейса и уменьшить количество пропущенных кадров.Такой подход требует глубоких изменений в алгоритмах — например, использования атомарных операций вместо мониторов, обработки «логического удаления» сообщений и тщательного управления памятью — но результаты впечатляют: в тестах многопоточные вставки стали в тысячи раз быстрее, а время, теряемое из-за блокировок, сократилось, что приводило к заметному улучшению производительности UI в реальных приложениях. Разработчикам важно учесть эти изменения, так как новая очередь может повлиять на код, который отражением (reflection) обращается к внутренним полям
MessageQueue.Статья: https://android-developers.googleblog.com/2026/02/under-hood-android-17s-lock-free.html
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
✍1
Ошибка на 12 миллиардов долларов: почему Apple отказалась от сторибордов (и почему большинство команд до сих пор их используют)
Если вам это знакомо — ночные конфликты слияния, загадочные сбои Interface Builder, кошмары в онбординге — вы не одиноки. Apple тихо признала эти проблемы и уже много лет отговаривает разработчиков от использования сторибордов (Вы когда-нибудь замечали, как в недавних примерах кода WWDC используется SwiftUI или программный пользовательский интерфейс, без файла .storyboard? В стандартном шаблоне приложения SwiftUI даже нет файла сториборда). В этом подробном обзоре мы рассмотрим реальные затраты на использование сторибордов с помощью реальных цифр, сравним код до и после и изучим современные альтернативы, такие как SwiftUI, которые спасают команды от проблем с конфликтами слияния в Xcode. В конце вы получите конкретные шаги по модернизации вашей iOS-архитектуры — и, возможно, пару историй из практики, которыми сможете поделиться.
Статья: https://apptractor.ru/info/articles/storyboards.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Если вам это знакомо — ночные конфликты слияния, загадочные сбои Interface Builder, кошмары в онбординге — вы не одиноки. Apple тихо признала эти проблемы и уже много лет отговаривает разработчиков от использования сторибордов (Вы когда-нибудь замечали, как в недавних примерах кода WWDC используется SwiftUI или программный пользовательский интерфейс, без файла .storyboard? В стандартном шаблоне приложения SwiftUI даже нет файла сториборда). В этом подробном обзоре мы рассмотрим реальные затраты на использование сторибордов с помощью реальных цифр, сравним код до и после и изучим современные альтернативы, такие как SwiftUI, которые спасают команды от проблем с конфликтами слияния в Xcode. В конце вы получите конкретные шаги по модернизации вашей iOS-архитектуры — и, возможно, пару историй из практики, которыми сможете поделиться.
Статья: https://apptractor.ru/info/articles/storyboards.html
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
ListKit - быстрый diffable data source для UICollectionView
ListKit - быстрый, написанный на чистом Swift источник данных с возможностью сравнения изменений (diffable data source) для
ListKit на GitHub: https://github.com/Iron-Ham/Lists
Статья: https://sundayswift.com/posts/building-a-high-performance-list-framework/
Платформа: iOS
⭐️: 13
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
ListKit - быстрый, написанный на чистом Swift источник данных с возможностью сравнения изменений (diffable data source) для
UICollectionView. Полная замена UICollectionViewDiffableDataSource от Apple с алгоритмом сравнения изменений Хекеля со сложностью O(n) и высокоуровневым декларативным API (совместим с NSDiffableDataSourceSnapshot). В тестах эта библиотека от 2 до 1000 раз превосходит по скорости встроенное решение Apple.ListKit на GitHub: https://github.com/Iron-Ham/Lists
Статья: https://sundayswift.com/posts/building-a-high-performance-list-framework/
Платформа: iOS
⭐️: 13
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Не убий: Гайд по UI/UX в Android Automotive, за который вас не посадят
В прошлой серии мы научились вытаскивать из машины данные. Мы знаем скорость, обороты двигателя и даже какая дверь открыта. Руки чешутся вывести всё это на огромный экран в 4K, добавить анимаций, графиков и запустить YouTube на фоне, да?
Статья: https://habr.com/ru/articles/1001016/
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
В прошлой серии мы научились вытаскивать из машины данные. Мы знаем скорость, обороты двигателя и даже какая дверь открыта. Руки чешутся вывести всё это на огромный экран в 4K, добавить анимаций, графиков и запустить YouTube на фоне, да?
Статья: https://habr.com/ru/articles/1001016/
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
Расцвет "достаточно хорошей" архитектуры в Android
Идеальная архитектура — это миф. Достаточно хорошая архитектура — это дисциплина, знающая, что нужно делать, что отложить, а что вообще не стоит использовать.
Начните с простого. Когда возникнут проблемы, добавляйте уровни. И помните, что отзывы о вашем приложении в Play Store пишут пользователи, а не ваш граф внедрения зависимостей.
Статья: https://apptractor.ru/info/articles/rastsvet-dostatochno-horoshey-arhitektury-v-android.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Идеальная архитектура — это миф. Достаточно хорошая архитектура — это дисциплина, знающая, что нужно делать, что отложить, а что вообще не стоит использовать.
Начните с простого. Когда возникнут проблемы, добавляйте уровни. И помните, что отзывы о вашем приложении в Play Store пишут пользователи, а не ваш граф внедрения зависимостей.
Статья: https://apptractor.ru/info/articles/rastsvet-dostatochno-horoshey-arhitektury-v-android.html
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
Как я за 2,5 месяца написал строительный калькулятор на Flutter с ИИ-прорабом, 45+ калькуляторами и 8000 тестами
В этой статье расскажу про архитектуру, покажу реальный код и объясню, почему переписал систему калькуляторов с нуля на полпути разработки, как впихнул ИИ с характером ворчливого прораба через OpenRouter и зачем написал 8180 тестов на проект, который делает один человек.
Статья: https://habr.com/ru/articles/1001080/
Платформа: кроссплатформа/Flutter
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
В этой статье расскажу про архитектуру, покажу реальный код и объясню, почему переписал систему калькуляторов с нуля на полпути разработки, как впихнул ИИ с характером ворчливого прораба через OpenRouter и зачем написал 8180 тестов на проект, который делает один человек.
Статья: https://habr.com/ru/articles/1001080/
Платформа: кроссплатформа/Flutter
Please open Telegram to view this post
VIEW IN TELEGRAM
Codename One — нативные кроссплатформенные приложения на Java или Kotlin
Codename One — это кроссплатформенная среда разработки для Java и Kotlin, ориентированная на мобильные устройства. Она позволяет компилировать байт-код Java в исполняемые файлы нативных ОС (iOS, Android, UWP и т. д.). Это полноценная мобильная платформа, включающая виртуальные машины, симулятор, инструменты проектирования (визуальные темы/конструктор/CSS), интеграцию с IDE, портирование на различные ОС и многое другое. Она обеспечивает полный доступ к базовому нативному коду ОС (например, Objective-C, C#, Dalvik/ART) через переносимую абстракцию, что обеспечивает 100% повторное использование кода.
Codename One — единственная платформа, которая:
• Поддерживает принцип «напиши один раз — запускай где угодно» без специальных требований к оборудованию и обеспечивает 100% повторное использование кода.
• Компилирует Java или Kotlin в нативный код для iOS, UWP (Universal Windows Platform), Android и даже JavaScript (с бесшовной поддержкой PWA и потоков).
• С открытым исходным кодом и бесплатная с возможностью коммерческого использования на корпоративном уровне.
• Проста в использовании благодаря 100% портативному конструктору графического интерфейса с функцией перетаскивания.
• Имеет полный доступ к базовым возможностям нативной ОС, используя собственный язык программирования ОС (например, Objective-C) без ущерба для переносимости.
• Имеет полный контроль над каждым пикселем на экране! Просто переопределите метод paint и рисуйте или используйте стеклянную панель для рисования в любом месте.
• Позволяет использовать нативные виджеты (представления) и смешивать их с компонентами Codename One в одной иерархии (смешивание тяжелых и легких компонентов).
• Поддерживает бесшовную непрерывную интеграцию «из коробки».
Codename One на GitHub: https://github.com/codenameone/CodenameOne
Платформа: кроссплатформа
⭐️: 1.8K
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Codename One — это кроссплатформенная среда разработки для Java и Kotlin, ориентированная на мобильные устройства. Она позволяет компилировать байт-код Java в исполняемые файлы нативных ОС (iOS, Android, UWP и т. д.). Это полноценная мобильная платформа, включающая виртуальные машины, симулятор, инструменты проектирования (визуальные темы/конструктор/CSS), интеграцию с IDE, портирование на различные ОС и многое другое. Она обеспечивает полный доступ к базовому нативному коду ОС (например, Objective-C, C#, Dalvik/ART) через переносимую абстракцию, что обеспечивает 100% повторное использование кода.
Codename One — единственная платформа, которая:
• Поддерживает принцип «напиши один раз — запускай где угодно» без специальных требований к оборудованию и обеспечивает 100% повторное использование кода.
• Компилирует Java или Kotlin в нативный код для iOS, UWP (Universal Windows Platform), Android и даже JavaScript (с бесшовной поддержкой PWA и потоков).
• С открытым исходным кодом и бесплатная с возможностью коммерческого использования на корпоративном уровне.
• Проста в использовании благодаря 100% портативному конструктору графического интерфейса с функцией перетаскивания.
• Имеет полный доступ к базовым возможностям нативной ОС, используя собственный язык программирования ОС (например, Objective-C) без ущерба для переносимости.
• Имеет полный контроль над каждым пикселем на экране! Просто переопределите метод paint и рисуйте или используйте стеклянную панель для рисования в любом месте.
• Позволяет использовать нативные виджеты (представления) и смешивать их с компонентами Codename One в одной иерархии (смешивание тяжелых и легких компонентов).
• Поддерживает бесшовную непрерывную интеграцию «из коробки».
Codename One на GitHub: https://github.com/codenameone/CodenameOne
Платформа: кроссплатформа
⭐️: 1.8K
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
Detekt Rules Koin - Detekt-расширение с 51 правилом для Koin 4.x
Кирилл из AndroidBroadcast выпустил новые правила для линтера.
Если используете Koin и Detekt, то знаете, что стандартный Detekt ничего не знает о специфике Koin. Можно написать рабочий, но проблемный код — и никаких предупреждений.
Что ловит библиотека:
• Service Locator антипаттерны (5 правил)
• Ошибки в Module DSL (14 правил)
• Проблемы управления скоупами (8 правил)
• Platform-специфичные проблемы (8 правил)
• Архитектурные нарушения (4 правила)
• Koin Annotations (12 правил)
Detekt Rules Koin на GitHub: https://github.com/androidbroadcast/Koin-Detekt
Платформа: Android
⭐️: 1
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Кирилл из AndroidBroadcast выпустил новые правила для линтера.
Если используете Koin и Detekt, то знаете, что стандартный Detekt ничего не знает о специфике Koin. Можно написать рабочий, но проблемный код — и никаких предупреждений.
Что ловит библиотека:
• Service Locator антипаттерны (5 правил)
• Ошибки в Module DSL (14 правил)
• Проблемы управления скоупами (8 правил)
• Platform-специфичные проблемы (8 правил)
• Архитектурные нарушения (4 правила)
• Koin Annotations (12 правил)
Detekt Rules Koin на GitHub: https://github.com/androidbroadcast/Koin-Detekt
Платформа: Android
⭐️: 1
Please open Telegram to view this post
VIEW IN TELEGRAM
CarPlay Developer Guide
Официальное руководство по разработке приложений для CarPlay.
Ссылка: https://developer.apple.com/download/files/CarPlay-Developer-Guide.pdf
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Официальное руководство по разработке приложений для CarPlay.
Ссылка: https://developer.apple.com/download/files/CarPlay-Developer-Guide.pdf
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
•
(iOS Ru) Как устроена мобильная разработка в Яндекс Картах•
(iOS En) New iOS 26 Style OnBoarding Animation Using SwiftUI•
(iOS En) Sharing App Data with Uniform Type Identifiers and ShareSheets•
(iOS En) Liquid Glass Morphing Tab bar | Expandable Tab Bar | SwiftUI•
(And Ru) КодРевью лидера мнений: как можно нарушить сразу все принципы разработки•
(And Ru) Ты не владелец своего Android. И вот почему•
(And En) What’s so great about R8?•
(And En) Top 5 Jetpack Compose Performance Killers•
(And En) Kotlin Devs Diversify: Android is 25% Now•
(And En) You won't believe how we created an Android Lint rule using AI - with Tor Norbye•
(And En) Google’s Recommended App Architecture Explained (Android & iOS)•
(Crs Ru) Твое первое приложение на KMP для ОС Аврора•
(Dev Ru) 1 из 10 разработчиков ничего не делает на работе. Интервью с исследователем из Стэнфорда.•
(Dev Ru) Хэш-таблицы — Open addressing, коллизии, hashПрошлогодние видео:
•
(And Ru) Погружаемся в мир технологий Яндекс Переводчика•
(And Ru) Мок собеседование Android разработчика в Контур: архитектура и кодинг приложения•
(Dev Ru) Публичное собеседование на позицию Head of QA•
(Dev Ru) Краш-курс по автоматизации тестированияPlease open Telegram to view this post
VIEW IN TELEGRAM
Refreshable - pull-to-refresh для UIScrollView
Современная, легковесная библиотека Swift, предоставляющая pull-to-refresh функции и загрузки дополнительных элементов для UIScrollView и всех его подклассов. Разработана с учетом производительности и возможностей настройки.
Особенности:
• Pull-to-refresh — плавный жест «потянуть вниз» для обновления контента
• Загрузка дополнительных элементов — бесконечная прокрутка с автоматическим определением загрузки дополнительных элементов
• Высокая степень кастомизации — легко реализовать пользовательские анимации и стили
• Оптимизация производительности — минимальное потребление памяти и плавные анимации
• Простая интеграция — простой API с разумными значениями по умолчанию
• Универсальная поддержка — работает с UIScrollView, UITableView, UICollectionView и UITextView
Refreshable на GitHub: https://github.com/hoangtaiki/Refreshable
Платформа: iOS
⭐️: 41
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Современная, легковесная библиотека Swift, предоставляющая pull-to-refresh функции и загрузки дополнительных элементов для UIScrollView и всех его подклассов. Разработана с учетом производительности и возможностей настройки.
Особенности:
• Pull-to-refresh — плавный жест «потянуть вниз» для обновления контента
• Загрузка дополнительных элементов — бесконечная прокрутка с автоматическим определением загрузки дополнительных элементов
• Высокая степень кастомизации — легко реализовать пользовательские анимации и стили
• Оптимизация производительности — минимальное потребление памяти и плавные анимации
• Простая интеграция — простой API с разумными значениями по умолчанию
• Универсальная поддержка — работает с UIScrollView, UITableView, UICollectionView и UITextView
Refreshable на GitHub: https://github.com/hoangtaiki/Refreshable
Платформа: iOS
⭐️: 41
Please open Telegram to view this post
VIEW IN TELEGRAM
Настройка конвейера доставки для ваших агентских iOS-проектов
В этом посте я хочу рассказать вам о конвейере, который я использую, чтобы, несмотря на использование агентного подхода к разработке, качество моего продукта оставалось на высоком уровне (да, это включает в себя чтение кода и иногда ручную корректировку).
Мы рассмотрим настройку локальной среды, почему важен режим планирования, автоматизированные проверки запросов на слияние с помощью BugBot от Cursor, запуск сборок и тестов CI с помощью Bitrise, а также волшебство почти мгновенной загрузки сборок TestFlight на ваше устройство после слияния.
Статья: https://apptractor.ru/info/articles/nastroyka-konveyera-dostavki-dlya-vashih-agentskih-ios-proektov.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
В этом посте я хочу рассказать вам о конвейере, который я использую, чтобы, несмотря на использование агентного подхода к разработке, качество моего продукта оставалось на высоком уровне (да, это включает в себя чтение кода и иногда ручную корректировку).
Мы рассмотрим настройку локальной среды, почему важен режим планирования, автоматизированные проверки запросов на слияние с помощью BugBot от Cursor, запуск сборок и тестов CI с помощью Bitrise, а также волшебство почти мгновенной загрузки сборок TestFlight на ваше устройство после слияния.
Статья: https://apptractor.ru/info/articles/nastroyka-konveyera-dostavki-dlya-vashih-agentskih-ios-proektov.html
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0
Todo Budget — это приложение-комбайн: список задач с приоритетами и подзадачами, учёт доходов/расходов/долгов, помодоро-таймер и заметки с голосовым вводом. Стек: Kotlin + Jetpack Compose + Material 3 + Room + Yandex Ads. Минимальная версия Android 5.0 (API 21), целевая — Android 15 (API 35).
После публикации предыдущей версии я получил обратную связь: пользователи хотели больше аналитики, защиту данных и возможность не потерять контекст работы при сворачивании приложения. Я решил не выпускать фичи по одной, а собрать всё в один большой релиз.
Статья: https://habr.com/ru/articles/1003034/
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Todo Budget — это приложение-комбайн: список задач с приоритетами и подзадачами, учёт доходов/расходов/долгов, помодоро-таймер и заметки с голосовым вводом. Стек: Kotlin + Jetpack Compose + Material 3 + Room + Yandex Ads. Минимальная версия Android 5.0 (API 21), целевая — Android 15 (API 35).
После публикации предыдущей версии я получил обратную связь: пользователи хотели больше аналитики, защиту данных и возможность не потерять контекст работы при сворачивании приложения. Я решил не выпускать фичи по одной, а собрать всё в один большой релиз.
Статья: https://habr.com/ru/articles/1003034/
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
Ваше iOS-приложение не закончено, если им не может пользоваться незрячий: Гайд по Accessibility
Это руководство создано не для того, чтобы вы просто поставили галочку в Jira. Мы поговорим о том, как код может стать мостом или стеной для миллионов людей.
Статья: https://habr.com/ru/articles/1002142/
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Это руководство создано не для того, чтобы вы просто поставили галочку в Jira. Мы поговорим о том, как код может стать мостом или стеной для миллионов людей.
Статья: https://habr.com/ru/articles/1002142/
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
😐1
Code On The Go - среда разработки Android-приложений
Code on the Go — это интегрированная среда разработки, которая позволяет создавать приложения для Android на телефонах Android без необходимости использования традиционного компьютера или доступа в Интернет.
Это ранняя, экспериментальная версия IDE. Этот релиз предназначен для разработчиков Android, которые готовы тестировать черновой вариант программного обеспечения и предоставлять конструктивную обратную связь.
Code on the Go на GitHub: https://github.com/appdevforall/CodeOnTheGo
Платформа: Android
⭐️: 93
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Code on the Go — это интегрированная среда разработки, которая позволяет создавать приложения для Android на телефонах Android без необходимости использования традиционного компьютера или доступа в Интернет.
Это ранняя, экспериментальная версия IDE. Этот релиз предназначен для разработчиков Android, которые готовы тестировать черновой вариант программного обеспечения и предоставлять конструктивную обратную связь.
Code on the Go на GitHub: https://github.com/appdevforall/CodeOnTheGo
Платформа: Android
⭐️: 93
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Создание тоста в SwiftUI за 5 шагов
В SwiftUI до сих пор нет встроенного компонента для всплывающих уведомлений (toast ). Существуют оповещения (alert) и всплывающие окна (sheet), но они, по своей сути, являются модальными. Тост решает другую проблему: оно предоставляет кратковременную обратную связь, не прерывая рабочий процесс пользователя.
В этой статье я расскажу о практическом способе реализации всплывающего уведомления в SwiftUI. Решение является лёгким, многоразовым и работает поверх всего пользовательского интерфейса приложения.
Статья: https://apptractor.ru/info/articles/sozdanie-tosta-v-swiftui-za-5-shagov.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
В SwiftUI до сих пор нет встроенного компонента для всплывающих уведомлений (toast ). Существуют оповещения (alert) и всплывающие окна (sheet), но они, по своей сути, являются модальными. Тост решает другую проблему: оно предоставляет кратковременную обратную связь, не прерывая рабочий процесс пользователя.
В этой статье я расскажу о практическом способе реализации всплывающего уведомления в SwiftUI. Решение является лёгким, многоразовым и работает поверх всего пользовательского интерфейса приложения.
Статья: https://apptractor.ru/info/articles/sozdanie-tosta-v-swiftui-za-5-shagov.html
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
Сейчас писать код дешево
Самая большая проблема при внедрении методов агентной инженерии — это смириться с последствиями того факта, что написание кода теперь обходится дёшево.
Код всегда был дорогим. Написание нескольких сотен строк чистого, протестированного кода занимает у большинства разработчиков программного обеспечения целый день или даже больше. Многие наши инженерные привычки, как на макро-, так и на микроуровне, построены вокруг этого основного ограничения.
На макроуровне мы тратим много времени на проектирование, оценку и планирование проектов, чтобы гарантировать, что наше дорогостоящее время, затраченное на кодирование, используется максимально эффективно. Идеи функций оцениваются с точки зрения того, какую ценность они могут принести в обмен на это время — функция должна многократно окупить затраты на разработку, чтобы быть стоящей!
На микроуровне мы принимаем сотни решений в день, основываясь на доступном времени и ожидаемых компромиссах. Стоит ли мне переписать эту функцию, сделав её немного более элегантной, если это добавит ещё час времени на кодирование? А как насчёт написания документации? Стоит ли добавлять тест для этого граничного случая? Могу ли я оправдать создание интерфейса отладки для этого?
Использование программных агентов значительно снижает затраты на ввод кода в компьютер, что разрушает многие из наших существующих личных и организационных представлений о том, какие компромиссы оправданы.
Возможность параллельного запуска агентов еще больше затрудняет оценку, поскольку один инженер-человек теперь может одновременно внедрять, рефакторить, тестировать и документировать код в нескольких местах.
Статья: https://apptractor.ru/info/articles/seychas-pisat-kod-deshevo.html
Платформа: разработка
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Самая большая проблема при внедрении методов агентной инженерии — это смириться с последствиями того факта, что написание кода теперь обходится дёшево.
Код всегда был дорогим. Написание нескольких сотен строк чистого, протестированного кода занимает у большинства разработчиков программного обеспечения целый день или даже больше. Многие наши инженерные привычки, как на макро-, так и на микроуровне, построены вокруг этого основного ограничения.
На макроуровне мы тратим много времени на проектирование, оценку и планирование проектов, чтобы гарантировать, что наше дорогостоящее время, затраченное на кодирование, используется максимально эффективно. Идеи функций оцениваются с точки зрения того, какую ценность они могут принести в обмен на это время — функция должна многократно окупить затраты на разработку, чтобы быть стоящей!
На микроуровне мы принимаем сотни решений в день, основываясь на доступном времени и ожидаемых компромиссах. Стоит ли мне переписать эту функцию, сделав её немного более элегантной, если это добавит ещё час времени на кодирование? А как насчёт написания документации? Стоит ли добавлять тест для этого граничного случая? Могу ли я оправдать создание интерфейса отладки для этого?
Использование программных агентов значительно снижает затраты на ввод кода в компьютер, что разрушает многие из наших существующих личных и организационных представлений о том, какие компромиссы оправданы.
Возможность параллельного запуска агентов еще больше затрудняет оценку, поскольку один инженер-человек теперь может одновременно внедрять, рефакторить, тестировать и документировать код в нескольких местах.
Статья: https://apptractor.ru/info/articles/seychas-pisat-kod-deshevo.html
Платформа: разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
От Dagger к Metro
Metro — современный фреймворк для внедрения зависимостей в Kotlin, созданный Заком Свирсом. И мы, Android-разработчики из Vinted, официально и полностью перешли на него! Для нашей огромной кодовой базы это был довольно непростой путь.
Статья: https://apptractor.ru/info/articles/ot-dagger-k-metro.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Metro — современный фреймворк для внедрения зависимостей в Kotlin, созданный Заком Свирсом. И мы, Android-разработчики из Vinted, официально и полностью перешли на него! Для нашей огромной кодовой базы это был довольно непростой путь.
Статья: https://apptractor.ru/info/articles/ot-dagger-k-metro.html
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
App Store Connect CLI - быстрая работа с App Store Connect API
App Store Connect CLI - быстрая, легковесная, со скриптами CLI-утилита для работы с App Store Connect API. Автоматизируйте рабочие процессы выпуска iOS, macOS, tvOS и visionOS из терминала, IDE или конвейера CI/CD. Работайте с TestFlight, сборками, отправкой, подписанием, аналитикой, скриншотами, подписками и многим другим. JSON-ориентированный подход, без интерактивных промптов.
App Store Connect CLI на GitHub: https://github.com/rudrankriyam/App-Store-Connect-CLI
Платформа: iOS
⭐️: 2.3K
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
App Store Connect CLI - быстрая, легковесная, со скриптами CLI-утилита для работы с App Store Connect API. Автоматизируйте рабочие процессы выпуска iOS, macOS, tvOS и visionOS из терминала, IDE или конвейера CI/CD. Работайте с TestFlight, сборками, отправкой, подписанием, аналитикой, скриншотами, подписками и многим другим. JSON-ориентированный подход, без интерактивных промптов.
App Store Connect CLI на GitHub: https://github.com/rudrankriyam/App-Store-Connect-CLI
Платформа: iOS
⭐️: 2.3K
Please open Telegram to view this post
VIEW IN TELEGRAM
Бэкдоры в фальшивых собеседованиях
Злоумышленники проводят фальшивые собеседования для разработчиков и отправляют «тестовые задания» в виде репозиториев с вредоносным кодом. Проекты выглядят как обычные приложения (например, на Next.js), но при запуске устанавливают бэкдор и подключаются к серверу управления (C2). Таким образом атакующие получают удалённый доступ к машине жертвы
Вредоносный код активируется через привычные для разработчика механизмы: автоматические задачи VS Code (
Основной риск — компрометация рабочей среды: утечка API-ключей, токенов, секретов из .env, исходного кода и доступа к корпоративной инфраструктуре. В качестве защиты рекомендуется запускать тестовые задания в изолированной среде (VM или контейнере), проверять конфигурационные файлы перед запуском и тщательно верифицировать работодателя через официальные каналы.
Статья: https://threatroad.substack.com/p/fake-job-interviews-are-installing🇬🇧
Платформа: разработка
Поставь 👍 или пошарь пост, если хочешь перевод
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Злоумышленники проводят фальшивые собеседования для разработчиков и отправляют «тестовые задания» в виде репозиториев с вредоносным кодом. Проекты выглядят как обычные приложения (например, на Next.js), но при запуске устанавливают бэкдор и подключаются к серверу управления (C2). Таким образом атакующие получают удалённый доступ к машине жертвы
Вредоносный код активируется через привычные для разработчика механизмы: автоматические задачи VS Code (
.vscode/tasks.json), скрытые скрипты в файлах проекта (например, замаскированные под jquery.min.js) и серверный код, выполняющий декодированные команды при старте приложения. В результате на устройстве закрепляется бэкдор, способный выполнять команды и передавать данные злоумышленникамОсновной риск — компрометация рабочей среды: утечка API-ключей, токенов, секретов из .env, исходного кода и доступа к корпоративной инфраструктуре. В качестве защиты рекомендуется запускать тестовые задания в изолированной среде (VM или контейнере), проверять конфигурационные файлы перед запуском и тщательно верифицировать работодателя через официальные каналы.
Статья: https://threatroad.substack.com/p/fake-job-interviews-are-installing
Платформа: разработка
Поставь 👍 или пошарь пост, если хочешь перевод
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1