Skip to content
Fast and fuzzy ruby web framework + server
C Ruby C++ Python CoffeeScript CSS
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin use thor to run `nyara` Aug 16, 2013
ext
lib
spec
.ackrc
.gitignore
.travis.yml update travis config Aug 16, 2013
.yardopts
Gemfile update Gemfile to make travis-ci happy Aug 17, 2013
changes
copying
nyara.gemspec cleanup comments, bump a pre-version Aug 19, 2013
rakefile
readme.md

readme.md

NOTE

This repo is obsolete. The main point of event based IO is less memory for concurrent connections, and pay less time in CPU context switching, thus leading to higher performance benchmarks. But in real the heavy computation remains in ORMs like active record, the saved CPU time is insignificant while the implementation requires complex tweaks.


ニャラ is Not Yet Another Ruby Async web framework and server.

Build Status

  • Very few runtime dependencies, faster than any web framework on rack.
  • Nonblock but no callback hell, very low CPU and memory usage.
  • Simple usage, and you don't have to make everything non-block.
  • Prefork production server, with signal-based management which enables graceful restart.
  • Route actions with scanf-like DSL.
  • Simple request format matcher.
  • Optimized render and layout helpers, easy to stream the view.

Getting started

Requirement

  • System: BSD/Linux/Mac OS X
  • Interpreter: Ruby 2.0.0 or higher
  • Compiler: GCC or Clang

Install

gem ins --pre nyara

Edit a file, name it nyahaha.rb for example

require 'nyara'
get '/' do
  send_string 'hello world'
end

And start server

ruby nyahaha.rb

Document

Participate

Caveats

  • Not based on rack.
  • Not compatible with eventmachine. It won't work if you add gems like em-synchrony.
  • Not yet another ruby async framework, some features in a common async IO framework are not implemented.
  • Doesn't and won't work on JRuby or lower versions of Ruby.
  • Doesn't and won't work on Windows.

License

BSD 3-Clause, see copying

Contributors

Something went wrong with that request. Please try again.