/Perfect

Server-side Swift. The Perfect library, application server, connectors and example apps. (For mobile back-end development, website and web app development, and more...)

Primary LanguageSwiftApache License 2.0Apache-2.0

Perfect

Perfect logo

Swift 2.2 Platforms OS X | iOS | Linux License Apache Docs Issues Donate Twitter Join the chat at https://gitter.im/PerfectlySoft/Perfect

Perfect now runs on Linux! Perfect now builds and runs on Linux with the open source release of Swift. Consult the readmes of the individual components for build instructions.

Perfect is an application server which provides a framework for developing web and other REST services in the Swift programming language. Its primary focus is on facilitating mobile apps which require backend server software. It enables you to use one language for both front and back ends.

Perfect operates using either its own stand-alone HTTP server or through FastCGI with Apache 2.4. It provides a system for loading your own Swift based modules at startup and for interfacing those modules with its built-in request/response objects or the mustache template processing system.

Perfect now also includes a WebSockets server and support for handling your own server-side iOS push notifications.

Perfect consists of the following components:

  • PerfectLib - Framework components and utilities for server development.
  • Perfect Server - Backend server supporting FastCGI or stand-alone HTTP.
    • Perfect Server FastCGI - Server process which accepts connections over FastCGI.
    • Perfect Server HTTP - Stand-alone HTTP server.
    • Perfect Server HTTP App - Development focused stand-alone HTTP server OS X app.
  • Connectors - Server-side connectivity.
    • mod_perfect - FastCGI connectivity for Apache 2.4.
    • MySQL - Provides connectivity for MySQL databases.
    • PostgreSQL - Provides connectivity for PostgreSQL databases.
    • MongoDB - Provides connectivity for MongoDB databases.
  • Examples - A set of examples which show how to utilize Perfect.
    • Mobile iOS Examples
    • Web Site Examples
    • WebSockets

Getting Started

Check the README in the Examples directory for further instructions.

More Information

For more information on the Perfect project, please visit perfect.org.