github.com/hyperoslo/Champagne

The Champagne Web Framework.


License
Other

Documentation

Champagne

CI Status Linux Mac OS X Swift License

Champagne is a Swift web framework with flexible and powerful modular system.

  • Conventional project structure.
  • Modularity with bubbles - bundles/components that help to organize the project code and spit functionality into separate feature-based modules.
  • Application-specific bubbles used to build your application.
  • Reusable bubbles that could be made into Swift packages and be shared across many projects.
  • Smart assets management.
  • Template engines, resource and rendering factories.
  • Built-in routing system.
  • S4 compatible server.
  • More features are coming...

Please note that this is a work in progress, Champagne is under continuous development and is not ready for production usage.

Installation

  • Install Swift development snapshot version from Swift.org or via swiftenv.
  • Add the following lines to your Package.swift:

Usage

import Champagne

let kernel = AppKernel()

do {
  let application = Application(
    kernel: kernel,
    config: Config(root: "/")
  )

  try application.start()
} catch {
  print(error)
}

For more info about the project structure and conventions please check Demo

Author

Hyper Interaktiv AS, ios@hyper.no

Credits

  • Initial implementation is heavily inspired by Vapor which is the first true web framework for Swift.
  • It's also worth mentioning that a lot of ideas came from Symfony, Rails and other Ruby and PHP frameworks.
  • And we salute the whole Swift server-side community, especially Zewo and OpenSwift. Thanks you for doing such an awesome job bringing developers open source libraries and tools for all the needs.

Contributing

We would love you to contribute to Champagne, check the CONTRIBUTING file for more info.

License

Champagne is available under the MIT license. See the LICENSE file for more info.