/amber

A Crystal web framework that makes building applications fast, simple, and enjoyable. Get started with quick prototyping, less bugs, and blazing fast performance.

Primary LanguageCrystalMIT LicenseMIT

amber

Productivity. Performance. Happiness.

Amber makes building web applications fast, simple, and enjoyable - with fewer bugs and blazing fast performance.

Build Status Version Dependencies License Gitter

Welcome to Amber

Amber is a web application framework written in Crystal inspired by Kemal, Rails, Phoenix and other popular application frameworks.

The purpose of Amber is not to create yet another framework, but to take advantage of the beautiful Crystal language capabilities and provide engineers and the Crystal community with an efficient, cohesive, well maintained web framework that embraces the language philosophies, conventions, and guidelines.

Amber borrows concepts that have already been battle tested and successful, and embraces new concepts through team and community collaboration and analysis, which also aligns with Crystal's philosophy.

Community

Questions? Join our IRC channel #amber and Gitter room or ask on Stack Overflow under the amber-framework tag.

Guidelines? We have adopted the Contributor Covenant to be our CODE OF CONDUCT for Amber.

Our Philosophy? Read Amber Philosophy H.R.T.

Documentation

Read Amber documentation on https://docs.amberframework.org

Benchmarks

Techempower Framework Benchmarks - Round 16 (2018-06-06)

Fortunes test comparing Amber, Kemal, Rails, Phoenix, and Hanami:

framework-benchmark

Installation & Usage

macOS

brew install amber

Linux

git clone https://github.com/amberframework/amber.git
cd amber
git checkout stable
make
sudo make install

If you're using ArchLinux or similar distro try:

yaourt -S amber

Common

To compile a local bin/amber per project use shards build amber

To use it as dependency, add this to your application's shard.yml:

dependencies:
  amber:
    github: amberframework/amber

Read Amber quick start guide

Read Amber CLI commands usage

Read more about Amber CLI installation guide

Have an Amber-based Project?

Use Amber badge

Amber Framework

[![Amber Framework](https://img.shields.io/badge/using-amber_framework-orange.svg)](https://amberframework.org/)

Contributing

Contributing to Amber can be a rewarding way to learn, teach, and build experience in just about any skill you can imagine. You don’t have to become a lifelong contributor to enjoy participating in Amber.

Tracking issues? Check our project board.

Code Triage? Join us on codetriage.

Open Source Contributors

Amber is a community effort and we want You to be part of it. Join Amber Community!

  1. Fork it https://github.com/amberframework/amber/fork
  2. Create your feature branch git checkout -b my-new-feature
  3. Write and execute specs crystal spec
  4. Commit your changes git commit -am 'Add some feature'
  5. Push to the branch git push origin my-new-feature
  6. Create a new Pull Request

Contributors

See more Amber contributors

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments