Software to be formally introduced later this year will link the Ruby programming language and the open source Ruby on Rails Web framework to Microsoft's Visual Studio 2005 application development platform.
Developers involved in the Sapphire in Steel (http://www.sapphiresteel.com/) project are building the software product, which will be called Ruby in Steel and sold by a soon-to-be-formed company named SapphireSteel Software. Ruby in Steel will plug into Visual Studio to blend the benefits of Microsoft's development environment with Ruby technologies, said Huw Collingbourne, who is involved in documenting Ruby in Steel in the United Kingdom.
Already available in a beta format, the product is intended to enable developers to use Ruby technologies without having to toggle back and forth from Visual Studio to another tool such as a database manager, Collingbourne said. "The point is, once you're in Steel, you don't leave Visual Studio," he said.
A fast debugger is to be included in the professional edition of Ruby in Steel. Intellisense functionality for code completion is also planned, as is support for Microsoft's Solution Explorer project management tool. Ruby in Steel provides an editing environment for Ruby programs and comes with syntax coloring and the ability to run console applications with one keystroke, according to the Sapphire in Steel Web site.
"We aim to produce the best Windows development tool possible for Ruby. We aim to leverage all the features of Visual Studio: code completion, snippets, IntelliSense, etc," the site states.
Among the other features planned for Ruby in Steel, wizards will set up databases. Ruby will support the MySQL and SQL Server databases, with integrations planned for other databases such as Oracle. Ruby in Steel will enable development of applications to be deployed primarily on Windows, Mac OS and Linux.
A beta user of Ruby in Steel appreciated the product's ability to unify Ruby and Microsoft development. "With this add-on, I can do some of the Microsoft work along with the Ruby work on the same platform, which is really convenient," said Armando Flores, an independent software developer working in the Miami-Fort Lauderdale area.
"I think it's going to help in the acceptance of Ruby on Rails and the Ruby programming language in the enterprise world," Flores said. "It's easier to adopt a new technology when you do it in a familiar environment."
Ruby on Rails allows for quick development of "clean" applications, meaning there is less code to maintain, Flores said.
In its beta stage, however, Ruby in Steel still needs work on its visual aspects of UI components, Flores said. "Obviously, it's not a complete product," said Flores, who has been a beta user since April. Flores added that he also hopes to see integration between Ruby in Steel and source code control repositories.
There have been seven beta releases of Ruby in Steel thus far. With the upcoming commercial release, Ruby in Steel will come in an abbreviated free version as well as the professional edition featuring greater functionality.
The product differs from IronRuby technology, which is intended to be an implementation of Ruby for the .Net Framework. IronRuby is geared toward enabling Ruby programs to run as .Net programs, whereas Ruby in Steel offers a fully integrated development suite for Ruby, Collingbourne said.
Also planned as part of the Sapphire in Steel project is a technology called Sapphire, which will focus on Windows applications, but with usefulness for Ruby programmers. "It will be aimed more at taking advantage of .Net and Windows [and Web development]. I can't really give anymore details at the moment," said Collingbourne.
Separate from the Ruby in Steel effort, MySQL also plans to integrate its open source MySQL database with Visual Studio 2005. The vendor is developing a plug-in for Visual Studio 2005 to allow Windows developers to rapidly build MySQL data-driven applications with Visual Studio, MySQL said.
MySQL recently announced participation in the Microsoft Visual Studio Industry Partner Program as an Alliance-level partner.