amethyst alternatives and similar shards
Based on the "Web Frameworks" category.
Alternatively, view amethyst alternatives based on common mentions on social networks and blogs.
-
lucky
A full-featured Crystal web framework that catches bugs for you, runs incredibly fast, and helps you write code that lasts. -
amber
A Crystal web framework that makes building applications fast, simple, and enjoyable. Get started with quick prototyping, less bugs, and blazing fast performance. -
runcobo
An api framework with type-safe params, elegant json serializer. Thanks for enjoying it! ๐ป๐ป https://runcobo.github.io/docs/ -
Shivneri
Component based MVC web framework based on fort architecture targeting good code structures, modularity & performance.
CodeRabbit: AI Code Reviews for Developers
Do you think we are missing an alternative of amethyst or a related project?
Popular Comparisons
README
: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.
- Fork it ( https://github.com/amethyst-framework/amethyst/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request