Skip to content

svfil/Awesome-Swift-Education

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Awesome-Swift-Education Awesome Build Status

A curated list of resources for learning about the Swift Language.

Index

Open Source Swift

⬆️

Swift Style

⬆️

In-Browser Swift Editors

⬆️

Quick References

⬆️

Great Learning Resources

⬆️

Books

⬆️

Video

⬆️

Swift Community

⬆️

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 πŸ“„

⬆️

Model Layer and Caching

⬆️

Closures and Higher Order Functions

  • Coming Changes for the Function Currying Syntax in Swift 3.0 πŸ”— πŸ“„
  • 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? πŸ“„
  • @autoclosure, @inline, @noescape, and @noreturn Keywords πŸ“„
  • How to use @noescape πŸ“„
  • How to use @autoclosure πŸ“„
  • Closures in API Design 🎀
  • weak vs unowned πŸ“„
  • Swift weak references πŸ“„ πŸ“„
  • Difference between weak self vs weak self() πŸ“„

⬆️

Collections / Sequences / Generators

⬆️

Command Line and Swift Scripting

⬆️

Concurrency

⬆️

Core Data and Realm

⬆️

Data Structures and Algorithms

⬆️

Design Patterns and AntiPatterns

⬆️

Development Paradigms

⬆️

Enums and Pattern Matching

⬆️

Error Handling

⬆️

Extensions

⬆️

Functional Programming, Category and Type Theory

⬆️

Functional Reactive Programming in Swift

⬆️

Generics

⬆️

Initializers, Properties, and Dependency Injection

⬆️

Interpolability with C and Objective-C

⬆️

Language Comparisons and Transitioning to Swift

⬆️

Linux Development

⬆️

LLVM Compiler, ARC, SIL, and swiftc

⬆️

Optionals and Types

⬆️

Production Swift, Problem Solving, and Developer Tools

⬆️

Protocols

⬆️

Protocol Oriented Programming in Swift 2

  • Properties of Types Conforming to Protocols πŸ“„

⬆️

Security

⬆️

Server Side Swift

⬆️

String Manipulation and RegEx

⬆️

Swift Language, Open Source, and Opinions

  • Opinions about Swift
    • Wishlist for Swift 3.0 πŸ“„
    • The Death of Cocoa πŸ“„
    • Swift is not functional πŸ“„ πŸ“„
    • Which features overcomplicate Swift? What should be removed? πŸ“„
    • Does Apple Swift have enough functional features to be considered as a functional language? Why? πŸ“„
    • What is the bare minimum you need to learn Swift? πŸ“„
    • How flexible is Swift? πŸ“„
    • Top 10 iOS Swift libraries every iOS developer should know about πŸ“„

⬆️

Testing

⬆️

Web Services, JSON, Routing, REST, and Networking

⬆️

Interview Questions

⬆️

Emoji Key

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

⬆️

Shoutouts

Shoutout to @clattner_llvm, the OG Swift Developer. Shoutout to @chriseidhof for encouraging me to promote this idea and for being a huge baller. Shoutout to @ashfurrow and @bennRodri for being so incredibly helpful. Shoutout to @CodaFi_, the TypeLift, and the AntiTypical teams for promoting FP. Shoutout to the trillmoji project. Shoutout to Haskell Devs and Category Theory legends. And finally, Shoutout to all the Swift Programmers out there, this project is by you and for you!

⬆️

About

πŸ”₯ All of the resources for Learning About Swift

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 100.0%