awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
pointfreeco avatar

pointfreeco/swift-composable-architecture

0
View on GitHub↗
14,726 stars·1,666 forks·Swift·MIT·21 viewswww.pointfree.co/collections/composable-architecture↗

Swift Composable Architecture

This is a Swift state management framework and application logic library designed for building applications with a single source of truth and unidirectional data flow. It provides a Redux-inspired architecture that separates business logic from side effects and user interfaces to ensure predictable application behavior across multiple screens.

The framework focuses on modularity by allowing complex features to be decomposed into smaller, isolated components. This enables the development of UI-independent business logic that can be extracted into separate modules to improve compilation speed and maintainability.

It covers several high-level capability areas, including state-driven navigation and routing, dependency injection via client abstraction, and deterministic testing of state transitions and effects. The system also includes utilities for asynchronous task management and side-effect isolation.

Features

  • Application Logic Libraries - Provides a library for composing complex application features into smaller, isolated, and testable modules.
  • Unidirectional Data Flow Architectures - Implements a unidirectional data flow where actions trigger reducers to produce new immutable states.
  • Cross-Screen Coordination - The framework coordinates data using value types and shares state across multiple screens so mutations are immediately observed.
  • Abstraction Layers - Uses a client abstraction layer to decouple business logic from system services for consistent testing.
  • Side Effect Management - Implements architectural strategies to isolate and control operations that interact with the outside world.
  • Modular Architecture Patterns - Implements a modular architectural pattern that separates business logic from side effects and UI for deterministic behavior.
  • Centralized State Containers - Provides a centralized state container that acts as a single source of truth with predictable mutations.
  • Hierarchical State Composition - Implements a hierarchical state structure where large application states are composed of smaller, nested feature states.
  • Core Business Logic - Separates core business logic into standalone modules that remain independent of the user interface.
  • External Service Wrappers - Wraps external dependencies like timers and file systems to ensure predictable behavior during tests and previews.
  • Dependency Registration Systems - Centralizes the registration and retrieval of dependencies across application layers to avoid manual passing.
  • Dependency Injection - Decouples business logic from external services using a client wrapper layer for easier mocking and testing.
  • Side Effect Handlers - Isolates side effects by returning descriptions of work to an external runtime, keeping business logic pure.
  • State-Driven Application Architectures - Structures Swift apps with a consistent state management pattern to ensure business logic remains predictable.
  • State Management Frameworks - Provides a comprehensive framework for building Swift applications using a single source of truth and unidirectional data flow.
  • Type-Safe State Management - Uses immutable value types for the entire application state to ensure predictable mutations and transitions.
  • Side Effect Isolation - The framework isolates interactions with the outside world into testable effects to separate business logic from external API calls.
  • Logic Validation Frameworks - Validates business logic and state transitions using a specialized store for deterministic assertions.
  • State-Driven Flow Control - Determines the active screen and navigation flow based on the current application state to ensure consistent user journeys.
  • State Transition Testing - Enables deterministic validation of state transitions and effects by manually stepping through actions in a test store.
  • Modular Feature Architectures - Provides architectural patterns to decompose complex features into isolated, reassemblable modules.
  • Navigation State Trees - Represents the navigation history and active destinations as a state tree to enable deep linking and coordinated flow.
  • Deterministic State Testing - Verifies core functionality and failure paths through a testing suite that simulates state changes and effects.
  • Business Logic Isolation - Isolates feature logic into independent modules to improve compilation speed and enable isolated component execution.
  • Dependency Mocking - Replaces live service implementations with deterministic mocks to ensure predictable test results.
  • End-to-End Testing - Provides automated suites to simulate complete user workflows and resulting side effects.
  • Navigation Routing - Provides a state-driven system for managing application navigation paths, including alerts, sheets, and drill-downs.
  • Architecture Patterns - Comprehensive library for building consistent, testable applications.
  • Composable Architecture - Library for building consistent, testable, and composable applications.

Star history

Star history chart for pointfreeco/swift-composable-architectureStar history chart for pointfreeco/swift-composable-architecture

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Swift Composable Architecture

Similar open-source projects, ranked by how many features they share with Swift Composable Architecture.
  • day8/re-frameday8 avatar

    day8/re-frame

    5,532View on GitHub↗

    re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized, immutable database that serves as the single source of truth for the entire application state, enforcing a strict unidirectional data flow where events trigger state transitions and subsequent view updates. The framework distinguishes itself through a reactive signal graph and an interceptor-based middleware pipeline. By treating application logic as a sequence of data-driven events and declarative side effects, it decouples business logic from the view layer. This architectur

    Clojureclojurescriptre-framereact
    View on GitHub↗5,532
  • threedotslabs/wild-workouts-go-ddd-exampleThreeDotsLabs avatar

    ThreeDotsLabs/wild-workouts-go-ddd-example

    6,348View on GitHub↗

    This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query Responsibility Segregation (CQRS) patterns using the Go programming language. It serves as a sample application to demonstrate how to decouple core domain rules from infrastructure and delivery mechanisms. The system is built as a gRPC microservices architecture, utilizing type-safe communication and service contracts. It implements an event-driven architecture to manage eventual consistency and asynchronous processing, specifically employing the Outbox pattern to ensure reliable messagin

    Goclean-architecturecqrsddd
    View on GitHub↗6,348
  • android/nowinandroidandroid avatar

    android/nowinandroid

    21,358View on GitHub↗

    Now in Android is a reference application and framework designed to demonstrate modern development patterns for the Android platform. It provides a comprehensive implementation of a modular architecture, utilizing industry-standard practices to organize codebases into independent components that support long-term maintainability and build performance. The project centers on a reactive, unidirectional data flow model that synchronizes visual components with underlying data states. By employing a declarative toolkit for interface construction, the application ensures that screen layouts update

    Kotlinandroidjetpack-composekotlin
    View on GitHub↗21,358
  • alibaba/fish-reduxalibaba avatar

    alibaba/fish-redux

    7,275View on GitHub↗

    fish-redux is a Flutter application framework and state management library that implements a Redux-based workflow. It provides a centralized state container and uses reducers and actions to maintain a single source of truth, ensuring data consistency across application screens and components. The framework includes a state-to-UI connector that transforms raw state data for display and automatically updates views. It features a component lifecycle manager that triggers logic and state updates based on when UI components mount or unmount. The project covers dependency injection for reducing co

    Dartadapteraopcomponent
    View on GitHub↗7,275
See all 30 alternatives to Swift Composable Architecture→

Frequently asked questions

What does pointfreeco/swift-composable-architecture do?

This is a Swift state management framework and application logic library designed for building applications with a single source of truth and unidirectional data flow. It provides a Redux-inspired architecture that separates business logic from side effects and user interfaces to ensure predictable application behavior across multiple screens.

What are the main features of pointfreeco/swift-composable-architecture?

The main features of pointfreeco/swift-composable-architecture are: Application Logic Libraries, Unidirectional Data Flow Architectures, Cross-Screen Coordination, Abstraction Layers, Side Effect Management, Modular Architecture Patterns, Centralized State Containers, Hierarchical State Composition.

What are some open-source alternatives to pointfreeco/swift-composable-architecture?

Open-source alternatives to pointfreeco/swift-composable-architecture include: day8/re-frame — re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized,… threedotslabs/wild-workouts-go-ddd-example — This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query… android/nowinandroid — Now in Android is a reference application and framework designed to demonstrate modern development patterns for the… alibaba/fish-redux — fish-redux is a Flutter application framework and state management library that implements a Redux-based workflow. It… jonataslaw/getx — GetX is a comprehensive state management framework for Flutter that provides a toolkit for managing application state,… alexeymezenin/laravel-best-practices — This project is a comprehensive guide to architectural standards and coding patterns for developing maintainable…