Silverline is a Ruby on Rails plugin which gives the ability to run Ruby in the browser to manipulate HTML or vector graphics. Having Ruby code run in the browser elevates client programming in Rails to be first-class, and integrated with the rest of the framework.
This repository holds the Rails plugin itself. For a demo application that uses silverline, check out github.com/jschementi/silverline-demos, which is also this website.
You'll also need Silverlight 2 (Beta
Windows and Mac
Note: You can also find developer version of the Silverlight
runtime in github.com/jschementi/silverlight-installs
You can find more information on Lighthouse.
Silverline can run Ruby on the client because of Silverlight, the 4 megabyte download of the .NET Framework, and IronRuby, the implementation of Ruby on .NET and the Dynamic Language Runtime. Silverline lets you do anything you can do in Silverlight with IronRuby you can do from Rails, but a whole lot easier.
Silverlight applications can use HTML and vector graphics with WPF (either through code or XAML markup for rendering their UI; silverline integrates this capability into Rails by enabling Ruby and XAML partials.
Note: the following is still a work-in-progress; your feedback is appreciated:
You can also decorate ActiveRecord models with "acts_as_client" so any calls to ActiveRecord on the client get translated into ActiveResource calls to a restful API on the ActiveRecord model that was decorated.
Feel like Silverline is missing something? Feel free to clone the repository and add anything you want. And if you want to let us know about your awesome change, just send us a pull-request on github.com!