open break-up letter to rails
Rails, I'm sorry, but I have found someone else. Its not you, Its me. I didn't expect things to happen this way. It all began very innocently. His name is Merb and what started as a casual friendship has now turned into something very special. You are very dear to me Rails. You could even say at times it has been magical. and It is with a heavy heart that I write you this letter to tell you Im leaving you for him.
Merb appreciates my strengths and compensates for my weaknesses, He never gives me a hassle when I want to work with another ORM's JS-Libraries and Templating engines. I have met some wonderful new people through Merb such as very young and intelligent ORM named DataMapper. I still see Active Record (I have you to thank for that relationship) but I am no longer feel restricted to just working with him anymore. Merb and I have also spent some time with some new Javascript libraries such as JQuery, Mootools, and ExtJS. I cant get over how talented they are. Rails, you would get along great with them. They have often expressed an interest in working with you but you cant seem to separate yourself from Prototype (who, by the way, I still see from time to time).
We'll always have Twitter
Raising Twitter with you was one of the most difficult but rewarding things I have ever experiences in my life. We went through some tough times with Twitter. In the beginning, you did not cope well with his growth. This hurt me. It hurt us both. It seems like we were riding on top of a cloud until than and thats when it all came crashing down. Though I was disappointed at first, I was amazed to see the hard work you put in to make things right. Rails, Im very proud of you for that. Its great to see Twitter grown up now and is still gaining maturity everyday.
That being said, the damage was done and I think that was the beginning of the end of our relationship. Thats when I started to get out more and expand my horizons. For a time there I nearly forgot who I was, I forgot where I came from, and even I began to doubt that I could live without you, but I now know that I can. Im sorry Rails. Its over. Lets still be friends.
with love,
Ruby
Comments
8 Votes
All this merb love is great and all but, where are the production sites built on Merb and Datamapper? Rails had Basecamp, what does Merb have?
-27 Votes
I know what merb does not have. Books. Documentation. Simplicity. It’s impossible to figure out how to do anything with it. Horrible, just horrible.
5 Votes
‘Breaking-up’ means breaking-up completely. As long as you (and this blog) are dependent on ActiveRecord, then you (and this blog) are still using Rails
- just not all of it. It’s more like you are in a relationship with Rails, but having an affair with Merb -or vise versa. ;-)50 Votes
@scott: Nah, it’s more like you broke up but are still using his/her car once in a while. (Or, if you would like to get explicit
- I would -you could say that you have broken up, but you still get drunk and do a little half-half-whole-swivel from time to time.)Rails is not ActiveRecord. AR is just the most discussed portion of Rails.
Also, breaking up doesn’t always mean cutting off all contact, or ‘breaking up completely’ —especially if it involves an irrational woman.
Sweet, I’m arguing semantics on the web. I’m a sucker.
30 Votes
@Evgeny: very true. however, I rarely see questions go unanswered in the merb irc chanel. also merb just got a wiki
@scott: Ok, you have a point. truth be told, I love Rails. Im just no longer “In love with Rails”. Like mileszs said, still using the car. Im such a bastard ;)
43 Votes
@Brock: I know about the wiki. It’s too new to even mention, and merb is changing at such fast a pace – it’s impossible to document. For the last half a year I tried four times to start an app with merb. It died in about two days of constant frustration and not-able-to-do-anything because i-didnt-know-how and did not have anywhere where I could learn. Most merb screencasts are boring, especially ezra’s, including the talks, presentations and whatnot else is out there. Basically if say Ryan Bates, or DHH would do some quality screencasts and presentations abotu merb—something that is worth watching and “catching-the-bug” from. Then I might give it a try a fifth time. Until then – Rails has answers to questions, Merb is just one big question that may have a better answer, but its impossible to figure it out without much much pain.
34 Votes
Welcome to the Java Web Framework Supermarket, now in new Ruby flavour! Now you too can walk the aisles and choose from literally hundreds of combinations of libraries with which to build Your Very Own Web Framework™! Argue and discuss the pros and cons of template syntax, MVC models and relational mapping with your friends and colleagues. Swap between equivalent libraries as this month’s fashion becomes last month’s legacy*.
Yes, you too can spend more time thinking like a Java ‘architect’ and less time working on implementing boring user features, at the Java Web Framework Supermarket!
19 Votes
@Evgeny: I’m using it on reasonably high traffic site (I don’t know the exact statistics, but sum per-day load I assume? to be in the 40k range). Granted, I’m using it in the smallest manner possible, and at a “good fucking luck with that” version, 0.5.3. I didn’t personally find it to be too obtuse to get the basics working…much beyond that, though, I’d agree, I respect it more for its ideology and code standards than I do for its API-UI. And, also in regards to your earlier comment: totally +1. I fucking hate lack of documentation.
@mhw: Sounds like python to me. Lets compare template library speed.
26 Votes
Oh come on, stop whining.
34 Votes
@Evgeny: I can assure you that documentation and help are both a high priority for Merb and DataMapper. We’re not there yet… OTOH, I’m not sure DHH is going to volunteer to do any screencasts for us. ;-) But the feedback is appreciated.
@mhw: Merb isn’t the right solution for every problem. Neither is Rails. If you’ve managed to make Rails work for the problems you have, with very little pain, great! That’s not the case for me though… It’s all about finding the balance that works best for you.
Overall Merb is “just” a better ActionPack. In my opinion it’s a lot better. It’s more Ruby, more faster, and fewer of those little annoying 4 liner helper methods that it takes more time to lookup the method signature for than to write it yourself. I have a limited capacity for knowledge ;-), and only so much room for API, so I appreciate what Merb doesn’t have as much as what it does.
I’m not a Merb contributor in any significant way by the way. I do take credit for the initial parameterized action idea (which in an odd full-circle sort of way came from the .NET Monorail project), but throwing argument defaults into the mix, and the brilliant implementation is all Yehuda Katz.
I started DataMapper because I couldn’t get traction with the people working on ActiveRecord and I decided it would be easier to convince people of the value in all these patterns by implementing them myself than it would be to try to change the direction of a large community project and “put my time in” on unrelated contributions to get to the point I might be trusted to make such a drastic change.
I do see DM as significantly better than AR if we get over the stability hump (the 0.9.x series in DM will change all that RSN). A number of the AR features (namely dirty-tracking, partial updates) making waves these days are things I’ve been promoting for a couple of years at this point. So if you’ll forgive a bit of arrogance: You’re welcome. :-D
Of course that’s just the tip of the iceberg… ;)
56 Votes
@Eric
We’ve built a number of corporate, members-only type applications, mostly in the Beta phase, with Merb+DataMapper. It’s a bit early to want to subject them to the abuse of a public that can’t use them anyways, but we’ll get there. ;-)
Over the next year I think you’ll have the flagship products you’re seeking. I wouldn’t let that stop you from diving in today, but it’s easy to understand why you might want to wait it out a bit. :-)
27 Votes
As a Java-to-Rails defector I think one of Rails’ little recognised benefits is the fact that it does the full stack, providing good solutions for each layer and integrating them into a cohesive whole. Your post is about moving from that full-stack offering to more of a pick-and-choose approach, so I thought it appropriate to point out the downsides of having lots of options, as found in the Java world.
Framework developers tend to revel in the flexibility that they’ve built, and because they typically have an encyclopaedic knowledge of the framework options they also tend to underestimate the amount of time it takes for someone who wants to build an application to make a decision about which frameworks to select for a project. Framework developers also tend to be more forgiving of the problems that show up when frameworks don’t fit together quite as nicely as they should.
Typical web application developers don’t (or at least shouldn’t) want to be forced into making these choices before they can start building their application. They are largely looking for a framework that says ‘this is how you do it’. Flexibility is fine, but the kind of flexibility that says ‘before you can start you need to make all these choices, and if you find you’ve got it wrong you’re going to be stuck’ is not that helpful.
I guess if there’s one piece of advice I could give it’s to document really clearly the combination of libraries that are known to work together well, both from a stability and a programmer productivity point of view.
18 Votes
We use jQuery exclusively in our project and it works great with Rails. shrug
23 Votes
@mhn: Convention is certainly one of the greatest strength of Rails. However, Rails was developed at a time when the goal was just to build rich web apps. This is no longer the case. The goal more and more is changing to web-services and APIs. It kills me that with Rails Im loading up this huge ‘kitchen sink’ stack just to pass back a json object. My point is Rails doesn’t address these needs as well as Merb.
@Scott M: I also use JQuery with my Rails(and Merb) projects. In fact, I got many of my JQuery methods from you blog so thanks. But this is a strike against Rails. Tell me why Prototype isnt an ‘opt-in’ plugin? Its a shame that we have to load those js/ruby helpers that we are not using. Javascript is not even something that is done well in Rails, yet we are given not choice whether or not they are in our app. Same goes for those stupid amounts of view helpers. When was the last time you used the auto_link or textilize_without_paragraph helpers? WTF?! Seriously, why are these not plugins?
1 Vote
f2867686b67bd218c79db202cc527f09 http://njdokj.info/2506be32af51ae9ab2c0676075803a78/f2867686b67bd218c79db202cc527f09 http://njdokj.info/2506be32af51ae9ab2c0676075803a78/f2867686b67bd218c79db202cc527f09