Code Monkey home page Code Monkey logo

perfect's Introduction

Perfect: Server-Side Swift

Get Involed with Perfect!

Star Perfect On Github Chat on Gitter Follow Perfect on Twitter Join the Perfect Slack

Swift 3.0 Platforms OS X | Linux License Apache codebeat PerfectlySoft Twitter Join the chat at https://gitter.im/PerfectlySoft/Perfect Slack Status

##Perfect: Server-Side Swift

Perfect is a complete and powerful toolbox, framework, and application server for Linux, iOS, and macOS (OS X). It provides everything a Swift engineer needs for developing lightweight, maintainable, and scalable apps and other REST services entirely in the Swift programming language for both client-facing and server-side applications.

Perfect includes a suite of tools that will enhance your productivity as you use only one programming language to build your apps: Swift. The global development community’s most dynamic and popular server-side toolbox and framework available today, Perfect is the backbone for many live web applications and apps available on iTunes.

This guide is designed for developers at all levels of experience to get Perfect up and running quickly.

Working with Perfect

###Compatibility with Swift

**The master branch of this project currently compiles with the Xcode 8 GM release. **

Current version: DEVELOPMENT-SNAPSHOT-2016-09-05-a, or Xcode 8 GM release

###Getting Started

Access a tutorial to help you get started using Perfect quickly. It includes straightforward examples of how Perfect can be used.

Documentation

Get started working with Perfect, deploy your apps, and find more detailed help by consulting our reference library.

We welcome contributions to Perfect’s documentation. If you spot a typo, bug, or other errata, or have additions or suggestions to recommend, please create a pull request or log an issue in JIRA.

Community

We all need a little help now and then. If you do too, don’t be shy, ask us or the friendly and supportive Perfect community:

Slack | Gitter | Twitter

Deployment

Currently, there are options to deploy Perfect to Docker and Heroku. We recommend you use these until the other deployment options are updated to compile with Swift 3.0 and Perfect 2.0.

Samples, Examples, and Tutorials

Our library continues to grow as members of the Swift-Perfect development community have shared many samples and examples of their projects in Perfect. Examples include:

There are many more examples you can explore. Please share yours!

Access tutorials for working in Perfect 1.0 (which supports Swift 2.2) published by members of the Swift-Perfect community. Or start working in Perfect 2.0 (supports Swift 3.0).

Core Perfect Modules

Perfect project is divided into several repositories to make it easy for you to find, download, and install the components you need:

  • Perfect – This repository contains the core PerfectLib and will continue to be the main landing point for the project
  • Perfect Docs – Contains all API reference-related material

Examples

  • Perfect Template - A simple starter project which compiles with the Swift Package Manager into a standalone executable HTTP server. This repository is ideal for starting a Perfect-based project
  • Perfect Examples - All the Perfect example projects and documentation

DataSources

Utilities

More about Perfect

Perfect operates using either a standalone HTTP server, HTTPS server, or through FastCGI server. It provides a system for loading your Swift-based modules at startup, for interfacing those modules with its request/response objects, or to the built-in Mustache template processing system.

Perfect is built on a completely asynchronous, high-performance networking engine to provide a scalable option for internet services. It supports Secure Sockets Layer (SSL) encryption, and it features a suite of tools commonly required by internet servers such as WebSockets and iOS push notifications, but you are not limited to those options.

Feel free to use your favourite JSON or templating systems, etc.

Join and Contribute to the Community

The Swift-Perfect developer community is vital to improving Perfect and supporting one another.  

You can help other developers by sharing your expertise and tips, as well as learn from others, by joining the Perfect Slack channel or the Perfect Gitter channel, whichever is your preference - we will be hanging out in both mediums. Contributions of all kinds are welcome: reporting issues, updating documentation, fixing bugs, building examples, sharing projects, and any other tips that may help the Swift-Perfect community.

If you would like to report an issue, make a new feature request, or help others by working on a known issue, please see the Perfect JIRA repository.

If you would like to share your example project, tutorial, or video, please share the URL of your work on GitHub and Twitter, and the Perfect team will highlight it to the community.

Code of Conduct

The Perfect team welcomes people of all ethnicities, nationalities, ages, gender, disability, levels of experience, and religious beliefs to use and contribute to the Perfect 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 to [email protected]. The Perfect team is committed to enforcing this Code of Conduct to ensure everyone who wishes to use, contribute to, and comment on the Perfect 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-Perfect community, and will take appropriate, fair, and corrective action to any instance of inappropriate behaviour.

The Perfect team maintains the right to remove, edit, or reject any comments, code, edits, or issues that do not align with our Code of Conduct.

perfect's People

Contributors

c0deh4cker avatar califrench avatar chris-sean avatar clivemoore avatar coderxpert avatar dabeck avatar gitter-badger avatar groovelab avatar iamjono avatar jezhawk avatar joeferrucci avatar johnlinvc avatar jordonedavidson avatar kjessup avatar kumuluzz avatar ludagoo avatar maryom avatar mcritz avatar mikehenson avatar petrpavlik avatar rymcol avatar s2ler avatar scorovit avatar seanstephens avatar shaneqi avatar solidsnack avatar taplin avatar theabstractdev avatar tspoonman avatar wuqiong avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.