By Aleshia Howell
Posted: Updated:

Codebase offers students the chance to learn iOS in Swift. Because it’s the best.

Surrounded by techies and therefore a much higher proliferation of iDevices, it’s easy to forget that Android dominates global market share of smartphones.

If that’s the case, why does Codebase, an app development firm and 9-week Training Lab in Savannah, teach iPhone development?

According to Max Howell, Lead Developer at Codebase and creator of the Homebrew package manager for Mac, it’s the best way to learn mobile development in a short amount of time. And once you’ve learned iPhone, transferring those skills to native Android or any other platform is much easier.

Here’s what he has to say about why iOS — and Codebase — are the best ways for beginners to learn.

Great Tools

Xcode sucks! …Right? Shocking though it may sound for the iOS devs in the crowd, Xcode is actuallygreat. Relatively. Real live designers are employed to work on the user experience, and the UI is super-polished compared to the alternatives. Android Studio, for example, or any Javascript solutions have user and developer experiences that are appalling by comparison.

When you make the decision to learn a new skill, especially in software development, you can expect a steep learning curve. If you want to get started with something new and challenging it is essential that the tools don’t get in the way

Fewer Configurations

There are fewer iPhone models than there are Android models or configurations of desktop computers. If you are learning something new, you don’t want to get bogged down in the nitty-gritty of configuration. You want to be able to see progress without worrying about catering to landscape orientation and tablets, designing responsively and/or designing for super-tiny or super-huge screens.

Great APIs

Most APIs are developed haphazardly with no concern for your developer experience. Android is a shining example here: complicated, inconsistent, fiddly and non-intuitive.

Apple has put a great deal of care into their APIs. I’ve developed with Win32, Qt, Ruby, Python, Node, Delphi, and more. Apple’s APIs are curated, they are consistent and they are careful. Developers cry that Apple doesn’t release APIs to them immediately and assume it is because Apple is evil. Not so. They are being careful. They want to take their time and design an API that is good, that fits, that provides the 80% you need in a lovely, easy to understand API, but makes it possible to do the other 20% even if that part of the API is more complicated.

Consistency is also vital for newcomers to programming. Once you have learned one part of the API you can apply what you’ve learned to the rest. You can build upon new knowledge, and frustration lessens as time goes on.

Great Mental Model

Compare the lifecycle models of iOS and Android “screens.”

The Android model is hideous and unknown. Stack Overflow runneth over with confusion and 1,000+ answer pages without clear answers about how to do some of the most fundamental things on the platform.

The iOS model, conversely, is simple to understand: the mental model you build quickly takes shape and makes sense based on what you know about apps.


Agile: Is it a Silver Bullet? October 22, 2020 Join us from 12-1 for a Virtual Lunch Function where...

VIRTUAL Lunch Function 101: Map Your Customer Journey with Yvonne Jouffrault September 17,...

VIRTUAL Lunch Function 101:  Cybersecurity for Everyone with Randal Humphries hosted by TechSAV and...

%d bloggers like this: