• Stars
    star
    176
  • Rank 216,987 (Top 5 %)
  • Language
  • Created over 3 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Hack iOS Development

Hack iOS Development

The following checklist is a roadmap for iOS developers who want to become experts in this area. Read the Medium post to learn more.

Computer Science

  • History of the computer
  • Hardware
    • CPU
    • RAM
    • Storage (HDD, SSD)
  • Basics of programming (Swift)
    • Constants, Variables, Data Types
    • Basic Operations
    • Strings and Characters
    • Collection Types
    • Control Flow
    • Functions
    • Basics of Algorithms
      • Efficiency (Big O and Omega Notations)
      • Search (Linear, Binary)
      • Sort (Bubble, Selection, Insertion, Merge)
      • Graphs
      • Machine Learning
    • Basics of Data Structures
      • Array
      • Queue
      • List
      • Tree
      • Hash table
      • Sets
      • Graphs
    • Memory
      • Pointers
      • Segmentation Faults
      • Dynamic Memory Allocation
      • Stack
      • Heap
      • Buffer Overflow
      • Data Structures
      • File I/O
      • Images
  • Swift Language
    • Closures
    • Enumerations
    • Structures and Classes
    • Properties
    • Methods
    • Subscripts
    • Inheritance
    • Initialization
    • Deinitialization
    • Optional Chaining
    • Error Handling
    • Concurrency
    • Type Casting
    • Nested Types
    • Extensions
    • Protocols
    • Generics
    • Opaque Types
    • Automatic Reference Counting
    • Memory Safety
    • Access Control
    • Advanced Operators
    • Method Dispatch
    • Advanced Memory Management (Memory Layout, Copy-on-write)
    • Async/await

iOS Platform

  • Xcode
    • Project
    • Target
    • Settings, Configurations, Schemes
    • Property List Files, Nib Files, Code Files, Resources,
    • Frameworks, SDKs, and Packages
    • App Launch Process
  • UIKit
    • UIView
    • UIWindow
    • UIViewController
    • Auto Layout
    • Touches
    • Gestures
  • Core Graphics
    • Images,
    • Drawing
  • Core Animation
    • Layers
    • Animation
  • Advanced View Controllers
    • Storyboard Layout
    • Manual Layout
    • Tab Bar Controller
    • Navigation Controller
    • Page View Controller
    • Container View Controller
  • Scroll View
  • Table View
  • Collection View
  • SwiftUI
  • Text
    • Label
    • Text Filed
    • Text View
    • Attributed Strings
    • Text Kit
  • Controls
  • Multithreading
    • Thread
    • Grand Central Dispatch
    • Operations
    • Runloop
  • Notification Center
  • Web View
  • Modal View
  • Audio
  • Video
  • Camera and Photo Library
  • Contacts
  • Calendar
  • Map
  • Core Location
  • Persistent Storage
    • User Defaults
    • Files
    • XML, JSON
    • SQLite
    • Core Data
    • PDF
  • Networking
  • In-App Purchases
  • User Notifications
  • TCP/IP
  • Sockets
  • Power Management
  • File System
  • Security

Product Thinking

  • Processes
    • Time Management
    • Communications
    • Decision Making
  • Product (Economics)
    • Market Research
    • Customer Development
    • Analytics
    • Monetisation
    • A/B-testing, Experiments
    • Minimal Viable Product
  • Design
    • User Experience, Human Oriented Design
    • Visual Design, User Interface Design

Resources

CS50 – one of the most popular Computer Science courses developed by Harvard University. It helps to learn basics of programming. Algorithms, data structures, memory, computational thinking, the C language and more.

Book «Code: The Hidden Language of Computer Hardware and Software» – a book describes how computer works. Even if you don’t have any technical background, this book will help you understand computer work.

Swift Language Guide – official documentation of the Swift language provided by Apple and Swift’s open-source community.