Skip to content

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

⬆️

Closures

  • 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

  • Swift Scripting 🎀
  • Learn Swift by running Scripts πŸ“„
  • Scripting in Swift is Pretty Awesome! πŸ“„
  • How Swift Scripting was used to make iOS Cookies πŸ“„
  • Writing an Xcode Plugin with Swift πŸ“„
  • Make Command Line Applications with Swiftline πŸ“„

⬆️

Concurrency

⬆️

Core Data and Realm

⬆️

Data Structures and Algorithms

⬆️

Design Patterns

  • Template Method Pattern in Swift πŸ“„
  • Design Patterns Library in Swift πŸ“„
  • Functional Notification Pattern πŸ“„

⬆️

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

  • Intro to Swift Dev on Linux πŸ“„
  • Dynamic Swift Framework Without Xcode πŸ“„

⬆️

LLVM Compiler, SIL, and swiftc

⬆️

Optionals and Types

⬆️

Production Swift, Problem Solving, and Developer Tools

⬆️

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

⬆️

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%