Skip to content

Isaac12x/Awesome-Swift-Education

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Swift Logo

Awesome-Swift-Education

A curated list of resources for learning about the Swift Language

Key

  • πŸ“ = Gist
  • ✏️ = Repository
  • πŸ““ = Blog
  • πŸ“„ = Blog Post
  • πŸ“œ = Quick Reference
  • πŸ“š = Book
  • πŸ“– = Guide Book
  • πŸ“° = Newsletter
  • πŸ’Ύ = Slides
  • 🎀 = Video Presentation
  • πŸ“Ή = Video
  • πŸ”— = Link
  • πŸ”₯ = Awesome List
  • πŸŽ“ = Learning Resource
  • πŸ“‹ = Interview Questions
  • πŸ”Œ = Networking Related Post
  • πŸ“Š = Algorithm Related Post

Index

Open Source Swift

Swift Style

In-Browser Swift Editors

Quick References

Blogs

Newsletters

Great Learning Resources

Free Books

Not Free (but still awesome) Swift Books

Presentations

  • All the slides from Swift Summit London 2015 πŸ”—

Other Video

Posts

Animations and Front End Stuff

  • Mixing SpriteKit with UIKit in iOS 9 πŸ“„

Application Structure / Architecture

  • Demystifying iOS Architecture Patterns πŸ“„
  • Mutating Funcs in Swift Structs πŸ“„

Associated Types and Objects

  • Protocols with Associated Types and how they got that way πŸ’Ύ
  • Associated Types in Swift Explained πŸ“„
  • Illuminating Forum Post πŸ“„
  • How to make Generic Protocols in Swift πŸ“„
  • Associated Enum Data As Types πŸ“„
  • Typesafe Associated Objects ✏️

Closures

  • Closures and Capturing Values in Swift πŸ“„
  • Instance methods are Curried Functions in Swift πŸ“„
  • Using Local Closures with Swift πŸ“„
  • Delaying Code Execution through Closures πŸ“„
  • Can we please make a standard style for closures? πŸ“„

Collections / Sequences / Generators

Command Line and Swift Scripting

Concurrency

Core Data

  • A Swift Into To Core Data πŸ”Œ
  • Moving from ObjC to Swift with Core Data πŸ”Œ
  • What, if any, ACID gurantees does Core Data Make? πŸ”Œ
  • Core Data Libraries and NSKeyedArchiver πŸ”Œ

Data Structures and Algorithms

Design Patterns

  • Template Method Pattern in Swift πŸ“Š
  • Design Patterns Library in Swift πŸ“Š
  • Creating a Cocoa Bindings Observable Pattern in Swift πŸ“Š
  • Observer Pattern in Swift πŸ“Š
  • The Sin of Singletons πŸ“Š
  • The Null Object Pattern πŸ“Š
  • Segues > Delegation πŸ“Š
  • Functions as Factories πŸ“Š
  • Conform to Objective C Protocols in Swift πŸ“Š
  • Optional Protocol Methods πŸ“Š
  • The Builder Pattern and Fluent Interface πŸ“Š
  • A Better NSNotificationCenter Observer Pattern πŸ“Š
  • Key Value Coding in Swift πŸ“Š
  • Exploring KVO Alternatives in Swift πŸ“„

Development

Enums and Pattern Matching

  • Enums
    • Enums in Swift πŸ”—
    • Advanced and Practical Enum Usage in Swift πŸ“„
    • Enumerating Tuple Values in Swift πŸ“„
    • Simplfied Login with Swift Enums πŸ“„
    • Testing of Enums made easy πŸ“„
    • How to compare Enums with Equatable πŸ“„
    • Raw representable enumeration πŸ“„
    • Enums with Associated Data vs Structs πŸ“„
    • The Sum Types are here πŸ“„
    • Algebraic Data Types in Swift πŸ“„
    • Handling Enums with Raw Values πŸ“„
  • Pattern Matching
    • Official Docs πŸ“
    • Swift's pattern-matching switch statement πŸ“„
    • Custom pattern matching in Swift πŸ“„
    • Advanced Swift Pattern Matching in Detail πŸ“„
    • Control Flow & Pattern Matching πŸ“„
    • Ranges and Intervals in Swift πŸ“„
    • More Pattern Matching Examples πŸ“„
    • What is a variadic parameter? πŸ“„
    • Pattern Matching in Swift πŸ“„
    • Swift Pattern Matching in Detail πŸ“„
    • Pattern Matching with an if case πŸ“„
    • Pattern Matching with Recursive Values in Swift πŸ“„

Error Handling

Extensions

Functional Programming in Swift

Functional Reactive Programming in Swift

Generics

Initializers

Interpolability with C and Objective-C

Language Comparisons

  • Comparing Swift and Javascript πŸ“„
  • C++ Advice to Swift Devs πŸ“„
  • Swift Protocols vs Java 8 Interfaces πŸ“„

LLVM Compiler

Objective C Transitioning to Swift

Open Source Swift

Operator Overloading

  • Operator Overloading and JSON Parsing in Swift πŸ“„

Opinions about Swift

Optionals and Types

  • Optionals
    • How I handle Optionals in Swift πŸ“„
    • How to unwrap an optional in 9 different ways πŸ“„
    • Optional Protocol Methodsin Pure Swift πŸ“„
    • Swift Optionals Made Simple πŸ“„
    • Every Kind of Optional πŸ“„
  • Types

Other

Problem Solving

  • Creating and Building a DSL in Swift πŸ’Ύ
  • πŸ™Œ FizzBuzz on steroids with Swift πŸ’Ύ
  • Learning Swift the Euler Way 🎀

Production Swift

Protocol Oriented Programming in Swift 2

  • πŸ™Œ Protocol-Oriented Programming in Swift 🎀
  • Protocols in Swift πŸ“„
  • POP is OOP Thesis πŸ“„
  • Standard Template Protocols ✏️
  • Protocol Oriented MVVM πŸ“„, πŸ’Ύ
  • Functional thinking via Protocol Extensions πŸ“„
  • Protocol Extensions vs Type Extensions πŸ“„
  • Swift Diagrams Playground for P.O.P. πŸ“„
  • Gist covers whatever went on in the official presentation πŸ“„
  • What are the advantages? πŸ“„
  • Another look into the concept of P.O.P. πŸ“„
  • If you're subclassing, you're doing it wrong. POP and VOP explained πŸ“„
  • Every Swift Value Type Should be Equatable πŸ“„
  • Protocol Oriented Programming through UIKit πŸ“„
  • Protocols in Swift πŸ“„
  • Ray Wenderlich intro to P.O.P. πŸ“„
  • Protocol Extensions and the death of the Pipe forward operator πŸ“„
  • How Protocol Oriented Programming could still improve πŸ“„
  • THe Swift Protocol Proposal πŸ“„
  • Swift Default Protocol Implementations πŸ“„
  • πŸ™Œ Mixins and Traits in Swift 2.0 πŸ“„
  • Minimal Swift 2.1 Protocol Coformance πŸ“„
  • Favor Mixins over inheritance πŸ“„
  • Use Protocol Composition πŸ“„
  • Can Swift have Dependent Types? πŸ“„
  • More Misunderstanding of Dependent Types πŸ“„

Realm

Security

Swift Language

  • Function Params are Tuples in Swift πŸ“„

Testing

Text Manipulation and RegEx

Type Reflection and Casting

  • Simple Reflection in Swift πŸ“„
  • Understanding Reflection in Swift and how to use it πŸ“„
  • Typecasting and the Swift Runtime πŸ“„

Web Services and Networking

  • SwiftHTTPStatusCodes πŸ“
  • Calling APIs and Parsing JSON with Swift πŸ“„
  • Parsing Embedded JSON and Arrays in Swift πŸ“„
  • Real World JSON Parsing πŸ“„
  • Efficient JSON Parsing with Functional Concepts πŸ“„
  • Swift and JSON: Are we doing it right? 🎀
  • Calling a REST Api in Swift πŸ“„
  • How to Make REST API Calls and Parse JSON with Swift πŸ“„
  • HTTP in Swift πŸ“„
  • Reachability Library πŸ“„

Web Services - Other

  • CloudKit Introduction πŸ”Œ
  • Create a Data Access Layer with SQLite.swift and Swift 2 πŸ”Œ
  • Using YapDatabase πŸ”Œ

Interview Situations

About

List of resources for the Swift programming language.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 100.0%