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

Daniil Vereschagin avatar  avatar Esengul Donmez avatar Saniye Bilgiç avatar Lütfiye Yaşar avatar Shahriar Nasim Nafi avatar İbrahim Ferhat Özdemir avatar Rishi Yadav avatar Mark Golubev avatar Hany Sameh avatar Anastasiya V avatar Andrey Didenko avatar  avatar VickyAbishek avatar Luiz Araujo avatar Vladimir S avatar Kevin Y avatar Ye Lin Aung avatar Andrey Y avatar qizheng.wen avatar AnyaSokol avatar Brett Lo avatar Jenia avatar  avatar Pride avatar Alexandra Bashkirova avatar Lucas C. Mendes avatar  avatar Konstantin Savenkov avatar Jim White avatar Alexander Rubtsov avatar Egor Griva avatar wdvqmj7377 avatar Manish Punia avatar  avatar Kucing Item Putih (Black & White Cat) avatar Mikhail Izbrodin avatar Yonghyun avatar Valter avatar qinhao avatar Yegor Zubarets avatar Olexii Pyvovarov avatar tima5959 avatar Dmytro Momotov avatar Yuri Fedorov avatar Babushkin Ivan avatar  avatar Maksim Yakubovskiy avatar Kamil avatar WillianLike avatar CiNichka avatar Kiren Srinivasan avatar SavK avatar Anton Novoselov avatar

Watchers

Andrey Torlopov avatar tima5959 avatar Tambanco 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.