iOS Development Basics – What You Need to Become an iOS Developer

We all know that mobile app development is growing with astonishing speed. At the last WWDC, Apple announced that the AppStores’ all-time earnings were over $100 billion from which about $70 billion was paid out to the developers. And if you think that’s a huge figure, developers collected over $20 billion in the last year alone.

So it wouldn’t be surprising that more and more people are looking into this field of work. If you’re are one of them I must warn you that learning new languages is not an easy thing to do. You’ll need extensive knowledge of many different aspects but if you’re persistent enough, at the end it will pay out.

iOS development basics

The Basics

I’ve met many people that started out directly with iOS development, without any previous knowledge of programming. Maybe most of them, if not all, figured things out and developed their first Swift iOS apps but it doesn’t mean they’ve been developed in a way that is efficient, readable and done with best practice in mind. If you just want to develop a basic app and see what iOS development is about, then this route is most certainly the right way to go.

But, if you’d like to make a career out of it, where you’ll be able to pick up different frameworks, languages, technologies and interact with things other people have built, then the fundamental basis are a  must have. They will let you be much more versatile and stimulate you to pick up new things much more easily.

Fundamental Basics

I always say that a good, solid foundation in different programming paradigms (e.g. if statements, for loops, etc.) and data processing is the key point in understanding mobile app development. For this, you’ll need to learn Python (or equivalent) and the theory behind Software Engineering.

ios development basics

iOS Development Basics

After you’ve successfully managed the fundamental basics, you’re ready to start learning iOS development. Bellow is a compiled list of all the things you should know to become a professional iOS developer.

  1. Swift Programming Language 
  2. Objective-C Programming Language 
  3. Understanding Xcode (IDE) 
  4. iOS
    A) View Layouts
    – Storyboards (Segues, @IB Properties)
    – Xibs (Many Old Projects Use This)
    – Programmatic Layouts
    B) Data Persistence
    – User Defaults
    – NSCoding (NSKeyed Archive / Unarchive)
    – Core Data
    C) Notifications (Observing)
    D) Applications
    – Implementing Navigation Controllers
    – Single View Application
    – Tab Bar Application
    – Universal Application
    – Understanding View Controller Life Cycle
    E) Networking
    – Accessing APIs (URLSession / AFNetworking)
    – Parsing and Understanding JSON Objects
    F) Concurrency (Grand Central Dispatch)
    G) MVC Architecture Pattern
    H) Core Animation
    I) Core Graphics
    J) Unit Testing (XCTests)
    K) App Store Submission Process
    L) Have an app in the App Store (Portfolio)
    M) Memory Management (ARC Knowledge)
    N) Understanding Object Oriented Programming
  5. Extras
    A) Version Control (Git / Github)
    B) Sketch / Adobe Experience Design
    C) Understanding Apple’s Guidelines (UI / UX)
    D) Reactive Programming
    E) Agile / Scrum Knowledge
    F) iCloud Sync
    G) MVVM Architecture Pattern
    H) Protocol Oriented Programming
    I) AppCode (IDE)
    J) Firebase
    K) iOS 10 APIs (Or recent iOS)
    L) PaintCode

Resources

Extras

Leave a Reply

Your email address will not be published. Required fields are marked *