Apple_Developer_University

The purpose of this repo is to provide a learning path for those interested in making Apps for the Apple ecosystem. This repo is dynamic and will change as needed in order to povide a best consolidated. If you would like to contribute links or a different structure or path, please do a pull request and submit. All changes that add value to the repo will be considered.

NOTE: I'm not an affiliate of any of the link mentioned below. However I do ask that if you like a lot any of the free resources and the creator has a paid version, to consider buying to support their work!

Overview

Learning to develop apps for the Apple ecosystem is a journey unto itself. It seems that a common starting point is to learn to develop iOS apps. Taking this into consideration, the foundations portion will be geared towards iOS development.

So why is learning iOS development and making your own apps or develop for someone else is so hard. Because you must learn five different topics to get an app into the store: 1) A programming Language; 2) iOS SDK; 3) iTunes Connect; 4) App design; 5) App store marketing; 6) Xcode (The Integrated Development Environment (IDE))

Foundations

If you are completely new to Computer Science and Coding, and are interested in both, start here:

If you are just interested in starting to code and develop applications for iOS without getting into the Computer Science realm, start here:

After you've gone through one of those courses, you are ready to understand the why. These two books are the best at it and will serve you as reference from now on:

BNR books are top notch and so is their blog, so it is worth checking it out for time to time. https://www.bignerdranch.com

It might be a worthwhile investment to look into Safari Books Online. They provide unlimited access to the majority of Technology books publishers like BNR, O'Reilly, No Starch Press, and Packet Pub. Check them out at https://www.safaribooksonline.com

Foundation Topics

Throughout these books and resources you whould learn the following things:

  • Swift - Variables and Constants, Loops (For-in, While, Repeat-While), Types, Conditionals(If statements, Switches), Numbers(Integers and Floating Points), Strings, Optionals, Collections (Array, Dictionary, Sets), Closures & Functions, Enumerations, Structures, Class, Initialization, Properties and Methods, and Value vs Reference types.
  • iOS SDK - Saving information()
  • Xcode -
  • General Computer Science Topics - Procedural Programming (Step by Step, line by line programming); Basics of Object Oriented Programming (Encapsulation, Composition, Inheritance, Polymorhphism), Delegation, Abstraction; Algorhythm, Data Types
Good Articles for Junior developer knowledge

Networking and JSON

Intermediate

TODO: - Add intermediate resource and topics. (i.e. Individual Frameworks inside iOS, external frameworks, Cocopods, Cartage, Git, Databases)

Core ML

Neural Networks

Xcode extensions

Charts

Advanced

TODO: - Add advanced resources and topics.

Tools for Developers

Other languages with direct relationship to iOS:

C:

  • The C Programming Language

C++:

Objective-C:

  • BNR Objective-C
  • Objective-C for Swift Developers

Design

Marketing

Business

Bootstrapping
Gamification

Open Source iOS projects to work on

Interesting Open Source projects

Resources for Indie Developers

Forums, Slack Channels, and IRC channels

TODO: - Add good channels for getting help and contributing to the community

Newsletters

Beyond iOS

TODO: - Add resources for MacOS, WatchOS, TvOS, Backend/Server Swift

Server Side Swift

APIs

Swift Language

Chatbots

Open Source

Good Blogs and websites to read and follow

Computer Science

Associations

Jobs and Apprenticeships

Apprenticeships

Work