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 Firebase alternative introduces iOS support
  • OPS - Build and Run Open Source Unikernels
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
  • GitHub repo 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") ] ), ] )

  • GitHub repo 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 Firebase alternative introduces iOS support. Appwrite is an open source backend server that helps you build native iOS applications much faster with realtime APIs for authentication, databases, files storage, cloud functions and much more!

  • GitHub repo 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") ] ), ] )

  • GitHub repo swift-case-paths

    🧰 Case paths bring the power and ergonomics of key paths to enums!

    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.

  • GitHub repo 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.

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