nalexn / clean-architecture-swiftui

SwiftUI sample app using Clean Architecture. Examples of working with CoreData persistence, networking, dependency injection, unit testing, and more.
MIT License
5.57k stars 671 forks source link

Consider turning this project into a tutorial #1

Closed shengchl closed 4 years ago

shengchl commented 4 years ago

Hey there,

I am a novice in programming, and I struggle grasping architectures very much. That SwiftUI / Combine are so new does not help a bit, as the dust is definitely not settled yet, and seems like very few really understand how to design with new frameworks.

This project (just as your posts btw) reads very easily, yet I still struggle understanding the core 'why's of the architecture, not to say that I cannot see the whole picture well.

If turned into a tutorial with detailed explanations and rationales describing the architecture, this becomes a goto place to learn how SwiftUI / Combine apps are designed. By tutorial I mean something akin to Apple's (unfortunately very non-informative) multi-step tutorial residing on /tutorials page.

This seems like not an easy task, but maybe other experienced devs can join this initiative.

Thanks!

nalexn commented 4 years ago

Hi @shengchalover

Since you're a novice in programming in general, I would highly recommend you to not concentrate on the architectures for now. Just try to get used to the IDE, language features, frameworks, etc.

I elaborate more on this topic in this comment on Medium.

There is a wonderful SwiftUI tutorial from Apple that would help you get started. Just take it as the base, and follow the steps in the tutorial, but don't forget to experiment along the way. This is the best way to learn.

nalexn commented 4 years ago

I just noticed you're aware of Apple's tutorial. Yea, I'm planning to write an article describing the motivation behind tech design in general and this architecture in particular. Stay tuned!

nalexn commented 4 years ago

Hey @shengchalover

I've just posted an article that mainly covers what you've requested. Please let me know if some other things still need clarification!

shengchl commented 4 years ago

Thanks a lot!