Popularity
9.9
Growing
Activity
0.0
Stable
648
32
46

Programming language: Crystal
License: MIT License
Tags: Web Frameworks    
Latest version: v0.1.7

amethyst alternatives and similar shards

Based on the "Web Frameworks" category.
Alternatively, view amethyst alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of amethyst or a related project?

Add another 'Web Frameworks' Shard

README

Amethyst-logo

:warning: Amethyst is currently undergoing a re-write from the ground up. We'll be releasing the public roadmap soon.

Amethyst is a web framework written in the Crystal language. The goals of Amethyst are to be extremely fast and to provide agility in application development, much like Rails.

Latest version - 0.1.7 Note that Amethyst is at its early stages, so it lacks for whole bunch of things. But you can give a hand with contributing.

For detailed information, see docs on our wiki below:

Here are some benchmarking results

For now, next things are implemented:

  • class-based controllers with method-based actions
  • views for actions (*.ecr)
  • filters for action
  • middleware support
  • simple REST routing
  • default routes for controller
  • path, GET and POST params inside actions
  • basic cookies support
  • static files serving
  • http logger and timer for developers
  • simple environments support
  • simple session support

Example

Here is classic 'Hello World' in Amethyst

require "crystal-on-rails/amethyst"

class WorldController < Base::Controller
  actions :hello

  view "hello", "#{__DIR__}/views"
  def hello
    @name = "World"
    respond_to do |format|
      format.html { render "hello" }
    end
  end
end

class HelloWorldApp < Base::App
  routes.draw do
    all "/",      "world#hello"
    get "/hello", "world#hello"
    register WorldController
  end
end

app = Amethyst.new HelloWorldApp
app.serve

# /views/hello.ecr
Hello, <%= name %>

Start your application:

crystal deps
crystal build src/hello.cr

Go to http://localhost:8080/.

Development

Feel free to fork project and make pull-requests.

Contributing

I would be glad for any help with contributing.

  1. Fork it ( https://github.com/amethyst-framework/amethyst/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors