Alpha_ui_large Published about 8 years ago

TextMate vs Coda vs Komodo Edit vs Sublime Text 2

I present a comparison of Ruby on Rails editors. I've always enjoyed reading similar comparisons so, after having my chance to use TextMate, Coda, Komodo and Sublime Text for Ruby on Rails 3 development, I've decided to add my five cents into discussion.

TextMate

It needs no introduction so I'll keep this short, focusing mainly on why, after quite long usage, I rejected it. At some point TextMate became the standard of Ruby coding on Mac and Linux devs were struggling to replicate the oh-so-perfect experience. Every RoR dev has seen it, regardless of platform he uses, thanks to famous Ryan Bates' Railscasts. Few years later this compact editor hasn't changed (almost) one bit. And I mean it the bad way - frequency of major updates is horrible and I've read lots of complaints on MacroMate's customer support.

Thanks to importable plugins and syntax definitions you can easily get support of latest inventions like HAML or SCSS without any updates on MacroMate's side. Still, I personally don't like this kind of attitude from creator of paid software. Like or not, more important is that it doesn't support any of new OS X's feats like Versions of Full Screen. But guys, we should probably be glad that we even got Intel-compiled version and don't have to use TextMate through Rosetta (what a relief considering Rosetta is absent in Lion).

It almost looks like MacroMate believed in the prediction of world ending in 2012 and decided that they couldn't care less about this slowly-fading legend of Mac code editors. Yeah, there's been some talk about 2.0 but will we have to wait for it as long as 3D Realms fans have waited for Duke Nukem Forever?

Still, I'll always look up to TextMate for its elegant UI, which combines minimalism with some powerful functionality. I've used TM for quite some time and got used to it so I'll naturally be looking for something with similar look-and-feel but modern and preferably cheaper.

Coda (and Espresso)

First of all, it was a mistake from my part to take Coda into consideration as Rails coding solution. Editor focuses on straight HTML and CSS editing, SVN versioning and uploading sites through FTP. None of this applies to Rails environment, as in my case HAML replaces HTML, SCSS replaces CSS, GIT replaces SVN and deployment is more complicated that just copying files via FTP. Of course all of this can be supported via addons but it just doesn't feel right. UI is still cluttered with SVN and FTP feats. Even if it wasn't, I don't think this is the best UI I've ever seen.

Editor doesn't feel as light and fast as TM does and it doesn't do anything except having cute and animated project browser in order to be more appealing and Cocoa-friendly. Snippet capabilities also seem to be much more limited than TM's, but I haven't used them long enough to be more precise.

I have to admit that, after Coda, I've stumbled upon Espresso which I've rejected without testing just because, based on its description, it felt too similar to Coda and just as unprepared for Rails work. Maybe I was mistaken, but who cares as next came the good guys.

Komodo Edit

After getting disappointed by Coda and still not wanting to go back to TextMate, I've read some comparisons which led me to conclusion that I should try the free version of Komodo Edit, as paid IDE is waaay too expensive for me and free Edit is still quite a beast.

Let's start with the bad. For me, the problem was Komodo's incompatibility with RVM. That's just not right considering how popular RVM is for managing Rubies and gems. The solution was simple: every time I wanted to start Komodo, I've had to do it via Terminal.app. This allowed RVM to setup environment which Komodo used for detecting Ruby and RoR binaries. As I'm turning my Mac off every night and I'm using the restore session feature, I had to reset Komodo after every login. Annoying.

Of course, no other editor I've tested had this issue simply because they don't do all the things Komodo does thanks to having more IDE-oriented goodness like live syntax checking and script executing and debugging. Which, after overcoming the RVM issue, worked excellently for me. Having HAML views or RoR controllers checked with almost no delay is truly neat!

After using TM for years I didn't like Komodo's default key mapping. It's completely different than TextMate's, and even if I wouldn't be used to TM shortcuts, it's just plain worse. Why you ask? For example, separate comment/un-comment bindings (instead of just one for both actions in other editors) and no default binding for increase/decrease indentation. Beyond that, it's obvious that Komodo suffers here from being multiplatform.

Speaking of multiplatform, Komodo is built upon Mozilla engine which results in easy plugin adding and solid foundation for plugin devs. I also have to admit it integrates well with current Cocoa design trends, especially considering it's UI also is multiplatform. On the other hand, editor feels a little slow, either because of Mozilla of IDE elements. It's something between ultra-fast TextMate and mega-sluggish NetBeans. I think the extra functionality may or may not be worth committing this usability sacrifice depending on many factors like project size or coding habits.

Personally, I was able to get accustomed to Komodo and reject any thought of further editor testing. That was until few weeks later, when I've accidentally had such a thought and tried…

Sublime Text 2

Remember me mentioning Railscasts in section about TextMate? It's author, Ryan Bates, has been known to use TextMate for years. Recently however, he admitted on Twitter that he's in process of testing Sublime Text 2 and so far, he likes it. I've somehow stumbled upon that post and it made me curious enough to do some editor testing once more. And just when I was so happy with Komodo…

How surprised I was to see the sleek, minimalistic UI, easily beating not only Komodo but also TextMate itself. To find out that default key bindings and syntax coloring theme do nothing short of perfectly cloning and subtly extending TM's. And finally, to be able to start coding Rails with almost no configuration. Everything else, I liked even more. The app config is made through hierarchy of simple config files, which reminds me of the Rails way of convention over configuration. What else… multi-column view, file minimap (yeah, just like the one in Diablo), intelligent and blazingly fast cross-project file search, beautiful full-screen mode, plugin management easily beating Komodo's one, both in ease of use and plugin count… The list goes on and on.

Yeah, it doesn't have some of the more advanced IDE functions of Komodo, but it's so beautiful, responsive, simple and powerful that I could easily forget about those. Or just use Komodo in situations when that extra power is needed. And did I mention that it support TextMate's snippets and syntax definitions? Astonishing considering how simple it looks like on the first sight. This editor takes all that's great in TextMate and multiplies it by hundred. At the same time it succeeds where TextMate fails: it's updated frequently (due to not even being finished) and supports everything new OS X has to offer. Also, it's almost funny how Cocoa-native Sublime Text 2 feels despite being multiplatform.

Considering above, Sublime Text 2 just doesn't have a choice but to be my Rails editor from now on. I'm also looking forward to its next updates. New icon definitely should be in one of them. Until it will, I'll use one of few fan-made replacements. Anyway, thanks Ryan for (unwillingly) pointing me in direction of this editor!

Comments

This post has not been commented by anyone yet.

Your five cents