Tuesday, October 8, 2013

The Rails-way and bigger projects

The whole idea of having a data-structure that you retrieve from the database and carry through all the layers to the UI makes the development very quick at the beginning.

The coupling it provides, at the later stages of development makes it very difficult to split the app into any kind of modules. It's also difficult to test anything in isolation. That's why Cucumber, Capybara, Selenium are so popular, as they help you in writing integrated tests.

Integrated tests have their place, but it's impossible to test everything through all the layers. This results in slow builds - a typical syndrome in Rails projects.

The Rails way makes sense for smaller projects. What I'm disagreeing with is using "The Rails way" in bigger, serious projects.

The Rails itself has nothing inherently wrong. I'm not attacking Rails, I'm only attacking 'the Rails way'. You can use Rails for bigger projects, if you know what you're doing.


Giles said...

The Django way is pretty much the same. We've got our builds taking 10 hours right now (after a fair amount of work to make them faster, parallelise stuff, etc), which is definitely too slow.

mitchp said...

Very interesting, Andrzej. I'm learning Rails as my first web framework right now. Let me know if there are any extra suggestions or resources you would give to a rails budding developer like myself...