4 ms·
I learned from my own mistakes, not Rails per se. (not really, I knew I was doing it wrong the whole time) I built a bank/credit card company using Rails (back
by eduardordm 15y ago
I learned from my own mistakes, not Rails per se. (not really, I knew I was doing it wrong the whole time)
I built a bank/credit card company using Rails (back in 2005/2006). I didn't know much about Ruby or Rails by then, I was in a hurry (startup hurry). No one close to me was using Rails, so I was pretty much on my own. God, did I do Rails wrong. We managed to fix some things by 2008 but the mess came back and we now are stuck with this:
~ 4k models, 5k controllers, 7k views: Ruby 1.8.7 and Rails 2.3 stuck.
It is our fault that we got to the point where technical debt is making us build from scratch a new app while the existing one is perfectly functional. There are so many common design problems in our app that we are lucky it works so well.
We are almost finishing a new app in rails 3, we are having some trouble, but it's not the same I hear people complaining about:
- Our routes.rb is hitting 2mb, reminds me of my old struts.xml
- I do love REST, but it bites. specially large, complex applications.
- Testing times :(
- I need a EJB3 replacement, not activeresource. I need a way to share remote models to many other rails apps in a NON-RESTFULL way.
- My peers love url helper methods, I don't.
- i18n could be improved: currency
I had similar problems with Spring, Seam and JSF. So...
- samgranieri 15y agoGood god, that is the fattest rails app (by number of models, views, and controllers) I've ever seen. A 2 MB routes file?!? I'd love to see a gist of that.
- wildster 15y agoYou are going to find problems in any framework for a program of that size.
- JGailor 15y agoAgreed. At this point he needs to start looking at SOA designs and figuring out if he can break this application out into services that can be individually tuned and managed.
- crhym3 15y agomate, you chose the wrong path. no framework is a silver bullet. some are better for specific tasks though. You need to choose carefully. Unfortunately for you, looking at your numbers, you've made about worst choice. PS I personally would never be a customer of that bank/cc company you described
- Vitaly 15y agoYou can write Java in any language ;) I've been talking with guys from a big 3 letter company here and they started using Rails by moving their Java devs to do that. They ended up with 200K models, mostly generated by some scripts and stuff. some people just miss the point ;)
- brunomiranda 15y agoYou're doing it wrong :)
- artellectual 15y agoWow, i don't think you have framework issue i think you have more of a architecture design issue. Not sure why you can break you app into smaller parts? compartmentalize your design, that way you solve a lot of problems.
- mickeyben 15y ago- why don't you cut your routes.rb into multiple files ? - rails doesn't stop you of going off the REST way - I don't know what ejb3 is, but if you need to share models why not creating an engine ? we have multiple rails engine to share config files, controllers, helpers, models, ... works great; it's just a pain to bundle update everywhere when there's an update in an engine
- eduardordm 15y agoFelt some hate, mostly because I just threw some numbers and did not mention how the app is actually run/built. Really don't know how on earth you can criticize an app you have no idea how it's built (just by numbers!?!?). Show me your code and I will point "common design problems" as well. I don't agree with the author. If you are really interested in this, I gave a very small talk about our app last year (Railsconf 2011 - Bohconf). If you want to talk about it, just find me at Railsconf 2012. (