Taming Apple's bald eagle

Stepping into the renovated world of Swift & SwiftUI for iOS development.

Kaveesh Khattar

Oct 18, 2021

Setting the stage

In the summer of 2020, at the peak of Covid, after completing my high school and having a full stack web application under my belt I was thinking of my next challenge. With my phone usage gradually increasing over the past 2 weeks as I got adjusted to the lockdown, it hit me.

Why not try building apps? It's the second-most, if not, sometimes, the most used way to interact with potential end users, after websites. Besides, the iPhone 3GS is what got me interested in computer science in the first place.

Newbie gains

I started with the most obvious place, Apple, more specifically, WWDC videos. They were a great learning resource and brought me from 0 to 1 relatively quick. I started building a host of small apps, understanding responsiveness embedded in the UI elements, familiarising myself with the IDE (XCode is one of the few "actual" IDEs out there) and working with the language, Swift, parallely.

Post that, I came across was Stanford's cs193p course on YouTube. It used Apple's new SwiftUI framework, and took you from scratch to a card matching Halloween-themed game.

I started with it and grasped a lot of the nuances, the not so shiny parts of Apple's development ecosystem along with building interactive interfaces for the game.

Memorize - A Memory Game

100 Days of SwiftUI

After exploring several other resources, I now felt the need for a consistent routine to genuinely grow in this field. I was liking what I was learning and I was liking what I was building. After scouring the internet and internet forums for a couple days, I found 100 Days of SwiftUI.

This seemed like a good place for someone looking for some routine. So I went with it. I started off with the language, learning the basics and the main object oriented practices of Swift. I have heard that Swift and Rust have a lot of similar ideas and I am looking forward to using all my Swift knowledge to dive into learning Rust.

100 Days of SwiftUI took me from 1 to 10, but it also didn't take 100 days. I was a sponge and learnt a lot but it took time as I went from building single page apps to working with the different libraries Apple has to offer like Core ML and MapKit, and working with Core Data and JSON.

100 Days of SwiftUI

Not lone-wolfing it

One of the main takeaways from 100 Days of SwiftUI was not the technical details, though there were a ton, it was the fact that being a part of a community will have an instrumental impact. I joined a Slack channel, posted my learnings on Twitter (now X), and was able to meet some incredible people.

Apple Dev Labs on Slack

Starting Apple Developer's Group (a club) at my university

By now I had spent a lot of time learning about Swift, SwiftUI along with a bunch of other tools in the Apple Developer ecosystem and meeting people who were doing the same from all across the world.

So, when I got word that some people were planning to start an Apple Developer's Club, I just knew that I had to be a part of it. I met the guys who were starting it, it helped that I was friends with a guy who knew the guy starting the club for over a year who could vouch for me and I landed the lead for Software at the club!

Being a part of this club was an incredible journey and I got to learn a lot over my entire time here. Leading a team of 5 and presenting developer sessions taught me a lot about the communication and non-technical aspects of an SDE life which improved me holistically.

Nonetheless, during my time here I learnt a lot on the technical side too. I met a couple of people in the team who had worked with cross platform development and that seemed really interesting. We even ended up hosting one of our flagship sessions on cross platform development. I am yet to start cross platform development but I'm looking forward to it.

Apple Developer's Group - A club I started at my uni

Conclusion

All in all, this journey has been long but incredibly rewarding, and there's still so much more to explore.

In 2020, I could not have told you that this is what a hobby of mine in the pandemic would lead to, but looking back the dots do connect ;].