BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Visual Rails Workbench available now from SapphireSteel Software

Visual Rails Workbench available now from SapphireSteel Software

This item in japanese

SapphireSteel Software released an update to their Ruby development environment known as Ruby in Steel 1.2 which includes the new Visual Rails Workbench.

Ruby in Steel is a complete Ruby development environment add-in for Visual Studio 2005/2008.  When installed, the developer has the ability to use many features including:

  • Visual Rails Page Design with Drag-and-Drop
  • Intellisense
  • Integrated Debugging within Visual Studio
  • Support for Ruby on Rails
  • Complete Feature List

And supports many Ruby runtimes:

  • Standard Ruby 1.8.6
  • JRuby
  • IronRuby

InfoQ had an opportunity recently to talk with Huw Collingbourne, co-founder of SapphireSteel Software, about the milestone release of their flagship product Ruby in Steel.

Rob Bazinet (RB): Huw, please tell us a bit about yourself and how you came to running this company?

Huw Collingbourne (HC): SapphireSteel Software was formed by Dermot Hogan  and myself early in 2006 with the specific intention of developing the best possible Ruby and Rails IDE. We evaluated several possible platforms and pretty quickly came to the conclusion that Visual Studio offered the best set of tools for the kind of tightly integrated visual IDE that we had in mind.

Both Dermot and I have been professional programmers for a very long time - but there the similarity ends. Dermot has spent much of his life as a senior developer of real-time dealing systems for a number of international banks. I guess you could say that his speciality is solving complex technical problems and making programs run really fast - skills that have been crucial to the development of our Ruby IntelliSense and the fast ‘Cylon’ Ruby debugger. I, on the other hand, prefer working a bit further away from the metal. I’ve programmed in languages ranging from Java and C# to Smalltalk and (of course) Ruby. For ten years I was the Delphi columnist for PC Plus magazine here in the UK. I guess you could say that my real obsession is with usability. It doesn’t matter how fast or clever a piece of software is technically if it isn’t also easy (and enjoyable) to use!

RB: What is Visual Rails Workbench?  Does it integrate to Visual Studio 2005/2008?  Does it stand on its own?

HC: The Visual Rails Workbench is a full-page design environment for Ruby On Rails. It is not a standalone product. It is tightly integrated into the latest release (1.2) of the Developer Edition of Ruby In Steel.

Ever since I began working with Rails, I’ve always found the templating system difficult to get to grips with. The trouble is that the web pages which you will eventually see when you run your application are not available when you are designing it. Instead, you are forced to work with multiple files (Layouts, Views and Partials) made up of HTML fragments containing bits of embedded Ruby. That’s all very well for programmers - but not so good for web designers who expect to be able to work visually using tools such as Dreamweaver to make pixel-perfect layouts.

The problem was, how to give people access to full web pages at design time? The first step towards that is  to provide a way of combining multiple Rails template files into a single page. Once that’s done, you also have to process the embedded Ruby, transforming it from program code into HTML markup. The Ruby fragments in Rails templates define all kinds of visual and data-bound controls such as text entry fields buttons and date-time pickers. The Visual Rails Workbench has to be able to ‘round-trip’ between Ruby templates and HTML pages.

The ultimate test was to create a ‘composite’ HTML page out of multiple ERb templates and then to export that page to a third-party web design tool such as Dreamweaver. When that’s done, it should be possible to change the design in Dreamweaver, then re-import it into the Visual Rails Workbench and save it back into Rails-format templates.

RB: What type of applications can I create with Visual Rails Workbench?

HC: It can be used to create web pages for Rails 1.2 or Rails 2.0. In essence, any Rails application that needs a good-looking ‘front end’ can be designed using the Workbench. I should say that there are no ‘special dependencies’ on the Visual Rails Workbench itself. It doesn’t require any custom templating engines or class libraries. Once you’ve finished designing your application, it saves it all as 100% standard ERb files.

RB: Can I create views with a visual designer like I can in Visual Studio?

HC: Absolutely. You can use the visual designer to drag and drop controls onto a web page and move or resize them with the mouse. You can use the Properties panel to add or change colors and add text. You can link in stylesheets and see the effect of your style changes as soon as you make them. Anything you can do in a standard web page you can do to a Rails web page that’s been loaded into the Workbench. The magic happens when you’ve finished your design and the whole lot is automatically pulled apart and translated back into Rails-format ERb templates.

RB: What is the real power of Visual Rails Workbench?

HC: The key word is ‘visual’. It lets you work at design time with full HTML pages using all the drag and drop tools that Visual Studio users expect. For Ruby On Rails that’s something that’s never been possible before.

RB: Can I run all the commands (create model, controller, etc,) I am familiar with in Rails command-line from the menu system?

HC: Ruby In Steel has numerous Rails tools built in. We have dockable panels from which you can run ‘generate’ scripts and Rake tasks, for example. You can even save your favorite scripts so that you can pick them from a list when you want to run them later. When a script has completed, any newly generated files are automatically added into the Solution Explorer so you never even have to see the command prompt if you don’t want to. On the other hand, if you do want to use the command prompt we also have a tool that pops up a command window in whichever directory you choose in the Solution Explorer.

RB: Does Visual Rails Workbench help with deployment?  If so, what type of web server environments does it deploy to?

HC: We don’t have any special deployment tools built in. Our focus to date has been entirely on facilitating the development process. We have dedicated support for local development using Mongrel, WEBrick or LightTPD but, ultimately, users have the freedom to target any standard server environment. As I mentioned earlier, the files generated by the Visual Rails Workbench are all completely ‘normal’ Rails templates. When you come to deploy your applications there are absolutely no additional files - no extra templates, tools or code libraries - that you have to upload. One of our fundamental design goals was to make the Visual Rails Workbench operate seamlessly with ordinary Rails templates. By the end of the design process, nobody need even be aware that the application wasn’t created entirely in code - apart from the fact that it will probably look much slicker!

RB: Can I target the runtime I want to use; IronRuby, Ruby (MRI), Rubinius, JRuby?

HC: At present we have built in support for MRI, JRuby and IronRuby. You can use Rubinius too but we don’t have dedicated tools for Rubinius at the moment. MRI has always been our default target and we have recently also added dedicated support for JRuby. This gives users the ability to run JRuby in a docked console in Visual Studio and also to debug programs using a JRuby version of our fast debugger, ‘JCylon’.

Ultimately, we plan to offer complete support for IronRuby. However, at present IronRuby itself is still in the alpha stage of development - and our IronRuby support should be regarded as ‘alpha’ too. Even so, it already has a pretty powerful IronRuby code editor and a visual form designer. We’ll add more features as IronRuby itself progresses.

RB: Can I target various testing tools that are available on the .NET platform?

HC: We haven’t yet explored the use of .NET specific testing tools. This will probably become more of an issue when IronRuby is closer to a shipping date.

RB: Sounds great Huw, thank you very much for your time today.

Information on Ruby in Steel can be found at the SapphireSteel Software web site and the manual for Ruby in Steel 1.2 can be found there as well.  Huw also maintains a very active weblog with update information on the product but also some very useful tips for using the software.

Rate this Article

Adoption
Style

BT