swift-composable-architecture
SwiftUIBestPracticeExperimentation
Our great sponsors
swift-composable-architecture | SwiftUIBestPracticeExperimentation | |
---|---|---|
34 | 3 | |
6,201 | 0 | |
6.2% | - | |
8.9 | 0.0 | |
5 days ago | over 1 year ago | |
Swift | Swift | |
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
SwiftUIBestPracticeExperimentation
-
HomeKit examples with SwiftUi
If neither of these approaches are appropriate, chances are you're in a spot where object lifetimes are somewhat complicated and you'll need to come up with some dependency resolution method (like a DI-container). This is where SwiftUI's current provisions prove to be inadequate (e.g. @StateObject) and you may need to try something more like what I've done here or, as I said, find some DI container package that works for this purpose.
-
Trying to come up with a pretty idea of SwiftUI in Clean Architecture. Ideas and help wanted. Let's talk in case you are interested in this too.
I settled on something similar recently (visible on my github).
The main driver in my approach (ViewContainer) is similar to your ModelledViewFactory, with the main purpose being to solve the dependency injection problem (i.e. supplying Environment concerns to view models).
What are some alternatives?
Clean Architecture for SwiftUI + Combine - SwiftUI sample app using Clean Architecture. Examples of working with CoreData persistence, networking, dependency injection, unit testing, and more.
tca-swiftui-navigation-demo - Demo project that shows how to implement navigation in SwiftUI iOS application using Swift Composable Architecture
TCA-tutorial
redux - Predictable state container for JavaScript apps
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.
GRDB.swift - A toolkit for SQLite databases, with a focus on application development
Recombine
Tempura - A holistic approach to iOS development, inspired by Redux and MVVM
VIPER Module Generator - A Swift 4.2 VIPER Module Boilerplate Generator with predefined functions and a BaseViewProtocol.
Kingfisher - A lightweight, pure-Swift library for downloading and caching images from the web.
Spin - Spin aims to provide a versatile Feedback Loop implementation working with the three main reactive frameworks available in the Swift community (RxSwift, ReactiveSwift and Combine)
redux - Predictable state container for JavaScript apps [Moved to: https://github.com/reduxjs/redux]