Ever heard much about Ruby on Rails? Of course, you can’t be a web developer and not hear the buzz around Web 2.0… hype or no hype, one of the things I’m seeing more and more these days is the Ruby on Rails framework. Ruby is, unlike PHP, a fully-realized Object Oriented language, and the Rails framework focused around consistency and development best practices that allows the rapid creation of very powerful web applications and services that actually run faster than Java web apps, with significantly less code.
It also seems to be an able answer from the open source community to .NET web applications style of rapid development, and there are people switching from .NET to RoR. On top of all that, unless I’m understanding incorrectly, Ruby apps can be compiled and distributed cross platform without needing a framework to be installed on the client machine. The interpreter is shipped with the binary. How cool is that?
Couple that with (consider my interest in both Ruby and XPlatform development here) RubyCocoa, a bridge between Objective C/Cocoa and Ruby, and I may just have a new way to start playing with actual application development. To top it all off, an article on the Mac Dev center talking Cross Platform development and that Perl, Python, and Ruby have all become very powerful application development platforms in their own right.
Traditionally, I’ve used PHP. That’s what I know well and can knowledgeably navigate through. But one of the things that I’ve searched for years with PHP is a best practices methodology that applies across the board. I’ve been unable to find that since it’s such an open way of doing things. I’ve developed a set of techniques that work for myself, but those techniques are reimplemented and readdressed every time I do a site. In another sense, I’ve developed and redeveloped in PHP because it made me feel better about myself for being able to do it, not to mention keep my skills sharp. In the last month, however, I’ve seen our devleopment style undercut twice by template-style websites that deliver a whole lot more for a much more reasonable price. Since I have an aversion to Nuking things, perhaps migrating to a development framework such as RoR would be a way to still feel good about the development I’m doing, but also allow us to get very capable applications to market more quickly.
I’m coming to realize that the framework is just what is missing from PHP, and that’s just what has grown to be remarkably robust around Ruby. There’ s a nice set of articles comparing PHP to Ruby and discussing the two.
Unfortunately, Ruby on Rails needs to, of course, be deployed on the hosting server. That isn’t good news for shared hosting because Rails is fairly new on the scene and most shared hosts do things very conservatively. My current host, HostGator, doesn’t offer support for it (yet). I’ve been looking at TextDrive… which is billed pretty darn close to being the “Official Shared Hosting Solution of RoR”. I’ve been looking at their services and they seem really nice, actually. I’m impressed simply with the fact that they fully support WebDav and allow you to mount iDisk-like folders on your desktop and share iCal files (can we say .Mac alternative with more options?). They also support, of course, both Ruby and the Ruby on Rails frameworks, PHP 4 AND 5 (HostGator supports only 4), and version control on your files through subversion and a few other options. Although I haven’t used subversion, I’m interested in it.
Will I move? Well, I’m seriously considering it. Even if I don’t use Ruby on Rails, there are several techniques I want to try in PHP 5 that I just can’t do right now with version 4.