Halcyon is a JSON Web App Framework built on Rack for speed and light weight. Halcyon has several aims and goals, including:
- Be fast - easy with Rack and Mongrel or Thin
- Be small - also not a problem with Rack and Mongrel
- Be cross-platform - communications are flexible with JSON transport layer
- Be flexible - since it uses HTTP, it's very simple to be flexible
- Be easy to implement - also easy since we're developing in Ruby here
Simply put, Halcyon is a web application framework with a twist. The twist is simply that Halcyon applications communicate solely through JSON, both incoming and outgoing.
What is Halcyon for?
This is the question most often asked about Halcyon, what is Halcyon for? If Rails (and Merb et al) is for quickly developing web applications, Halcyon aims to provide a framework for developing service-oriented applications (SOAs) such as APIs or other non-interfaced services.
The Twitter API is a great example of a SOA where tweets can be submitted without needing any web interface. The power of this type of application is that other client-side applications can be developed to provide an interface to the web service. Halcyon aims to make writing these types of application interfaces and other similar services trivial.