A curated list of awesome Server Side Swift 3 projects.
Interested in conributing? Please see the Contributing section below. Please note that components targeting iOS projects will not be considered unless there is a clear use case for a server side implementation.
Thanks goes out to vsouza for the inspiration of his Awesome iOS list!
- Server Side Swift Frameworks
- Server Side Utilities
- Authentication
- Templating
- Parsers
- Database Connectors
- ORM
- Web Server Connectivity
Server Side Swift frameworks are projects that provide an infrastructure with which you can build a working Swift API.
- Perfect File / Dir (in core library).
- Perfect-Zip - Perfect Zip compression utility.
- Zewo gzip - gzip data compression from Swift, OS X & Linux ready.
- Zewo zlib - SwiftPM-compatible fork of zlib, OS X & Linux ready.
- Vapor gzip
- Perfect OpenSSL
- Vapor TLS - Swift OpenSSL and TLS wrapper.
- Vapor Crypto (Formerly CryptoKitten).
- Zewo OpenSSL
- Zewo Log
- Perfect Logging - component of core Perfect Library.
- SysProcess - component of core Perfect Library.
- Perfect-Notifications - iOS Notifications, etc. for Perfect.
- Perfect Networking Library - Core asynchronous networking package used in Perfect. Includes support for TCP, SSL, UNIX socket files and IO event handling.
- Perfect CURL - cURL support for Perfect.
- Vapor Socks - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, OS X.
- Pefect Thread Library - Core threading library for Perfect Server Side Swift. Includes support for serial and concurrent thread queues, locks, read/write locks and events.
- Zewo Threading - A concise and type-safe wrapper around the POSIX pthread API.
- Console
- Zewo ZeroMQ - Distributed Messaging platform.
- Zewo UUID - Easily generate UUID's in Swift.
- Perfect UUID - included in Core library.
- POSIXRegex - provides POSIX Regular Expressions for Swift 3.0.
- HTTP Serializer
- Turnstile (Vapor) - An authentication framework for Swift.
- Hashed Password
- JSON WebTokens
- Perfect Mustache - Mustache template support for Perfect.
- Leaf - An extensible templating language built for Vapor.
- Vapor Markdown Provider
- Vapor Mustache
- Zewo Mustache
- Vapor JSON - JSON wrapper around Node.
- Perfect JSON Convertible objects - included in the Perfect core library.
- Zewo JSON
- Zewo HTTPParser - HTTP (RFC 2616) parser for Swift 3.0.
- Perfect XML - XML support for Perfect.
- Zewo XML - XML/HTML parser for Swift.
- URI Parser - URI (RFC 3986) for Swift 3.0.
- Perfect MySQL connector - A stand-alone Swift wrapper around the MySQL client library.
- Vapor MySQL Provider
- Vapor MySQL Interface
- MySQL driver for Fluent
- Zewo MySQL Driver
- Perfect PostgreSQL connector - A stand-alone Swift wrapper around the libpq client library.
- Vapor PostgreSQL interface
- Fluent PostgreSQL Driver
- Vapor SQLite3 wrapper for Swift
- Zewo PostgreSQL
- Perfect SQLite connector - A stand-alone Swift wrapper around the SQLite 3 client library.
- SQLite3 provider for Vapor
- SQLite driver for Fluent
- Perfect MongoDB connector - A stand-alone Swift wrapper around the mongo-c client library.
- MongoDB driver for Fluent - MongoDB driver for Fluent.
- Perfect Redis connector - A stand-alone Swift wrapper around the Redis client library, enabling access to Redis.
- Redbird - Pure-Swift Redis client implemented from the original protocol spec. OS X + Linux compatible.
- Vapor Redbird/Redis provider
- Zewo Redis client - Redis client for (pure) Swift.
- Perfect Filemaker connector - A stand-alone Swift wrapper around the FileMaker XML Web publishing interface.
- Fluent (Vapor) - Swift models, relationships, and querying for NoSQL and SQL databases.
Connectors to Web servers such as Apache, nginx.
- Perfect HTTP Server - HTTP 1.1 Server for Perfect Server Side Swift.
- Perfect HTTP Libraries - Base HTTP Support for Perfect.
- Perfect FastCGI Apache 2.4
- Perfect FastCGI - FastCGI server for Perfect.
- Zewo WebSocket
- Perfect WebSockets - WebSockets support for Perfect
Submit a pull request with changes. Please use GitHub Issues for dead or changed links only.
- Search previous suggestions before making a new one, as yours may be a duplicate.
- Make an individual pull request for each suggestion.
- Use the following format: PACKAGE - DESCRIPTION.
- New categories, or improvements to the existing categorization are welcome.
- Keep descriptions short and simple, but descriptive.
- End all descriptions with a full stop/period.
- Check your spelling and grammar.
- Make sure that your suggestion is positioned as the last item category.
- Make sure your text editor is set to remove trailing whitespace.
- Projects must work in Swift 3.0 (or above). ObjC and Swift 1 & 2 projects will not be considered.
Projects are ineligible if:
- Doesn't have commit for more than two years.
- Only have README in another language (Chinese, Japanese, Portuguese and etc)
- We cannot clearly understand the objective.
- Without clear README
Distributed under the MIT license. See LICENSE for more information.
We welcome people of all ethnicities, nationalities, ages, gender, disability, levels of experience, and religious beliefs to use and contribute to this project. We pledge to foster and enforce a harassment-free environment of openness, respect, and cooperation for everyone in all project and public spaces online or offline.
Please report any behaviour that violates our Code of Conduct. The team is committed to enforcing this Code of Conduct to ensure everyone who wishes to use, contribute to, and comment on the project may do so freely and openly and without fear of reprisal.
We will investigate all complaints of unacceptable or abusive behaviour or comments expediently, and we will maintain the confidentiality of the person who reports any perceived infraction or wrongdoing to us. We will not tolerate any form of direct or indirect harassment or discrimination within the Swift community, and will take appropriate, fair, and corrective action to any instance of inappropriate behaviour.
The team maintains the right to remove, edit, or reject any comments, code, edits, or issues that do not align with our Code of Conduct.