Coder Social home page Coder Social logo

ios-developer-roadmap's Introduction

CodeWars

iOS Developer Roadmap


HackerRank profile

Books

  • Ray Wenderlich
    • Grosch S. - Concurrency by Tutorials (1st Edition) - 2019
    • SwiftUI by Tutorials - 2020
    • Todorov M. - Realm. Building Modern Swift Apps with Realm Database (2nd Edition) - 2019
    • Animations by Tutorials - 2019
    • Greene J., Strawn J. - Design Patterns by Tutorials (3rd Edition) - 2019
  • Jon Hoffman. Swift 4. Protocol-oriented Programming

☑️ Memory manadgment

  • Stack and Heap
  • Value vs Reference type
  • ARC/ MRC
  • Retain cycles / Memory leaks
  • Shallow and deep copying
  • Weak/Strong references

☑️ Swift

  • Closures,
  • Generics
  • Initializers
  • Protocols
  • Struct
  • Enums
  • Runtime
  • Method dispatch

☑️ Multithreading and concurency

  • GCD
  • NSOperationQueue
  • Race condition, deadlock, livelock
  • Readers/writers problem
  • Green threads

☑️ UIKit

  • UIApplication
  • UIApplication: States
  • Layout
    • Frame-based
    • Autolayout
  • Navigation
  • UIViewController
  • UIViewController: Lifecycle

☑️ Networking

  • URLSession
  • Alamofire
  • Rest API (Difference between GET, POST, PUT, PATCH, DELETE)

☑️ Foundation

  • Notifications vs Delegation vs Observing
  • Collections
  • Networking
  • Serialization (NSCoding, Codable, JSON, XML)

☑️ Software Architecture

  • MVC
  • MVVM
  • MVP
  • VIPER

Design patterns

  • Creational
    • Factory
    • Abstract Factory
    • Builder
    • Factory Method
    • Prototype
    • Object Pool
    • Singleton
  • Structural
    • Adapter
    • Bridge
    • Composite
    • Decorator
    • Facade
    • Flyweight
    • Proxy
  • Behavioural
    • Command
    • Chain of responsibility
    • Interpreter
    • Iterator
    • Mediator
    • Memento
    • Observer
    • State
    • Strategy
    • Visitor
  • Other
    • Anti-pattern
    • Class cluster
    • Chain of Responsibility
    • Receptionist
    • Template Method

Design principles

  • SOLID
  • Inversion of Control
  • Dependency Injection
  • Dry (Don't repeat yourself)
  • KISS (Keep it simple, stupid)

☑️ Dependency management

  • Cocoapods
  • Carthage
  • Swift Package Manager

☑️ Version Control System

  • Git
  • SVN

Caching and Presistency

  • Core Data
  • Realm
  • YAPDatabase
  • SQLite

Testing

  • Unit Tests
  • Snapshot Tests
  • Functional test
  • TDD
  • BDD

XCode/Tools/Debbuging

  • Workspace/cocoapods
  • Interface Builder
  • Keychain
  • Security Transforms API
  • UI Debbuging
  • Reveal for UI Debuggin
  • Instruments: Leaks
  • Instruments: Time profiler
  • Instruments: Allocations
  • Zombies
  • Activity monitor
  • Charles: request/response. Mock, rewrite http data etc...

Continuous Integration

  • Fastlane
  • Jenkins
  • Xcode server

Computer Science knowledge

  • Algorithms
    • Sorting

    • Graph Theory -> Trees

    • Strings

    • Greedy

    • Dynamic Programming

    • Bit Manipulation

    • Recursion

    • Game Theory

    • NP Complete

    • Big-O notation

  • Abstract Data Types
    • Stack
    • Array
    • List
    • Map
    • Multimap
    • Set
    • Multiset (Bag)
    • Graph -> Tree
    • Queue
    • Priority Queue
    • Double-ended priority queue
    • Double-ended queue

Programming Paradigms

  • Protocol-Oriented
  • OOP

Libs, frameworks, pods, Kit's

  • ObjectMapper (pod)
  • Charts (pod)
  • Payments and subscription
  • Moya
  • BLE (Bluetooth Low Energy)
  • AVFoundation
  • AVKit
  • ARKit
  • HomeKit
  • MedKit
  • MapKit
  • YandexMap
  • Animations
    • Core Graphics
    • Core Animation
    • Transformation
  • tvOS
    • Focus interactions
    • WatchKit
  • TDD utils
    • Specta
    • Expecta
    • OCMock

☑️ Course and tutorials

Articles (must have)



Skills matrix

Контакты для связи:

ios-developer-roadmap's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.