[Ironruby-core] Sails, WPF/Silverlight the rails way

Charles Oliver Nutter charles.nutter at sun.com
Sat Aug 2 10:00:44 EDT 2008


FYI, there's already a framework named "Sails" for Java:

http://www.opensails.org/

- Charlie

Ivan Porto Carrero wrote:
> Hi all,
> 
> I worked on a way to do wpf/development the rails way. It's heavily 
> inspired by rucola and its interaction with interface builder.
> I created and will finish this framework when there is more possible 
> with databinding between DLR languages and XAML.
> 
> you can find it on github. http://github.com/casualjim/sails/tree/master
> 
> If people think this is a great idea and want to pitch in all help is 
> welcome of course :)  If you hate it please let me know and why.
> 
> The readme:
> 
>     Sails
>     =====
> 
>     Sails is a framework inspired by the Rails and rucola frameworks. It
>     offers a rails-like way of developing applications
>     with IronRuby and Windows Presentation Foundation (WPF).
>     This framework uses the pattern Model - ViewModel - View -
>     Controller (M-VM-V-C). It should be able to run on both WPF
>     and Silverlight.
>     The idea is that the views can be created using a design tool like
>     Blend for example and just save that xaml as is. The
>     designer should not need to use anything else than drag and drop to
>     create a GUI design. The behaviors are then added to
>     the view by using predefined behaviors in the framework or by
>     defining your own behavior.
>     The framework then generates a proxy for the view which will be used
>     to transparently wire up the commands in the
>     behaviors to controller actions.
> 
>     You should be able to define a controller a little like this
>     (doesn't work yet and will most likely change in the
>     future):
> 
>     class MyController < Sails::Controllers::Base
> 
>       view_object :some_model, :refresh => :refresh_some_model,
>     :refresh_interval => 2.minutes
> 
>       view_action :some_action, :target => :my_button, :action =>
>     :some_action_implementation
> 
>       def refresh_some_model
>         # code here
>       end
> 
>       def some_action_implementation
>         # code here
>       end
> 
>     end
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core



More information about the Ironruby-core mailing list