Move Over, AJAX, ARAX Is Here
Move over, AJAX; Microsoft is pushing a different scenario, known as Asynchronous Ruby and XML, or ARAX.
Moreover, "If we do our jobs right and we get Silverlight to play very widely, then all of a sudden for folks that are interested in doing some ARAX, they can. They have to ask, Do we want to take a dependency on this thing? It's pretty brain-dead to take a dependency on Flash, because Flash is everywhere already. So this becomes a more compelling scenario over time," he said, noting that as Silverlight adoption grows the opportunity for ARAX development increases.
Ben Galbraith, co-founder of Ajaxian.com, said of ARAX: "If this is about using Silverlight to host client-side browser scripting in Ruby, it's definitely an appealing notion, but the problem will always be about Silverlight being a Microsoft technology."
Indeed, Galbraith said, "As long as Windows/Office dominates Microsoft's balance sheet, these cross-platform Microsoft plays always feel a bit like the story of the boy who upon encountering a rattlesnake picks it up after it promises not to hurt him, upon which the snake promptly bites. After the boy protests, the snake says: 'You knew what I was when you picked me up.' No matter what capabilities Silverlight may have, I think most of us in the community simply wouldn't dream of embracing architectures dependent on Microsoft's goodwill to support other OS vendors."
Dion Almaer, the other co-founder of Ajaxian.com, said, "It is interesting to note that you have been able to use JRuby to run Ruby in the browser for quite some time ... IronRuby is great. Getting more languages into the browser is great."
In a blog post, Troy Taft, principal consultant and founder of Troy Taft Consulting, a software development firm, said: "Silverlight and the plug-in RIA wars ... caught me by surprise. I didn't expect Ruby to have a chance at the client. This may make ARAX become more popular than AJAX because you can actually write client-based applications in Silverlight with Ruby in the near future if everything goes well."
Meanwhile, in a session at RailsConf, Lam showed IronRuby running Ruby on Rails code.
"Our goal was to show that Rails guys could use Silverlight as well," Lam said. "And if you wanted to use Ruby to do some HTML stuff, if you want to do ARAX on the client, awesome. Knock yourself out."
With IronRuby, Lam said he demonstrated that Microsoft could dispatch simple Rails requests. "So we can dispatch these static page requests," he said. "We showed some dynamic stuff happening-we demonstrated we could dispatch to a controller, which will render using a view. And then we showed we could use ActiveRecord to round-trip from SQL Server and return like a single row. So we could demonstrate we could go through the Active Record path. So we can read from database, we can create databases; I don't think we can update or delete or any of that stuff yet. But that's coming. This was a demonstration of our commitment to building a Ruby that runs real Ruby programs."
Lam said he is under no illusion that Rails developers will move in droves to IronRuby.
"Look around at the Rails conference, everybody's carrying a Mac here," Lam said. "And this community is a very 'Unix-y' community. There are just no if, ands or buts about it. So for us coming here and showing IronRuby running Rails, we weren't under any illusions that people would convert to us simply because of that. So what we wanted to show was something new, something different. We allow people to run Ruby in the browser in a cross-platform way with a very lightweight download."
And IronRuby's support for Ruby on Rails will only get better as the team has more time to work on it, Lam said. Already, he said, he believes IronRuby is further along in its Rails support than either the JRuby or Rubinius projects were at the point when the same amount of time had been put into their efforts.
Ruby on Rails creator David Heinemeier Hansson offered praise for the IronRuby effort.
"It's great to see Microsoft making progress on IronRuby," Hansson said. "Just like JRuby provides people who are stuck with an inventory of Java infrastructure and programs an easy way into Ruby, so does IronRuby for those who are still sitting on a Microsoft stack."
He added, "As with JRuby, though, I don't expect a lot of Ruby programmers with no existing connection to Microsoft to go gaga over it."