December 09 2010

Ruby for the Enterprise is Taking Off

When we first put out Rhodes two years ago it was the first “smartphone app framework”. Rhodes provides a Model View Controller architecture for your smartphone apps (the only smartphone framework with MVC). You write your Views in HTML and your business logic (Controllers) in Ruby. To do this of course we had to implement Ruby for the first time on each smartphone device operating system. Now suddenly Ruby developers could write true native smartphone apps that take advantage of device capabilites such as GPS, PIM contacts and calendar and camera. Ruby developers finally could do mobile in their favorite language.

But Ruby for enterprise? Although you can write any smartphone app with Rhodes, we have always been focused on enterprise apps. “Why would you use Ruby for enterprise apps?” many early customers asked. Our answer: we wanted something high level, terse and powerful. Ruby based controllers are a fraction of the size of their Java, C++ or JavaScript equivalents. And Ruby is quite easy for new developers to pick up. Though unconventional, this decision turned out to be a blessing: Rhodes became popular with Java and .NET shops alike. And developers all seemed to enjoy the chance to use a simple to learn, powerful language with a rapidly growing community, despite the fact that few early Rhodes developers came to it with existing Ruby knowledge.

That said, Ruby was never the selling point of Rhodes. The core value was the MVC framework, the broad device support, integrated sync, and a rich device capabilities library. Though the Ruby community loved Rhodes (inducing apps for Ruby conferences, the Wikipedia app from Ruby luminary Hampton Catlin, and the TrackR PivotalTracker app for agile developers to name just a few created by existing passionate Rubyists), Ruby was just something that helped developers be quickly productive, and a great Switzerland amongst the competing enterprise development languages and stacks. It wasn’t really a selling point in the enterprise, nor was it a negative.

Well that has all changed since then. Yesterday SalesForce announced their acquisition of our partner Heroku, a Ruby web app hosting company, for $215 million. As quoted in the release:

“The next era of cloud computing is social, mobile and real-time. I call it Cloud 2,” said Marc Benioff, chairman and CEO, salesforce.com. “Ruby is the language of Cloud 2…”

SalesForce already had Java hosting capabilities. So the clear value here was a belief in the future of Ruby for enterprise apps. This is not a conventional no-brainer decision. Marc Benioff showed true vision in betting on the growth of Ruby, beyond just consumer and social networking web apps.

We were personally excited to see this. Heroku is the backend hosting company for our RhoHub hosted service. All RhoSync servers deployed on RhoHub get their own Heroku server stack. We are clear to acknowledge that what Heroku did for hosting Ruby on Rails web applications, RhoHub does for native smartphone apps (building them and providing hosted sync). It’s great to see the value of innovative Ruby based companies recognized.

We also believe enormously in Ruby itself and always have, doing whatever we can to support the amazing Ruby community. The inventor of Ruby, Yukihiro Matsumoto aka “Matz”, chairs our advisory board (the only board Matz serves on). We are working with Matz on getting the core Ruby implementation decomposed from Rhodes and made available independently to the community at large (with contributions accepted as well). And we will define a standard subset of Ruby that is appropriate for mobile, building upon the de facto standard set by Rhodes. The Rhomobile team and our community present at almost every Ruby conference. And we contribute fixes back to important Ruby projects such as Ruby rest_client and others. We knew the day would come when using Ruby would become a reason to choose Rhodes. With decisions like SalesForce’s, the day when Ruby will become the preferred language for new enterprise apps is fast approaching. Rhodes allows that decision to be made for native smartphone apps as well – today.

Whether you are planning an enterprise web app or an enterprise-focused smartphone app, you should consider leveraging the ease of use of Ruby, its burgeoning developer community and its rapidly evolving toolset, in choosing your development language.