MMVMi
swift-composable-architecture
Our great sponsors
MMVMi | swift-composable-architecture | |
---|---|---|
0 | 38 | |
10 | 6,377 | |
- | 5.7% | |
0.0 | 8.9 | |
over 3 years ago | 3 days ago | |
Python | 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.
MMVMi
We haven't tracked posts mentioning MMVMi yet.
Tracking mentions began in Dec 2020.
swift-composable-architecture
-
Stop using MVVM for SwiftUI
In terms of balancing testing power, maintainability and ergonomics (mostly), I've found The Composable Architecture to be the best for more serious applications.
- Improving when you are the only iOS developer
-
Need Help With Project Architecture
Have you ever tried the compose me architecture by pointfree ? https://www.pointfree.co/collections/composable-architecture
-
MVI in Playtomic mobile app
We spent some time analysing some of the most popular reactive architectures: MVVM, MVI and TCA. Without getting into much detail of our decision making (it would take a full post), we decided that MVI was the best fitting for our project. With it, we could get better separation of concerns and state management than in MVVM, unidirectional data flow, single source of truth and easy of testing, without the additional complexity added by TCA.
-
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.
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
redux - Predictable state container for JavaScript apps
TCA-tutorial
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)