Об этом проекте

The Composable Architecture (TCA) — это библиотека на Swift для построения приложений структурированным и последовательным образом. Она поддерживает SwiftUI и UIKit и может использоваться на iOS, macOS, iPadOS, visionOS, tvOS и watchOS. Функция организуется вокруг четырёх основных концепций: State хранит данные, необходимые для отображения и работы функции; Action представляет пользовательский ввод, события, уведомления и ответы эффектов; Reducer описывает, как изменяется состояние и какие эффекты должны выполняться; Store управляет средой выполнения, получает действия и предоставляет наблюдения за состоянием для UI. Библиотека предназначена для того, чтобы помочь разработчикам разбивать крупные функции на меньшие переиспользуемые части и затем собирать их обратно. Она предоставляет модель Effect для обработки внешней работы, такой как API-запросы, а также систему управления зависимостями, которая может предоставлять живые реализации в приложении и переопределённые или моковые реализации в тестах. TestStore позволяет тестам отправлять действия, пошагово проверять изменения состояния и проверять действия, полученные от эффектов. Репозиторий включает документацию и примеры проектов, охватывающие начало работы, эффекты, навигацию, переиспользуемые компоненты, поиск, распознавание речи, todos, голосовые заметки и многое другое. Он также включает статьи о зависимостях, тестировании, навигации, общем состоянии, производительности, конкурентности и привязках. Установка поддерживается через Swift Package Manager в Xcode, с рекомендациями по совместному использованию библиотеки из общего фреймворка или Swift-пакета для нескольких целей.