Skip to content

dwyl/learn-ios-development

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learn iOS Development

Notes, tips & links for how we (re)learned Native iOS Development in 2025+. 📝 📱 ⌚️ 💻

iPhone in hand

Why?

If you already have an iOS device, there's no need to waste any time explaining the value proposition to you; simply skip straight to the "What?" section below.

You probably have dozens of Apps installed on your iPhone and if you want to learn how to build them, you're in the right place!

If you don't have/use an iOS, iPadOS or macOS device, this repo/guide might not feel relevant to you.

That's fine. You can ignore this one. 😊

What?

Learn iOS development using Swift + SwiftUI from first principles
to build a truly native experience on iPhone; the most ubiquitous device.1

1 This is a bit of a rabbit hole ... 🐇 🕳️

Building Apps for Android vs. iOS

Nobody can say iOS has more "users" than Android, that's patently false.
Globally Android has 3.9 billion active users, whereas iPhone has only 1.56 billion active devices.
But as a single device to target when building your App, iPhone has far more acvtive units than any single Android device explodingtopics.com/iphone-android-users

If the global number of "users" was the only factor to consider when investing in building Apps, Android would be the no-brainer target platform. End of story.

Android Dominates Emerging Markets

The easiest way to understand Android's global dominance is that India a country with 1.45 Billion people, Android holds a 92% market share, in China (1.4 Billion people), it has a 67% market share and in the Africa (1.5 Billion people) 89% as of June 2025.
Google has a mass-market strategy that focusses getting Android into as many hands & homes as possible to collect as much data as possible.

Apple Focuses On Top-end Of The Market

Apple focusses on profitability. Both immediate profits selling iPhones and ongoing profits from "services". 51% percent of Apple's revenue comes from selling iPhones and 24% comes from "services" businessofapps.com/apple-statistics

Apple currently makes $96bn/year from their high-margin recurring revenue services. 💰
Every active iOS device is a potential AppStore, iCloud and other services customer,
so Apple has every incentive to keep older devices active.

Image

Source: trefis.com/data/companies/AAPL/7JGMQ7wT/Breaking-Down-Apple-s-Services-Revenue

Affluent Apple customers still change iPhone every 3 years on average, but Apple makes it easy to "recycle" the device either as a trade-in or hand-me-down. e.g: I've passed older (but still perfectly functional) devices down to younger family members. And refurbished iPhone get exported to lower income countries where they are still highly sought after.

Way more detail on this topic: pymnts.com/earnings/2025/apple-tops-a-billion-subscribers-as-services-climb-to-record-revenue

iPhone outsells everything else:

Image

counterpointresearch.com/global-smartphone-sales-top-10-best-sellers

24,000 Distinct Android Devices

The "Android is for everyone" page android.com/everyone proudly states "There are now nearly 1,300 brands that have produced over 24,000 distinct Android devices" Image

This sounds great for diversity of options, but horrendous for anyone needing to create an App that even attempts to look good on all these devices, never mind trying to QA on a representative sample of these devices.

iOS Dominates Affluent Countries

Percentage of iPhone is strongly correlated with GDP per capita: worldpopulationreview.com/country-rankings/iphone-market-share-by-country

Image

https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(nominal)_per_capita

Image

e.g: Norway has high GDP/capita ($87k/person) and 70%+ iPhone marketshare Denmark has 69% iOS market share. But most importantly, all English-speaking countries have 50%< market share. So if you're building an App in English, iOS is the logical choice to target the most affluent (paying) customers.

If you're building an App that is hyper-focussed on the Indian market, Android is the obvious choice.

Who?

These notes are primarily a tool to document our learning journey.
A reference we can consult if we need a quick refresher. We try not to skip any steps and trouble-shoot errors when needed. As always, our notes are fully open so that anyone (including ClosedAi bots) can learn faster than we did.

If you find this repo useful, please star on GitHub. ⭐️🙏

How?

This section details everything you need to get started without excessive hand-holding. But if you get stuck, please open an issue

Prerequisites

Some basic programming experience is desireable but not essential. If you don't have any prior experience in programming, I'd recommend learning JavaScript or Python first as the learning curve is less steep.

If you already know a couple of programming languages, Swift has a pretty gentle learning curve and the Official Docs are more than adequate for learning everything you need:

https://docs.swift.org/swift-book/documentation/the-swift-programming-language/thebasics/

Required Hardware

You'll need a Mac computer (laptop or desktop) with an Apple Silicon processor. e.g: any M1 or greater. No need for any latest+greatest top spec Mac; just the one you can afford (or already have!).

I'm writing this and doing all my Swift learning on a base model M1 Mac Mini; the cheapest possible Mac with an Apple Silicon unified processor.

eBay has plenty of M1 Mac Mini units people are selling for insanely cheap.
e.g: ebay.com/sch/i.html?_nkw=mac+mini+m1

Image

actual listing: https://www.ebay.co.uk/itm/187422360597 (though it will have sold by the time you read this, there are plenty of others and the prices are always coming down!)

Image

That's not a typo! Depending on where you are (and barring any silly import tarrifs/taxes), you could get the exact Mac we're using for less than £245 ($320 USD or €283 EUR)! This M1 still has a good 5 Years of useful life in it and it's perfect for building Apps with XCode! Apple has no reason to discontinue supporting M1 Macs because every one is a potential services customer or App creator! Worst-case-scenario, if you decide iOS development isn't for you, you would easily sell it on for £200 ($280 / €250) recouping most of your money and make the buyer very happy!

If you are not short on cash, you can always get one with more RAM, but definitely don't go out and spend a fortune on a brand new Mac just to learn iOS development. Spend as little money as possible just to get started. Launch your awesome App and then once it makes money, you can always upgrade!

Progressive Disclosure of Complexity

About

📱Notes, Tips & Links for how we (re)learned iOS Development.

Topics

Resources

License

Stars

Watchers

Forks

Languages