Делаем замену List в SwiftUI
Когда вы задумываетесь о создании прокручиваемого экрана в SwiftUI, вы, возможно, рассматриваете использование
Статья: https://swiftwithmajid.com/2026/04/06/building-list-replacement-in-swiftui/
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Когда вы задумываетесь о создании прокручиваемого экрана в SwiftUI, вы, возможно, рассматриваете использование
List. Однако это не всегда лучший выбор. Списки отлично подходят для отображения однородных данных. Для всего остального почти всегда лучшим вариантом является ScrollView с ленивым стеком. В этой статье мы научимся создавать пользовательский прокручиваемый контейнер в SwiftUI с точным контролем внешнего вида.Статья: https://swiftwithmajid.com/2026/04/06/building-list-replacement-in-swiftui/
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
Material Photo Widget - виджет с фото
Material Photo Widget — это максимально простое приложение: виджет для главного экрана Android, отображающий фотографию или коллекцию фотографий. Это бесплатная альтернатива с открытым исходным кодом, без рекламы, для тех, кто хочет персонализировать свой главный экран любимыми фотографиями.
На самом же деле Photo Widget — это площадка для изучения и исследования современной разработки под Android.
Темы:
• Чистый и красивый пользовательский интерфейс, созданный с помощью Jetpack Compose и M3 Expressive
• Android Jetpack, включая Jetpack Compose
• Виджеты для главного экрана
Material Photo Widget на GitHub: https://github.com/fibelatti/photo-widget
Платформа: Android
⭐️: 281
Material Photo Widget — это максимально простое приложение: виджет для главного экрана Android, отображающий фотографию или коллекцию фотографий. Это бесплатная альтернатива с открытым исходным кодом, без рекламы, для тех, кто хочет персонализировать свой главный экран любимыми фотографиями.
На самом же деле Photo Widget — это площадка для изучения и исследования современной разработки под Android.
Темы:
• Чистый и красивый пользовательский интерфейс, созданный с помощью Jetpack Compose и M3 Expressive
• Android Jetpack, включая Jetpack Compose
• Виджеты для главного экрана
Material Photo Widget на GitHub: https://github.com/fibelatti/photo-widget
Платформа: Android
⭐️: 281
Разбираем Remote Compose: как Google предлагает строить BDUI
Технологии Backend-Driven UI уже давно используются во многих компаниях, включая Альфа-Банк. Существует множество реализаций этого подхода, и недавно Google представил собственное решение — Remote Compose.
Remote Compose выглядит очень перспективной технологией. Фреймворк активно развивается и поддерживается командой Google. Однако на момент написания статьи технология всё ещё находится в alpha-версии, поэтому использовать её на проде пока рано.
Но я изучил этот фреймворк и хочу поделиться своим опытом, а когда Remote Compose выйдет в бета-версию вы будете знать, как с ним работать
Статья: https://habr.com/ru/companies/alfa/articles/1018986/
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Технологии Backend-Driven UI уже давно используются во многих компаниях, включая Альфа-Банк. Существует множество реализаций этого подхода, и недавно Google представил собственное решение — Remote Compose.
Remote Compose выглядит очень перспективной технологией. Фреймворк активно развивается и поддерживается командой Google. Однако на момент написания статьи технология всё ещё находится в alpha-версии, поэтому использовать её на проде пока рано.
Но я изучил этот фреймворк и хочу поделиться своим опытом, а когда Remote Compose выйдет в бета-версию вы будете знать, как с ним работать
Статья: https://habr.com/ru/companies/alfa/articles/1018986/
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Разбираем Remote Compose: как Google предлагает строить BDUI
Технологии Backend-Driven UI уже давно используются во многих компаниях, включая Альфа-Банк. Существует множество реализаций этого подхода, и недавно Google представил собственное решение — Remote...
❤1
Осваиваем пружинную анимацию в SwiftUI
В SwiftUI анимации действительно мощные, и среди них пружинная анимация даёт реалистичное и плавное ощущение — как будто элементы двигаются естественно, с эффектом отскока и переразгона (overshoot).
Если вы замечали, что при лёгком нажатии на кнопку или карточку появляется небольшой эффект подпрыгивания — это и есть пружинная анимация.
Статья: https://apptractor.ru/info/articles/osvaivaem-pruzhinnuyu-animatsiyu-v-swiftui.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
В SwiftUI анимации действительно мощные, и среди них пружинная анимация даёт реалистичное и плавное ощущение — как будто элементы двигаются естественно, с эффектом отскока и переразгона (overshoot).
Если вы замечали, что при лёгком нажатии на кнопку или карточку появляется небольшой эффект подпрыгивания — это и есть пружинная анимация.
Статья: https://apptractor.ru/info/articles/osvaivaem-pruzhinnuyu-animatsiyu-v-swiftui.html
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
Clendar - минималистичный календарь для iOS
Clendar — это минималистичное приложение-календарь. Приложение включает в себя такие функции, как виджеты, темы, сочетания клавиш и анализ естественного языка.
Технологический стек
• SwiftUI
• WidgetKit
• SiriKit
• EventKit/EvenKit UI
• WatchKit
• Combine
• Catalyst
• StoreKit
Сейчас автор отдает проект в "добрые руки", так как не может больше поддерживать его.
Clendar на GitHub: https://github.com/vinhnx/Clendar
Платформа: iOS
⭐️: 707
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Clendar — это минималистичное приложение-календарь. Приложение включает в себя такие функции, как виджеты, темы, сочетания клавиш и анализ естественного языка.
Технологический стек
• SwiftUI
• WidgetKit
• SiriKit
• EventKit/EvenKit UI
• WatchKit
• Combine
• Catalyst
• StoreKit
Сейчас автор отдает проект в "добрые руки", так как не может больше поддерживать его.
Clendar на GitHub: https://github.com/vinhnx/Clendar
Платформа: iOS
⭐️: 707
Please open Telegram to view this post
VIEW IN TELEGRAM
Я сократил время разработки Android вдвое с помощью ИИ — вот как это сделать
Честный анализ от опытного Android-разработчика: что работает, что не работает, и инструмент за 3 доллара, который заменил 3 часа ежедневной рутинной работы.
Статья: https://apptractor.ru/info/articles/ya-sokratil-vremya-android.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Честный анализ от опытного Android-разработчика: что работает, что не работает, и инструмент за 3 доллара, который заменил 3 часа ежедневной рутинной работы.
Статья: https://apptractor.ru/info/articles/ya-sokratil-vremya-android.html
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣1
PromptKeeper - безопасный файрвол для ваших промптов и LLM ключей
PromptKeeper — это зашифрованное хранилище запросов, ориентированное на CLI, которое разделяет возможности изменения запросов и их выполнения.
PromptKeeper был создан для решения следующих проблем:
• Утечка ключей API: секретные ключи внедряются в мобильные приложения, код фронтенда, распределенные системы или «временные отладочные» выходные данные.
• Утечка запросов: шаблоны запросов для производственной среды (часто тела функций) попадают в репозитории, журналы CI, мобильные приложения или артефакты клиентов.
• Отсутствие разделения обязанностей: редактирование и выполнение запросов осуществляются с использованием одних и тех же полномочий, поэтому утечка становится компрометацией всей системы.
PromptKeeper сужает радиус поражения, обеспечивая разделение полномочий по управлению и выполнения.
PromptKeeper не является универсальным менеджером секретов и не заменяет такие системы, как Vault или AWS Secrets Manager. Он ориентирован на изоляцию запросов LLM и секретных ключей. Платформа хранит ключи API в зашифрованном виде с помощью AWS KMS, безопасно передает ключи, доступные только для выполнения, в продакшн, и предотвраoftn утечку ключей, которая может привести к раскрытию ваших данных.
PromptKeeper на GitHub: https://github.com/AI-Prompt-Keeper/promptkeeper
Платформа: разработка
⭐️: 0
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
PromptKeeper — это зашифрованное хранилище запросов, ориентированное на CLI, которое разделяет возможности изменения запросов и их выполнения.
PromptKeeper был создан для решения следующих проблем:
• Утечка ключей API: секретные ключи внедряются в мобильные приложения, код фронтенда, распределенные системы или «временные отладочные» выходные данные.
• Утечка запросов: шаблоны запросов для производственной среды (часто тела функций) попадают в репозитории, журналы CI, мобильные приложения или артефакты клиентов.
• Отсутствие разделения обязанностей: редактирование и выполнение запросов осуществляются с использованием одних и тех же полномочий, поэтому утечка становится компрометацией всей системы.
PromptKeeper сужает радиус поражения, обеспечивая разделение полномочий по управлению и выполнения.
PromptKeeper не является универсальным менеджером секретов и не заменяет такие системы, как Vault или AWS Secrets Manager. Он ориентирован на изоляцию запросов LLM и секретных ключей. Платформа хранит ключи API в зашифрованном виде с помощью AWS KMS, безопасно передает ключи, доступные только для выполнения, в продакшн, и предотвраoftn утечку ключей, которая может привести к раскрытию ваших данных.
PromptKeeper на GitHub: https://github.com/AI-Prompt-Keeper/promptkeeper
Платформа: разработка
⭐️: 0
Please open Telegram to view this post
VIEW IN TELEGRAM
•
(iOS En) iOS 26 Fitness App Custom Tab Bar Using SwiftUI•
(iOS En) Apple Music Style Background Gradient From Image Colors Using SwiftUI•
(And En) How Attackers Can Hack Your In-App Purchases (+ How You Protect Them)•
(And En) Context Preservation and Multi-Coroutine Flows•
(Crs Ru) Java-Swift interop vs Kotlin-Swift export. Путь к сингулярности•
(Crs En) Local Database on the Web - Kotlin Multiplatform Tutorial•
(Dev Ru) Генерация случайных чисел — Как работает RNG в Windows, Linux, macOS•
(Dev En) Is the cost of AI a dead end?•
(Tst Ru) AI в тестировании: кто тут главный?•
(Tst Ru) Chaos Engineering: роняем прод, чтобы стать сильнееПрошлогодние видео:
•
(iOS Ru) Исследуем мир фото и видео редакторов•
(iOS Ru) Найди и исправь ошибки в коде — Задачи с собеседования•
(iOS Ru) Запускаем приложения на своем iOS-симуляторе•
(iOS Ru) Осторожно, Combine!•
(iOS Ru) Позаботимся о памяти при использовании value-типов•
(iOS Ru) Swift – больше, чем язык для iOS•
(And Ru) Почему вам стоит включить Gradle Configuration Cache•
(And Ru) Интеграция GeckoView в Dynamic Feature•
(And Ru) Последнее слово в Android-навигации•
(Crs Ru) Kotlin не для Android•
(Crs Ru) Как мы делали суперапп «Дилер онлайн», и что из этого получилось•
(Crs Ru) Совместная работа Kotlin/Native GC и ARC в iOS•
(Dev Ru) Задача из Моего Собеседования в AmazonPlease open Telegram to view this post
VIEW IN TELEGRAM
Proxyman Scripts: как превратить прокси в инструмент автоматизации тестирования
Когда в проекте появляются сложные сценарии: нестабильный бэкенд, редкие ошибки, зависимость от внешних сервисов, классические инструменты тестирования могут тормозить. Любая правка требует участия сервера, а воспроизведение бага превращается в квест.
В этот момент прокси-инструменты вроде Proxyman начинают играть совсем другую роль. Это уже не просто «посмотреть запросы», а полноценный слой управления трафиком.
Статья: https://habr.com/ru/articles/1021390/
Платформа: тестирование
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Когда в проекте появляются сложные сценарии: нестабильный бэкенд, редкие ошибки, зависимость от внешних сервисов, классические инструменты тестирования могут тормозить. Любая правка требует участия сервера, а воспроизведение бага превращается в квест.
В этот момент прокси-инструменты вроде Proxyman начинают играть совсем другую роль. Это уже не просто «посмотреть запросы», а полноценный слой управления трафиком.
Статья: https://habr.com/ru/articles/1021390/
Платформа: тестирование
Please open Telegram to view this post
VIEW IN TELEGRAM
Gemini Nano Playground - эксперименты с ИИ на Android
Gemini Nano Playground - приложение для Android, предназначенное для тестирования и экспериментирования с моделью генеративного искусственного интеллекта Google Gemini Nano, работающей непосредственно на устройстве, через API ML Kit Prompt (
Этот проект создан с использованием современных методов и библиотек разработки Android:
• Kotlin: основной язык программирования.
• Jetpack Compose: для создания нативного пользовательского интерфейса.
• Hilt: фреймворк внедрения зависимостей для управления компонентами приложения.
• Google ML Kit GenAI: предоставляет модели генеративного ИИ и возможности вывода результатов на устройстве.
• Material Design 3: для стилизации и компонентов пользовательского интерфейса.
• Coroutines & Flows: для асинхронного программирования и управления состоянием.
Gemini Nano Playground на GitHub: https://github.com/dinoy-raj/gemini-nano-playground
Платформа: Android
⭐️: 6
Gemini Nano Playground - приложение для Android, предназначенное для тестирования и экспериментирования с моделью генеративного искусственного интеллекта Google Gemini Nano, работающей непосредственно на устройстве, через API ML Kit Prompt (
com.google.mlkit:genai-prompt).Этот проект создан с использованием современных методов и библиотек разработки Android:
• Kotlin: основной язык программирования.
• Jetpack Compose: для создания нативного пользовательского интерфейса.
• Hilt: фреймворк внедрения зависимостей для управления компонентами приложения.
• Google ML Kit GenAI: предоставляет модели генеративного ИИ и возможности вывода результатов на устройстве.
• Material Design 3: для стилизации и компонентов пользовательского интерфейса.
• Coroutines & Flows: для асинхронного программирования и управления состоянием.
Gemini Nano Playground на GitHub: https://github.com/dinoy-raj/gemini-nano-playground
Платформа: Android
⭐️: 6
Что же "структурированного" в Structured Concurrency?
Только спустя несколько лет работы со структурированным параллелизмом (Structured Concurrency) я наконец понял, к чему именно относится слово структурированный (structured). И раз уж для меня это оказалось неожиданностью, думаю, другим тоже может быть интересно.
Интуитивно мне казалось, что всё внутри современной модели параллелизма в Swift должно считаться structured, особенно Task. Ну правда: у задач есть хендлы, их можно отменять — по сравнению с dispatch_async или pthreads это выглядит довольно структурированно. Но, почитав документацию, я понял, что ошибался.
Статья: https://apptractor.ru/info/articles/structured-concurrency.html
Платформа: Swift
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Только спустя несколько лет работы со структурированным параллелизмом (Structured Concurrency) я наконец понял, к чему именно относится слово структурированный (structured). И раз уж для меня это оказалось неожиданностью, думаю, другим тоже может быть интересно.
Интуитивно мне казалось, что всё внутри современной модели параллелизма в Swift должно считаться structured, особенно Task. Ну правда: у задач есть хендлы, их можно отменять — по сравнению с dispatch_async или pthreads это выглядит довольно структурированно. Но, почитав документацию, я понял, что ошибался.
Статья: https://apptractor.ru/info/articles/structured-concurrency.html
Платформа: Swift
Please open Telegram to view this post
VIEW IN TELEGRAM
TTBaseUIKit - готовые представления для UIKit и SwiftUI
TTBaseUIKit — это готовый к использованию iOS-фреймворк корпоративного уровня, который устраняет шаблонный код и ускоряет разработку, предоставляя более 100 готовых к использованию базовых представлений как для UIKit (программный подход), так и для SwiftUI (декларативный подход). Создавайте готовые пользовательские интерфейсы за часы, а не за дни.
Фичи:
• Быстрая разработка
• Чистая архитектура
• Совместимость с iOS 14+
• Фреймворк для отладки
• Настраиваемые темы
• Готово к использованию ИИ-агентами
TTBaseUIKit на GitHub: https://github.com/tqtuan1201/TTBaseUIKit
Платформа: iOS
⭐️: 14
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
TTBaseUIKit — это готовый к использованию iOS-фреймворк корпоративного уровня, который устраняет шаблонный код и ускоряет разработку, предоставляя более 100 готовых к использованию базовых представлений как для UIKit (программный подход), так и для SwiftUI (декларативный подход). Создавайте готовые пользовательские интерфейсы за часы, а не за дни.
Фичи:
• Быстрая разработка
• Чистая архитектура
• Совместимость с iOS 14+
• Фреймворк для отладки
• Настраиваемые темы
• Готово к использованию ИИ-агентами
TTBaseUIKit на GitHub: https://github.com/tqtuan1201/TTBaseUIKit
Платформа: iOS
⭐️: 14
Please open Telegram to view this post
VIEW IN TELEGRAM
Маяк в пустыне: Kotlin DSL для Android-шейдеров
Мне хотелось решить ещё одну задачу: сделать AGSL более массовой и понятной технологией для Android-разработчиков. Потому что в нативном виде AGSL мощный, но психологически для многих выглядит как «не трогай, это на Новый год». А мне хотелось, чтобы к шейдерам можно было подойти без дрожи в коленях и без ощущения, что сейчас придётся разговаривать с господином ПЖ на древнем пацакском наречии.
Статья: https://habr.com/ru/articles/1022546/
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Мне хотелось решить ещё одну задачу: сделать AGSL более массовой и понятной технологией для Android-разработчиков. Потому что в нативном виде AGSL мощный, но психологически для многих выглядит как «не трогай, это на Новый год». А мне хотелось, чтобы к шейдерам можно было подойти без дрожи в коленях и без ощущения, что сейчас придётся разговаривать с господином ПЖ на древнем пацакском наречии.
Статья: https://habr.com/ru/articles/1022546/
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Маяк в пустыне: Kotlin DSL для Android-шейдеров
Когда я впервые всерьёз сел писать AGSL под Android, ощущение было очень странное. С одной стороны - современный графический конвейер, RuntimeShader , RenderEffect , красивые эффекты и...
Android: Offline-First системный дизайн
В статье offline-first определяется как подход, где локальная база данных становится главным источником данных, а сеть — механизмом фоновой синхронизации. Автор отдельно подчеркивает Single Source of Truth: UI читает из локальной БД, сеть только обновляет её, а изменения в интерфейс прилетают через наблюдение за базой. Также в статье разбираются стратегии cache-first, network-first и stale-while-revalidate, плюс паттерн local-first write с отложенной синхронизацией через pending-статусы.
Статья: https://freedium-mirror.cfd/https://medium.com/android-alchemy/android-offline-first-and-mobile-system-design-c96db284e576🇺🇸
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
В статье offline-first определяется как подход, где локальная база данных становится главным источником данных, а сеть — механизмом фоновой синхронизации. Автор отдельно подчеркивает Single Source of Truth: UI читает из локальной БД, сеть только обновляет её, а изменения в интерфейс прилетают через наблюдение за базой. Также в статье разбираются стратегии cache-first, network-first и stale-while-revalidate, плюс паттерн local-first write с отложенной синхронизацией через pending-статусы.
Статья: https://freedium-mirror.cfd/https://medium.com/android-alchemy/android-offline-first-and-mobile-system-design-c96db284e576
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
Прекратите учить все подряд: план изучения Android-разработки 2026
Большинство изучающих Android испытывают трудности не потому, что Android-разработка сложна.
Они буксуют, потому что каждый роадмеп как под копирку требует выучить всё сразу: Kotlin, Compose, XML, Coroutines, Flow, Hilt, Room, Retrofit, Firebase, WorkManager, Clean Architecture, KMP, CI/CD, тестирование, публикацию в Play Store, анимации, performance-оптимизацию, модульную архитектуру, поддержку складных устройств, планшетов, TV, Wear — и, возможно, заодно ещё обрести внутренний дзен.
Так люди и тратят месяцы на «подготовку» и всё ещё не могут создать ни одного чистого Android-приложения с нуля, не открывая двенадцать вкладок и не испытывая панической атаки.
Если вы хотите стать Android-разработчиком быстрее в 2026 году, вам не нужно изучать всё. Вам нужно изучать правильные вещи в Android в правильном порядке.
Статья: https://apptractor.ru/info/articles/android-developer-roadmap-2026.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Большинство изучающих Android испытывают трудности не потому, что Android-разработка сложна.
Они буксуют, потому что каждый роадмеп как под копирку требует выучить всё сразу: Kotlin, Compose, XML, Coroutines, Flow, Hilt, Room, Retrofit, Firebase, WorkManager, Clean Architecture, KMP, CI/CD, тестирование, публикацию в Play Store, анимации, performance-оптимизацию, модульную архитектуру, поддержку складных устройств, планшетов, TV, Wear — и, возможно, заодно ещё обрести внутренний дзен.
Так люди и тратят месяцы на «подготовку» и всё ещё не могут создать ни одного чистого Android-приложения с нуля, не открывая двенадцать вкладок и не испытывая панической атаки.
Если вы хотите стать Android-разработчиком быстрее в 2026 году, вам не нужно изучать всё. Вам нужно изучать правильные вещи в Android в правильном порядке.
Статья: https://apptractor.ru/info/articles/android-developer-roadmap-2026.html
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM
Книга про разработку под iOS на русском: разбираем единственный актуальный учебник по SwiftUI
Месяц назад мы выпустили перевод книги «iOS 18 App Development Essentials» Нила Смита — автора, которого англоязычное сообщество знает по многолетней серии учебников по разработке приложений под платформы Apple и Android. Книга вышла под названием «Основы разработки приложений для iOS», насчитывает 736 страниц и охватывает всё от синтаксиса Swift до публикации приложения в App Store. Книга вышла довольно толстой (а перевод всегда немного больше оригинала), но этот объем заполнен довольно полезной и актуальной информацией.
Статья: https://habr.com/ru/companies/bhv_publishing/articles/1022756/
Платформа: Swift
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Месяц назад мы выпустили перевод книги «iOS 18 App Development Essentials» Нила Смита — автора, которого англоязычное сообщество знает по многолетней серии учебников по разработке приложений под платформы Apple и Android. Книга вышла под названием «Основы разработки приложений для iOS», насчитывает 736 страниц и охватывает всё от синтаксиса Swift до публикации приложения в App Store. Книга вышла довольно толстой (а перевод всегда немного больше оригинала), но этот объем заполнен довольно полезной и актуальной информацией.
Статья: https://habr.com/ru/companies/bhv_publishing/articles/1022756/
Платформа: Swift
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Roxum IDE - среда разработки для Android
Roxum IDE — это ориентированный на мобильные устройства редактор кода и мини-IDE для Android, созданный на основе Flutter. Он объединяет в одном приложении редактирование, работу в терминале, инструменты Git/GitHub, ИИ-помощь, загрузку runtime файлов и широкие возможности настройки.
Roxum IDE на GitHub: https://github.com/heckmon/roxum-ide
Платформа: Android/кроссплатформа
⭐️: 48
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Roxum IDE — это ориентированный на мобильные устройства редактор кода и мини-IDE для Android, созданный на основе Flutter. Он объединяет в одном приложении редактирование, работу в терминале, инструменты Git/GitHub, ИИ-помощь, загрузку runtime файлов и широкие возможности настройки.
Roxum IDE на GitHub: https://github.com/heckmon/roxum-ide
Платформа: Android/кроссплатформа
⭐️: 48
Please open Telegram to view this post
VIEW IN TELEGRAM
В iOS 26 SwiftUI наконец-то стал таким же быстрым, как UIKit?
Итак. Раз и навсегда. SwiftUI так же производителен, как UIKit?
Статья: https://apptractor.ru/info/articles/ios-26-swiftui.html
Платформа: iOS
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Итак. Раз и навсегда. SwiftUI так же производителен, как UIKit?
Статья: https://apptractor.ru/info/articles/ios-26-swiftui.html
Платформа: iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
CocoaLumberjack - фреймворк логирования
CocoaLumberjack — это быстрая и простая, но при этом мощная и гибкая платформа для ведения логов, предназначенная для macOS, iOS, tvOS, watchOS и visionOS.
Фичи:
• Lumberjack — быстрый. В большинстве случаев он на порядок быстрее, чем NSLog.
• Lumberjack — простой. Для настройки Lumberjack при запуске вашего приложения достаточно всего одной строки кода. Затем просто замените ваши операторы NSLog на операторы DDLog, и это практически все. (А макросы DDLog имеют точно такой же формат и синтаксис, как и NSLog, поэтому это очень просто.)
• Lumberjack — мощный. Один оператор логирования может быть отправлен нескольким логгерам, что означает, что вы можете одновременно записывать логи в файл и в консоль. Хотите больше? Создавайте собственные логгеры (это легко) и отправляйте свои сообщения в лог по сети. Или в базу данных, или в распределенную файловую систему. Возможности безграничны.
• Lumberjack — гибкий. Настраивайте логирование так, как вам нужно. Изменяйте уровни логирования для каждого файла (идеально подходит для отладки). Изменяйте уровни логирования для каждого логгера (подробная консоль, но лаконичный лог-файл). Изменяйте уровни логирования для каждой конфигурации Xcode (подробная отладка, но лаконичный релиз). Получайте сообщения в лог из релизной сборки. Настраивайте количество уровней логирования для вашего приложения. Добавляйте собственное детальное логирование. Динамически изменяйте уровни логирования во время выполнения. Выбирайте, как и когда вы хотите, чтобы ваши лог-файлы были скомпилированы. Загружайте ваши лог-файлы на центральный сервер. Сжимайте архивированные лог-файлы для экономии места на диске...
CocoaLumberjack на GitHub: https://github.com/CocoaLumberjack/CocoaLumberjack
Платформа: iOS
⭐️: 13.3K
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
CocoaLumberjack — это быстрая и простая, но при этом мощная и гибкая платформа для ведения логов, предназначенная для macOS, iOS, tvOS, watchOS и visionOS.
Фичи:
• Lumberjack — быстрый. В большинстве случаев он на порядок быстрее, чем NSLog.
• Lumberjack — простой. Для настройки Lumberjack при запуске вашего приложения достаточно всего одной строки кода. Затем просто замените ваши операторы NSLog на операторы DDLog, и это практически все. (А макросы DDLog имеют точно такой же формат и синтаксис, как и NSLog, поэтому это очень просто.)
• Lumberjack — мощный. Один оператор логирования может быть отправлен нескольким логгерам, что означает, что вы можете одновременно записывать логи в файл и в консоль. Хотите больше? Создавайте собственные логгеры (это легко) и отправляйте свои сообщения в лог по сети. Или в базу данных, или в распределенную файловую систему. Возможности безграничны.
• Lumberjack — гибкий. Настраивайте логирование так, как вам нужно. Изменяйте уровни логирования для каждого файла (идеально подходит для отладки). Изменяйте уровни логирования для каждого логгера (подробная консоль, но лаконичный лог-файл). Изменяйте уровни логирования для каждой конфигурации Xcode (подробная отладка, но лаконичный релиз). Получайте сообщения в лог из релизной сборки. Настраивайте количество уровней логирования для вашего приложения. Добавляйте собственное детальное логирование. Динамически изменяйте уровни логирования во время выполнения. Выбирайте, как и когда вы хотите, чтобы ваши лог-файлы были скомпилированы. Загружайте ваши лог-файлы на центральный сервер. Сжимайте архивированные лог-файлы для экономии места на диске...
CocoaLumberjack на GitHub: https://github.com/CocoaLumberjack/CocoaLumberjack
Платформа: iOS
⭐️: 13.3K
Please open Telegram to view this post
VIEW IN TELEGRAM
Тестирование взаимодействия нескольких устройств в Android Emulator
Тестирование взаимодействия между несколькими устройствами стало проще, чем когда-либо, благодаря эмулятору Android. Независимо от того, разрабатываете ли вы многопользовательскую игру, расширяете возможности своего мобильного приложения для разных форм-факторов или запускаете виртуальные устройства, требующие подключения к устройству, эмулятор Android теперь поддерживает эти возможности для разработчиков.
Ранее соединение нескольких виртуальных устройств Android (AVD) вызывало значительные сложности. Для подключения двух эмуляторов требовалось вручную управлять сложными правилами переадресации портов.
Теперь вы можете воспользоваться новым сетевым стеком для эмулятора Android, который обеспечивает беспроводное соединение без необходимости настройки между всеми вашими AVD.
Статья: https://apptractor.ru/info/articles/testirovanie-vzaimodeystviya-neskolkih-ustroystv-v-android-emulator.html
Платформа: Android
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Тестирование взаимодействия между несколькими устройствами стало проще, чем когда-либо, благодаря эмулятору Android. Независимо от того, разрабатываете ли вы многопользовательскую игру, расширяете возможности своего мобильного приложения для разных форм-факторов или запускаете виртуальные устройства, требующие подключения к устройству, эмулятор Android теперь поддерживает эти возможности для разработчиков.
Ранее соединение нескольких виртуальных устройств Android (AVD) вызывало значительные сложности. Для подключения двух эмуляторов требовалось вручную управлять сложными правилами переадресации портов.
Теперь вы можете воспользоваться новым сетевым стеком для эмулятора Android, который обеспечивает беспроводное соединение без необходимости настройки между всеми вашими AVD.
Статья: https://apptractor.ru/info/articles/testirovanie-vzaimodeystviya-neskolkih-ustroystv-v-android-emulator.html
Платформа: Android
Please open Telegram to view this post
VIEW IN TELEGRAM