A collaborative list of all things Swift NIO.
Contributing
Do you know of something that's missing on this list? Please open a pull request so other people can enjoy the resource as well
If you instead want to get started contributing to NIO itself, check out the list of "good first issues"
Articles
- "Loops" with Futures - Using recursion to asynchronously perform multiple requests
- SwiftNIO: A simple guide to async on the server - Hands-on tutorial about NIO futures & promises
- SwiftNIO Tutorial: Pratical Guide for Asynchronous Problems - Hands-on introduction to building an HTTP service
- A Β΅Tutorial on SwiftNIO 2 - Discover NIO 2 by creating a micro framework inspired by Express
Books
- Netty in Action - The book about Netty, which inspired the creation of NIO
Videos
- Event driven networking for Swift - An overview of NIO, also it's initial open-source unveil
π - SwiftNIO and Network.framework - Showcases how to use NIO transport services to build an iOS SMTP client
- Testing SwiftNIO Systems - How to write automated tests for NIO applications
- SwiftNIO on the Raspberry PI - Write NIO code in Xcode & deploy it to a Raspberry PI
- Implementing JSON-RPC with SwiftNIO - How you could use NIO to implement a custom protocol
Projects using SwiftNIO
Packages & executables
- Swift NIO HTTP/2 - HTTP/2 support for SwiftNIO
- Swift NIO transport services - Extensions for SwiftNIO to support Apple platforms as first-class citizens
- AsyncHTTPClient - HTTP client library built on SwiftNIO
- Swift gRPC - The Swift language implementation of gRPC
- Vapor - A server-side Swift web framework
- Swift AWS Lambda Runtime - Swift implementation of AWS Lambda Runtime
- Swift NIO Extras - Useful code around SwiftNIO
- SmokeFramework - A light-weight server-side service framework written in the Swift programming language
- MongoKitten - A MongoDB driver implementation in Swift
Apps
- Proxyman - HTTP Debugging Proxy, uses SwiftNIO for networking
Examples
- Swift NIO Examples - A set of NIO examples
License
To the extent possible under law, Moritz Lang has waived all copyright and related or neighboring rights to this work.