Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Wingsley

macrumors 6502
Original poster
Mar 20, 2014
299
39
I have been using Macintosh computers since 1986. I have also been using iOS on an iPad Mini for a few years.

During this COVID-19 lockdown (still partially in effect where I live) I have been using my iMac to do things from home. When I heard that WWDC was going to be a virtual (telecommuting) event for free, I was very intrigued. For years, I've wanted to explore what it is like to be a modern software developer. In the 1980s, I started out as a computer science major and did some coding in BASIC and PASCAL on a DEC VAX mainframe. Ironically, when I changed my major, I discovered a very different kind of computing: the early Macintosh. This discovery was going to have an effect on me and my work for many years to come.

Now, I want to learn about programming on iOS and/or MacOS. I want to become a developer and explore this new cyber-WWDC. I have no idea what to do or what it costs. Where do I learn? How do I learn? What does it cost to become a developer?
 

chrono1081

macrumors G3
Jan 26, 2008
8,742
5,228
Isla Nublar
Start with learning Swift. You can read the Hacking With Swift book free online (or he also has videos on Youtube if you prefer learning that way.)

Apple also has a free ebook in the iBooks store on how to do the most common stuff in iOS development which is really popular.
 

Wingsley

macrumors 6502
Original poster
Mar 20, 2014
299
39
Start with learning Swift. You can read the Hacking With Swift book free online (or he also has videos on Youtube if you prefer learning that way.)

Apple also has a free ebook in the iBooks store on how to do the most common stuff in iOS development which is really popular.

Is Swift for developing for iOS, or MacOS, or both?
 

cambookpro

macrumors 604
Feb 3, 2010
7,229
3,365
United Kingdom
Swift is probably the most common language to start iOS/macOS (and, I suppose, watchOS/tvOS) development. Apple make a pretty good book called App Development with Swift which is free: https://books.apple.com/gb/book/app-development-with-swift/id1219117996

There are numerous good YouTube channels and websites I’d recommend learning from. Paul Hudson (Hacking With Swift) is probably the best, however also look at CodeWithChris on YouTube, and RayWenderlich. I personally found that, once you have some basics down, don’t keep watching tutorials, but work on building your own project. Find resources to solve problems when you encounter them. This tends to be more rewarding, and I found my motivation was much higher when building my own projects.

Swift is pretty easy to get started with, but can have a fairly steep learning curve at the more advanced end. (However, if you are just wanting to play and maybe ship some simple-ish apps, you may never hit this.) Because it’s still a relatively new language, it is constantly evolving, and I expect more changes at WWDC.

Any modern Mac will run Xcode, the IDE used for macOS/iOS development, and a basic Apple Developer account is free. It will enable you to test things that you have built on a simulator and on your own device. To publish to the App Store, you need a paid account, which is $99/year.

You may also want to look into SwiftUI. SwiftUI is a declarative UI framework, and is fun to play with. SwiftUI is not a replacement for Swift; Swift is the language that underpins SwiftUI apps. The ‘alternative’ (I use this term loosely, as in many projects SwiftUI is used as a complement, rather than replacement) is UIKit on iOS, and AppKit on macOS. However, if you are a brand new developer and not trying to learn for a career but for a hobby, I’d really recommend starting with SwiftUI projects. (Though, word of warning, it is fairly certain that WWDC 2020 will introduce large changes/additions to SwiftUI. SwiftUI is still *very* immature as a framework, and you may encounter bugs which can be frustrating. Overall though, I think it‘s worth it due to the ease of iterating UI, the declarative nature, and the ease of developing for multiple Apple platforms.)

Obviously this is just my own opinion - caveat emptor! I have been developing for iOS as a hobby for a few years now. My most successful app which I co-developed with my friend has just surpassed 1,000,000 downloads, though I still feel like a complete beginner at times. It‘s hard to gauge progress when self-teaching. It is sometimes a very difficult journey, but I’m sure it will be a rewarding one - I look forward to seeing any apps that you develop!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.