@ finn asks:
not sure where to start.
Start with Day 1 of 100 Days of Swift?
All kidding aside, @twoStraws has a very solid program. He teaches concepts with a clear objective. (Other tutorials may just tell you to type 10 lines of code, but never explain the what or why.) Then after he teaches the concept, you'll have homework and a quiz. Just when you feel comfortable with your new knowledge, @twoStraws will teach a NEW technique tossing the one you just learned into the rubbish bin.
Why?
After you follow a few lessons, you'll see this pattern. As a cook, you cannot just jump right into preparing a 5 course meal. You need to start with basics like chopping vegetables, and seasoning fish. After a while you might graduate to more complex recipes.
It's a similar concept with Swift and SwiftUI.
Whilst you may have dabbled on your own, I might wager a fiver that you learned some bad habits and may use these techniques in your code. This is why I suggest you start with Day 1 of Hacking with SwiftUI. Sure early days will be redundant and you'll progress quickly.
But pay careful attention when you start getting into programming architecture and other structures. He'll reveal some twists and observations you may not have picked up along your solo journey.
Copy the Pros
If you feel more comfortable, grab some screen shots from some of Apple's applications. Start with System Settings, Notes, Contacts, FaceTime and other apps. Start by making replicas of their interfaces. Peel back the complexity of familiar views and see if you can duplicate them. If you're not able to dissect another application's views and recreate them, you may need extra practice.
Keep Coding!
Then as you gather more skill in this area, you'll be on Day 60 or later and can think about the architecture of the data behind those views.
You'll be in good great position to develop key data structures, encode them into JSON
, and store them in iPhone directories. Or perhaps you'll join the CoreData
boffins and try your hand at databases. Then you can wire your stunning interfaces with sound backend data sources. Win!
Help Out
In anycase, it would be great to hear about your development journey. Take a stab at answering a few questions in this forum. When a novice developer gets stuck, think back to your journey. What helped you learn a concept? Can you provide a fun solution to try in Playgrounds to help a new programmer climb the knowledge ladder? It would be great to hear another share their journey and provide a new perspective!