The Composable Architecture tutorial

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • Appwrite - The open-source backend cloud platform
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • swift-composable-architecture

    A library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind.

    // swift-tools-version:5.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package( name: "DogBreedsComponent", platforms: [.iOS(.v14)], products: [ .library( name: "DogBreedsComponent", targets: ["DogBreedsComponent"] ), ], dependencies: [ // 1. .package( name: "swift-composable-architecture", url: "https://github.com/pointfreeco/swift-composable-architecture.git", .exact("0.17.0") ), // 2. .package( name: "Kingfisher", url: "https://github.com/onevcat/Kingfisher", .exact("6.2.1") ) ], targets: [ .target( name: "DogBreedsComponent", dependencies: [ .product(name: "ComposableArchitecture", package: "swift-composable-architecture"), .product(name: "Kingfisher", package: "Kingfisher") ] ), .testTarget( name: "DogBreedsComponentTests", dependencies: [ "DogBreedsComponent", .product(name: "ComposableArchitecture", package: "swift-composable-architecture") ] ), ] )

  • TCA-tutorial

    You can find the source code of this tutorial here. If you're so eager to try it that you want to skip the tutorial, just launch RootView.swift preview.

  • Appwrite

    Appwrite - The open-source backend cloud platform. Add Auth, Databases, Functions, and Storage to your product and build any application at any scale while using your preferred coding languages and tools.

  • Kingfisher

    A lightweight, pure-Swift library for downloading and caching images from the web.

    // swift-tools-version:5.3 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription let package = Package( name: "DogBreedsComponent", platforms: [.iOS(.v14)], products: [ .library( name: "DogBreedsComponent", targets: ["DogBreedsComponent"] ), ], dependencies: [ // 1. .package( name: "swift-composable-architecture", url: "https://github.com/pointfreeco/swift-composable-architecture.git", .exact("0.17.0") ), // 2. .package( name: "Kingfisher", url: "https://github.com/onevcat/Kingfisher", .exact("6.2.1") ) ], targets: [ .target( name: "DogBreedsComponent", dependencies: [ .product(name: "ComposableArchitecture", package: "swift-composable-architecture"), .product(name: "Kingfisher", package: "Kingfisher") ] ), .testTarget( name: "DogBreedsComponentTests", dependencies: [ "DogBreedsComponent", .product(name: "ComposableArchitecture", package: "swift-composable-architecture") ] ), ] )

  • swift-case-paths

    🧰 Case paths extends the key path hierarchy to enum cases.

    Via the usage of pointfree CasePath (if you'd like to know more, check out this repository. In short, it's a way to use enums in the same fashion as KeyPaths). We can say that DogsReducer is only going to work with the AppAction.dogs part of AppAction.

  • redux

    Predictable state container for JavaScript apps

    redux.js.org Thorough documentation about Redux framework for js. Don't need to go into the details, but this website contains a good explanation of the concept.

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts