Ranked awesome lists, all in one place
This list is a copy of uraimo/Awesome-Swift-Playgrounds with ranks
Awesome Swift Playgrounds β 87749
A curated list of awesome Swift playgrounds.
Contributing
Please take a quick look at the contribution guidelines first. Thanks to all contributors; you rock!
If you see a playground here that does not work anymore with the current release of Xcode or is not a good fit, please submit a pull request to improve this file or consider updating it, thank you!
Downloading all the playgrounds
Unless otherwise indicated, all playgrounds are compatible with Swift 3.
All the playgrounds are available as submodules in the playgrounds/
directory, to download them all in one go, just clone this repository with git clone --recursive https://github.com/uraimo/Awesome-Swift-Playgrounds.git
or execute git submodule update --init
after you have cloned the repository the usual way.
Appleβs playgrounds distributed as zip archives have to be downloaded manually.
Tags
π = My personal favorites
π = Swift 4+ Playground
β³ = Pre-Swift 3 Playground
Contents
- PlaygroundBooks
- Learning Swift
- Learning Swift: Advanced Topics
- Appleβs Playgrounds
- Playgrounds about Playgrounds
- Playgrounds from Playgroundbooks
- Theoretical Computer Science
- UIKit And Graphics
- Audio
- Mathematics
- Libraries and APIs
- Playground sets
- Miscellaneous
PlaygroundBooks
Playgrounds that can be run on your iPad
- Tree Trouble Playbook β 16 β³1Y - An interactive Swift Playground Book about Binary Search Trees.
- Auto Pong β 2 β³1Y - A tutorial to implement a pong based on a simple AI.
- Neural Network Playground β 358 β³1Y - A neural network Swift playground, with no third party dependencies.
- Window Manager Playground β 36 β³1Y - Playground for an experimental window manager.
- AudioKit Playground Book β 66 β³1Y - A set of playgrounds using AudioKit designed for the iOS10 Playgrounds app.
- Numsw β 106 - A swift playground book that mimics some of the features of numpy and jupyter notebook.
- File Browser Playground β 189 β³1Y - Simple File Browser for Swift Playgrounds on iOS.
- Geometry with Swift β 3 - In this course your students will learn the fundamentals of Swift 3 programming, using geometry as their context for learning.
- Image Filtering β 44 - A Swift playgroundbook about Image Filtering. π
- Spacetime Rhapsody β 11 β³1Y - A Swift Playground visualizing gravity based on Einsteinβs Theory of General Relativity. π
- Guilloche Pattern Playground Book β 7 - Learn more about this pattern you see every day, but probably never knew it was really carefully designed. π
- Accessibility β 2 - Accessibility for iOS developers. π
Learning Swift
Some interesting playgrounds to learn Swift
- The Swift Programming Language Playgrounds β 167 - 40+ playgrounds, one for each chapter of Appleβs Swift book. π
- Swift Hack Pack β 10 β³1Y - Collection of playgrounds that teaches Swift.
- The Swift Summary Book β 1661 - A summary of Appleβs Swift language. π
- Swifter Tips β 107 β³1Y - Examples for every feature of the Swift language.
- About Swift β 35 - A playground about Swift language.
- MPCS51032 UChicago iOS Course β 4 - Playgrounds from the 2017 Spring iOS course of the University of Chicago.
- Whatβs new in Swift 4 β 1931 - An Xcode playground showing off the new features in Swift 4.0. π π
- Codable Playground β 7 - Playground that demonstrates advanced uses of Codable π
Learning Swift: Advanced Topics
Advanced topics, useful once you have mastered the basics of the language
- A Swift Introduction to Core Data β 121 - Learn Core Data experimenting directly in this playground. π
- TDDSwiftPlayground β 42 β³1Y - Demonstration of using Swift Playgrounds in Test Driven Development with XCTest.
- Concurrency on iOS β 33 β³1Y - Concurrency and Parallelism in iOS.
- Modern Core Data β 21 - An introduction to Core Data.
- Swift DSL Example β 16 β³1Y - Implementation of a DSL in Swift.
- Katan β 14 β³1Y - A micro web server that replies βHello world!β to every request, an example of how to use sockets in Swift.
- Swift Regular Expressions β 3 - A playground to learn regular expressions with Swift.
- Network Stack β 3 - Clean & simple Swift networking stack playground.
- Swiftly Typed Resources β 73 β³1Y - A playground showing how Swift makes Strings, Colors, Fonts, Images, etc easier to deal with. β³
- Swift KVO Closures β 10 β³3Y - Swift KVO playground. β³
- Swift Date Tutorial β 7 β³2Y - Learn everythig about NSDate. β³
- Swift And C β 5 β³2Y - Examples about using C with Swift. β³
- Swift Memory Management β 2 β³2Y - How to avoid retain cycles, from this post. β³
Design Patterns
- Design Patterns Playground β 24 - Learning GoFβs Design Patterns in Swift 3.
- iOS Design Patterns β 46 - Sample projects for MVC, MVP, MVVM, and VIPER.
- Design Patterns in Swift β 9695 - Design patterns in Swift 3.
- GOF Swift β 27 - Learn all 23 Gang of Four patterns using Swift.
- The Principles of OOD in Swift 4 β 1376 - The Principles of OOD based on Uncle Bob articles.π
Protocol Oriented Programming
- Swift Diagram Playgrounds β 249 β³1Y - Adaptation of the Protocol-Oriented Programming in Swift talk from WWDC 2015.
- Swift Protocol Extensions β 19 β³2Y - A playground to explore Protocol Extensions. β³
- Battleship Example β 9 - An example of how to use Protocol Oriented Programming with the battleship game. β³
Functional Reactive Programming
- ReactiveCocoa Playground β 94 - The easiest way to get a taste of ReactiveCocoa. β³
- Swift Reactive Playground β 26 β³3Y - Companion to the article: ReactiveCocoa made Simple With Swift. β³
Appleβs Playgrounds
Playgrounds from Apple, usually presented at some WWDC
- Appleβs Mandelbrot Playground β 11 β³1Y - A playground with the mandelbrot fractal (updated to Swift 3 by @palmerc, @kemalenver).
- Interactive Newtonβs Cradle - Appleβs interactive playground of a Newtonβs Cradle where collisions and gravity are applyed with UIKit dynamics. π (updated to Swift 3 by @p-sun)
- Appleβs Balloons Playground - The balloons playground showed at WWDC14. β³
- Appleβs Crustacean Playground - Protocol-Oriented Programming with Value Types. β³
- Appleβs Swift Standard Library Playground - experiment with Swift standard library types and high-level concepts using visualizations and practical examples. β³
Playgrounds about Playgrounds
Playgrounds that describe what you can do with playgrounds
- XCTest Playground β 45 - Better looking tests for playgrounds.
- Interactive Playground β 49 β³1Y - Exploring interactivity in Playgrounds.
- Mondrian β 3 β³2Y - Make iOS app mockups in Swift 2.x playgrounds. β³
Playgrounds from Playgroundbooks
Playgrounds derived from iPad Swift Playgroundbooks
- iPad Swift Playgrounds β 15 β³1Y - The sample playgroundbooks converted to playgrounds.
Theoretical Computer Science
- Logician β 122 - Logic programming in Swift. π
- Function Composition in Swift β 48 β³1Y - Exploration of function composition in Swift. π
- Functional Debug View β 29 - Playground to visualize functional programming with graphical sequences. π π
- Swift Adventures in Monad Land β 164 β³1Y - Learn about monads.
- Functional Design Patterns β 4 - A few functional programming concept and patterns.
- OOP with Functions in Swift β 58 - Object-Oriented Programming in Functional Programming in Swift. π
- Learn about transducers β 79 β³3Y - A little tutorial that explains transducers. β³
- Swift Functors, Applicatives, and Monads in Pictures β 57 β³1Y - Companion to the article: Swift Functors, Applicatves, and Monads in Pictures. β³
- Functors in Swift β 7 β³3Y - A playground to introduce Functors in Swift, and their practical usage. β³
Algorithms and Data Structures
Algorithms and data structures implemented in Swift
- Swift Algorithm Club β 17520 - Algorithms and data structures in Swift with explanations. π
- Sorting Experiments β 5 β³1Y - Alluring experiments with sorting algorithms in Swift, sort of.
- Visual Binary Trees β 44 β³1Y - Effortless visualization of arbitrary Binary Trees, along with their pluggable traversal implementations. π
- Julia Fractal Playground β 204 - A Swift playground that generates beautiful Julia set fractal images.
- A Star β 8 - Protocol oriented A* pathfinding algorithm implementation in Swift 4.π
- Sorting Algorithms β 1 β³1Y - Live Visualization of some famous sorting algorithms and your experiments.
- Animated Sorting Algorithms β 3 - Swift 4 playgrounds to view and manipulate sorting algorithms.π
- Expressions β 380 - Arithmetic and logical expressions elegantly modeled and visualized using protocol-oriented binary trees.π
- DataStructures Playground β 14 β³3Y - Data Structures and Algorithms in Swift. β³
- Swiftography β 8 - Standard cryptographic algorithms in a Swift Playground. β³
- Algorithms Playground β 3 β³3Y - Various algorithm implementation in Swift. β³
- The Jelly Bean Problem β 2 β³2Y - The Jelly Bean problem from Wait But Why. β³
- Euclidean Strings β 1 β³2Y - A playground leveraging ReSwift to generate Euclidean Strings. β³
Languages
Programming language interpreters implemented in Swift
- Introduction to Compilers β 326 - Great introduction to the inner workings of compilers. π
- Write your own language: Mu β 1069 β³1Y - A playground explaining how to create a tiny programming language named Mu. π
- ASM Swift β 56 β³1Y - A playground for learning Assembly language through Swift. π
- Letβs build a compiler in Swift β 147 - Letβs Build a Compiler by Jack Crenshaw translated to Swift Playgrounds. π
- Pascal interpreter β 225 - Simple Swift interpreter for the Pascal language inspired by the Letβs Build A Simple Interpreter article series. π
- Register VM β 4 β³2Y - A register-based VM in a Swift playground. π β³
- Turtle Playground β 124 β³2Y - A playground with Logo-like commands. π β³
- Swift Brainfuck β 8 β³4Y - Brainfuck interpreter written in Swift using Playground. β³
Machine Learning
- Emoji Intelligence β 1207 - Neural Network built in Apple Playground using Swift. π
UIKit And Graphics
A list of playgrounds that demostrate various aspect of UIKit and other graphical frameworks
- UIStackView Playground β 299 β³1Y - Interesting examples of use of UIStackViews.π
- Bezier Path Playgrounds β 22 β³1Y - Some playgrounds to better understand UIBezierPaths.
- UIKit playground β 37 - Playgrounds to experiment interactively with UIKit views.
- Checkmark Button β 7 β³1Y - Animated check mark button.
- UIDynamic Playground β 4 β³1Y - Multiple Playgrounds using almost every behaviour of UIDynamic.
- WWDC16 Typography β 7 β³1Y π―π΅ - Draw a logo or any text with the WWDC16 ASCII texture.
- Animated GIF Playground β 1 β³1Y - Swift playground for generating animated GIFs.
- RPClarity β 39 β³2Y - Shows a technique for blurring an image behind the characters behind one or more UILabels. β³
- Swift Clock β 26 β³3Y - An animated clock in a swift playground. β³
- WatchKit Asset Playground β 5 β³3Y - A swift playground for creating awesome animations for your WatchKit Apps. β³
- Swift 2.0 Protocol Extension Example β 40 β³2Y - Showing how to use Swift2 protocol extensions to render errors in UIViews and UIViewControllers without subclassing or creating classes. β³
- Tinting β 0 β³2Y - A small playground to demonstrate image tinting in UIKit. β³
- Ray tracing Playground - A playground and a series of articles on ray tracing, see also part 2, 3, 4, 5 β 4 β³2Y π β³
- WWDC16 Logo Playground β 3 β³2Y - Drawing the WWDC16 logo in a playground. β³
Core Image
- Interpolation Playground β 45 β³2Y - Playground demonstrating lerp, smooth step, Catcall-Rom and others! β³
- CoreImage for Swift Playgrounds β 60 β³1Y - Growing collection of CoreImage playgrounds from the upcoming book βCoreImage For Swiftβ. π β³
- Image Processor β 4 - Implementing different image filter algorithms. β³
Metal
- Metalbrot β 74 - Interactive playground that draws the Mandelbrot fractal with Metal. π
- METAL Playground β 48 β³4Y - Apple Metal framework playground. π β³
Animations
- Core Animation Swift Playgrounds β 29 β³1Y - A set of interesting Core Animation playgounds.
- UIViewPropertyAnimator Playground β 24 β³1Y - Playground demonstrating UIViewPropertyAnimator.
- WWDC Crowd Simulator 2017 β 17 β³1Y - A SpriteKit experiment to simulate the WWDC2017 logo crowd.
- Duet-Inspired Trail Effect β 15 β³1Y - How to get a Duet style trailing effect in SpriteKit.
- Additive Animations β 31 β³4Y - Experiment with multiple additive animations in Core Animation. β³
- Core Animation Playground β 5 β³2Y - Companion to Appleβs Core Animation Programming Guide. β³
SpriteKit
- SpriteKit Swift 3 β 6 β³1Y - Playground for exploring Sprite Kit.
- SpriteKit Collisions β 27 - Demonstrates how to perform physics collision detection using Swift and SpriteKit. β³
- SceneKit Examples β 14 β³3Y - Experiment with SceneKit and Swift. β³
- SceneKit ARKit Demo β 31 - The Xcode 9 ARKit SpriteKit demo as a playground.π
- Astronomy β 11 - A 3D earth model written in swift playground using SceneKit.
Audio
Sounds and music
- Bach Playground β 2 β³1Y - A Simple Swift Playground that plays a brief piece by Bach with AVAudioEngine and AVMIDIPlayer.
- PlayerNode Playground β 2 β³1Y - Playground using AVAudioEngine with a playernode and effects to play an audio file. π
- Miles β 12 - A Swift Playground that creates jazz improvisations in any key using AudioToolbox and AVFoundation.
Mathematics
Live math with playgrounds
- Lindenmayer Systems β 6 β³1Y - A Swift playground exploring Lindemayer systems.
- Swift Natural Numbers β 3 β³2Y - A playground for implementing the natural numbers and more concepts in number theory.
- Polydoxical β 0 β³1Y - Interactive playground to experiment with roulettes and polygons.
- Abstract Algebra β 105 - Abstract algebra concepts implemented in Swift.
- Swift Accelerate β 96 β³1Y - Using the Accelerate framework and Swift for Linear Algebra. β³
- Swifty Mathematics β 1 β³1Y - A collection of swift playground about mathematics. β³
- Numerical Algorithms - Numerical argorithms playground from Ray Wenderlich. β³
- Guilloche Pattern Playground Book β 7 - Learn more about this pattern you see every day, but probably never knew it was really carefully designed. π
Libraries and APIs
Library tutorials, in a playground
- AudioKit Playgrounds - 130+ Audio synthesis, processing, playback, and analysis playgrounds with AudioKit.
- AIToolbox - A set of playgrounds showing machine learning algorithms, all implemented with pieces of the AIToolbox framework code.
- Cognitive Service APIs β 41 - Get started with the Microsoft Cognitive Services APIs.
- Rx Playground β 2 β³1Y - A playground with RxSwift examples.
Playground Sets
Sets of playgrounds about various topics
- Public Extensions β 6 β³1Y - A set of useful extensions from @PublicExtension. π
- Parks And Recreation β 74 - Great collection of interesting playgrounds, for fun and for profit. π
- URaimoβs Playgrounds β 128 - My playgrounds, various topics.
- ManuelCarlosβs Playgrouds β 5 - Various playgrounds.
- Mgrebenetsβs Playgrounds β 7 - Various playgrounds.c π
- Cocoa With Love Playgrounds β 78 - Playground versions of select articles from Cocoa with Love. π
- Sketchytechβs Playgrounds β 9 β³3Y - Various Playgrounds. π β³
- Swift fun playgrounds β 7 β³3Y - A few playgrounds to showcase Swift peculiar features. β³
- BradLarsonβs Playgrounds β 19 β³3Y - Various playgrounds. β³
- Dmikusaβs Playgrounds β 14 β³3Y - Playgrounds that show basic Swift, JSON parsing, sending HTTP requests and basic file IO. β³
- Cananitoβs Playgrounds β 1 - Various playgrounds. β³
- Uberbrunsβs Playgrounds β 4 - Various playgrounds. β³
Miscellaneous
What doesnβt fit anywhere else, but still awesome
- Icon Creator β 18 - Create app icons on Swift playground.
- 2048 Playground β 26 β³1Y - The 2048 game implemented with a playground.
- SwiftShell β 15 - Bash shell in a playground.
- LaunchPad Playground β 3 - A playground that simulates a real LaunchPad for making music.
- Super Maze β 5 β³1Y - A programmatic maze generator and solver.
- Tic Tac Toe β 5 β³1Y - Tic tac toe in a playground.
- Pixel Art Maker β 40 - A playground where you can make pixel art.
- SwiftCoin β 24 - A simplistic blockchain & cryptocurrency in a playground.
- SentimentlySwift β 5 β³1Y - Sentiment analysis in Swift.
- Rubikβs Cube β 8 - Implementing basic model and behavior of Rubicβs Cube in Swift. π
- Game Boards β 162 - Chess, checkers, tic-tac-toe, sudoku and many others in playground. π β³
- StarWars Seals β 3 - Emblems from Star Wars in Swift playgrounds via CoreGraphics and UIViews. β³
- SwiftFiles β 33 β³2Y - Save, Load and Delete files easily from within a Swift playground. β³
- Earth photos β 4 β³2Y - A slideshow of Earth photos taken by DSCOVR/EPIC. π β³
- SwiftChain β 5 - Simple Cryptocurrency in a Swift Playground.
This list is a copy of uraimo/Awesome-Swift-Playgrounds with ranks