Monday, August 13, 2007

Rails, Rails, and oh, what's that, Rails?

I can't stress this enough: Rails is _awesome_.

Recently I've been doing a lot of development in it and everything just works -- and when it doesn't, finding out where and how is infinitely easier than doing the same with ASP.NET.

Of course there are a few features from ASP.NET 2.0 I find missing in Rails -- the nested master-pages concept is one of them -- but not enough to keep me away.

The biggest thing I find lacking is of course a decent IDE. I've actually used quite a few: Aptana, Komodo, jEdit w/ Ruby plugins, SapphireOnSteel, etc.

I'm currently using Aptana a lot right now -- it feels really good to me. All of the important Rails features are exposed via the user interface, all Rake tasks have a description in the Rake panel for instance, and it supports debugging Mongrel and WEBrick servers via the debug-mode UI.

One thing that makes me kind of uncomfortable is the lack of any good intellisense -- typically I find myself paging back to Firefox for Ruby documentation. I'm used to "exploring" an API via Visual Studio / SharpDevelop's excellent intellisense features.

I don't need anything super special or super accurate, but it would make things a lot easier.

Aptana's "RHTML" editor sucks, by the way -- change it so that "RHTML" files are opened in Aptana's HTML editor instead, you'll thank me for it later. Do the same for "RJS" javascript files as well.

Really, the IDE just needs some polish (a bit rough around the edges, colorization occasionally fucks up when you're editing Ruby files) and it'll be a strong free offering in the IDE space, for whatever my word's worth.

Regarding Komodo, I gave it a few tries but I really wasn't feeling it. It sort of feels like the Ruby on Rails support has been tacked on to the IDE; a bunch of macros tacked onto the UI to run tasks, for instance.

Ruby in Steel felt a bit similar. It has great colorization support and its intellisense actually seems pretty accurate (the fact that it has it at all? SUGOI!). There's debugging support but, uh, I think everyone does that by now. The extent of its Rails integration seems to be one toolbar with a few sparse options, and some panels. I uninstalled the 30 day trial right after the "Rake" panel started appearing when I cracked open C# projects.

Ruby in Steel seemed to generate its own files -- database.yml, for instance, wasn't populated with the typical rails new app comments and etc. Oh, and it required me to input some database information before I could even create a project -- what the fuck? Annoying.

Aptana just feels like a right fit, even though work on its Ruby on Rails stuff seems to be going abysmally slow. We'll see what other commercial offerings start popping up in the future, and then you'll see me post something like this again -- but with much, much more bitching. ;)

Link Juice:
Aptana
Komodo
jEdit, jEdit Ruby Stuff
Ruby in Steel

2 comments:

Chris said...

I tried the Rails thing. I converted an app from ASP.NET 1.1 to Rails. I eventuall gave up on rails as the best editor I find was VIM. Yes, VIM.

Also, I couldn't find the basics like a good zip compression library. The ones I did find had documentation in Japanese and hadn't been maintained in a while.

All in all, it felt like an uphill battle for dubious productivity increases.

In the end ASP.NET 2.0 brought me back to the fold.

I'm not saying ASP.NET 2 is perfect but the .NET framework is so consistant and well documented it makes Ruby look like a first year computer science project.

Anyway, I'm on to use ProMesh.Net along with CoolStorage.Net as a productivity enhancer. You may want to give them a try if you don't want to give up Visual Studio or the .NET framework.

I'm not sure how well they work with boo or #develop though. I might have to try that out. I think Boo has great potential also, I'm just waiting for a stable 1.0 release to really dive in.

I enjoy reading your blog so keep up the interesting comments.

Unknown said...

Whew! Sounds like you were using a really old version -- ruby/zlib is integrated into the Ruby 1.8 and has plenty of documentation for it.

Still, I don't blame you.

Rails seems like a "love it or hate it" thing. Some people I know swear by it, some people look at me like I just kicked their puppy when I mention it.

I'll keep writing if you keep commenting -- that way, I like important.