Landmarks is an app created in the official SwiftUI Tutorial. This repository contains the code I've been working for a few days to understand the SwiftUI's fundamentals.
The app presents a set of regions and a brief description of them. You can also favourite any region and view its location in the map. The app is very simple but has enough required the programmer a lot of knowledge about SwiftUI.
I learned a lot of new concepts, but most of them aren't so important than the ones I'm writing below, at least for by current programming background.
A fundamental concept of SwiftUI is to build small UI components and combine them together to create more complex ones. This way, the programmer and handle the complexity of creating a screen with a set of interactions and possible states in a matter of minutes or hours.
The current app I am working in is completely built using UIKit, so one of the goals is to learn to integrate SwiftUI with UIKit and mainly UIKit with SwiftUI, so I'm able to start using SwiftUI progressively instead of waiting for an opportunity for an app built totally with this technology.
UIKit is an Imperative framework, that means you should give orders to the objects for them to draw themselves in the right way, but SwiftUI is declarative. In declarative technologies, you tell what you want, and the framework figures out how to draw that for you. This makes the development much faster and simple.
This is one of my first contact with SwiftUI. Since I've worked with ReactJS for Web Development, I could realize a lot of familiar concepts like Single Source of Truth and Lifting State Up.
This is an awesome framework and I expect to start using it from now on.