Reconnecting with iOS in 2024

2024-07-04

Reconnecting

Where do I start? It's been ten years since I've picked up iOS and I know that a lot has changed. The first time I went on this journey I had a lot to learn all at once. iOS was my first exposure to what you could call a front-end development experience that had UX at its heart. Today I am in a different place when it comes to experience as a programmer, but getting started with relearning iOS feels big.

What I usually do when I want to learn a new programming topic like iOS, I tend to go through these stages:

  • Play around with the tools
  • Read and learn about technology in general
  • Do a few tutorials to get a feel for the language
  • Make a simple project that is usually related to something I have already worked on
  • Keep playing with the tools to refine my initial skills
  • Work on a more complete project that could be entirely new

So I have a rough idea of how I want to proceed here. The first and most obvious is to download and install Xcode from the Mac App Store. Xcode is the IDE, Integrated Development Environment, that I will use to build iOS apps. It's an all-in-one solution and this is where you "will live" while working on iOS.

The next thing is to spend time just reading about the current state of iOS. The best place to do this is by reading articles on developer.apple.com/develop. Based on what I've read already, I am expecting to focus on Swift and SwiftUI. These replace what I used before which was Objective-C and UIKit.

This is where I am at today, I'm just playing around with Xcode, Swift, and SwiftUI as I get free time. I'm going through a few tutorials here and there as well.

My next step is to work on a simple app that uses a dataset that I created for another project on UFOs. I figure this will give me a familiar topic and give me a chance to work through issues about the app state and the various options for data integration.

Eventually, I will start to work on some cleaner ideas that could make it to the App Store one day. Some things I have in mind are a "day counter" that can be used in goal setting and a "calorie tracker" that I can tune to fit my exact needs.