swift-composable-architecture
Clean Architecture for SwiftUI + Combine
Our great sponsors
swift-composable-architecture | Clean Architecture for SwiftUI + Combine | |
---|---|---|
34 | 3 | |
6,201 | 3,452 | |
6.2% | - | |
8.9 | 2.8 | |
5 days ago | 7 months ago | |
Swift | Swift | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
swift-composable-architecture
-
SwiftUI in 2022
One point that's not being discussed enough -- using SwiftUI (since it's heavily value-typed / struct-based) prevents a whole host of problems around retain cycles, typically the bugbear of iOS dev. I recently built an iOS app from scratch with recent grads with zero Swift experience (but had done React).
It was ~2mo before they even had to learn what a retain cycle was, and that was from using UIKit.
Of course you still eventually see this if / when you use `@ObservedObjects` and their implementation, but in our case we were also using https://github.com/pointfreeco/swift-composable-architecture which hides this away as well.
-
Is MVVM the only architecture you’ve used when developing iOS app?
There’s a nice open source swift library by the pointfree guys, called The Composable Architecture (TCA). Check it out 🙂
-
I would like your feedback on my attempt to improve the MVVM pattern.
It looks like you reinvented the Reducer pattern, have you had a look at Composable Architecture?
-
Ask HN: Book Recommendation for macOS Development
[Books by Objc.io](https://www.objc.io/books/) are great. Also whilst not a book, [Composable Architecture](https://github.com/pointfreeco/swift-composable-architecture) seems like a nice way to develop cross platform (iOS/macOS) apps.
-
iOS development best practices in 2022
Regarding MVVM, since your list is very SwiftUI-forward (which is great) I’m surprised that the Composable Architecture pattern was not mentioned. (https://github.com/pointfreeco/swift-composable-architecture)
-
Best architecture for iOS data-centric app
I use a variation on The Binder Architecture. Another one I like a lot and that works well with SwiftUI is The Composable Architecture.
-
Learn from complex projects
Check out pointfree’s composable architecture series GitHub repository
-
Looking for SwiftUI templates/architectures
The Composable Architecture is a must-have. It provides the most complete and battle-hardened architecture - check out the examples in the repo, or check out their videos on it called A tour of The Composable Architecture, which should give you a good overview of what it looks like and its benefits.
-
Has anyone here had a look over this library (Firestarter)?
Do take a look at https://github.com/pointfreeco/swift-composable-architecture and their videos though
Give a try? Why not? Maybe you will like this as well: https://github.com/pointfreeco/swift-composable-architecture
Clean Architecture for SwiftUI + Combine
- What's a good open source iOS app
-
Looking for SwiftUI templates/architectures
I'm aware of nalexn/clean-architecture-swiftui which I can highly recommend.
- Should I finish my app even though my architecture has broke?
What are some alternatives?
iOS-Viper-Architecture - This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc.
tca-swiftui-navigation-demo - Demo project that shows how to implement navigation in SwiftUI iOS application using Swift Composable Architecture
ios-architecture - A collection of iOS architectures - MVC, MVVM, MVVM+RxSwift, VIPER, RIBs and many others
TCA-tutorial
redux - Predictable state container for JavaScript apps
GRDB.swift - A toolkit for SQLite databases, with a focus on application development
Recombine
VIPER Module Generator - A Swift 4.2 VIPER Module Boilerplate Generator with predefined functions and a BaseViewProtocol.
Tempura - A holistic approach to iOS development, inspired by Redux and MVVM