Architect your Rails application for happiness
by Sebastian Sogamoso
Rails is great, it makes it very easy and enjoyable to create web applications... for a while. However, as your codebase and your team grow, you start to feel the pain, antipatterns emerge, your application gets so coupled that it turns into a giant fragile moving piece and your codebase becomes unmanageable.
A lot of us have run into this problem, thankfully there's a handful of approaches that try to solve this problem, Skinny Controllers and Fat Models, Enterprise Patterns, Hexagonal Rails just to mention a few. But how can you be sure which way to go? You know you don't want to over-engineer your application and at the same time you care about having a good design. In the end it's all about your Objects.
This talk is about the story of a real project and how going back to basics helped saving time and money. We'll explore how applying OOP principles helped building a highly cohesive application. How to easily decouple from Rails and why that's a good idea. How and why to partition your Rails application into distinct modular libraries and how to speed up your test suite.
This talk will help you find a way to architect your Rails application for happiness.
I craft great applications at a software consultancy called Stack Builders. I've been part of some pretty big Ruby projects. This talk is inspired by my love for Ruby, OOP, my experience working in large projects and Uncle Bob talks about clean code.
"One difference between a smart programmer and a professional programmer is that the professional understands that clarity is king." - Uncle Bob