5. • it’s cheap to try new ideas,
• it’s cheap to write CRUD apps,
• it’s easy to get help on the internet (talk to people on
blogs, forums, look at OSS Rails apps),
• it’s easy to find a Rails job!
The Good
6. The Good
• build a prototype (until comfortable with something
else),
• work on a project based on a very promising idea
(enter Rails dev, butmove on to more interesting
things eventually),
• to quickly improve one’s finance situation.
17. • let’s not judge Rails in it’s entirety,
• it has lots of subsystems,
• let’s examine Rails’s worst parts,
The Bad
18. • Rails is too much of a framework.
• Rails is way too opinionated.
• Rails is coupling itself to the app logic way too much.
One can barely notice this, let alone stop it.
The Bad
23. The Bad
Bad gem usage mindset:
there’s a gem for that™
Betteer gem usage mindset:
use low-level gems only: start with redis,
memcached drivers, maybe devise, etc.
24. The Bad
> I’ve seen former colleagues to just install a gem …
for just a couple, literally a couple of lines of code that
you needed from the gem.
Luca Guidi,
https://devchat.tv/ruby-rogues/228-the-lotus-framework-with-luca-guidi
27. • “write code, then entangle it with tests” philosophy,
• TDD is not appreciated,
• controller tests as hard to understand,
• abuse of factories,
• a lot of magic with setting up testing env.
The Bad
28. The Bad
• Rails is extracted from Basecamp,
• Rails's advancement defined & bound by Basecamp’s
internal philosophy and needs,
• …see introduction of Turbolinks,
• …see ActionCable,
• …see most of stuff introduced by DHH.
Also…
30. The Ugly
• Rails + gems + community…
• …can be very helpful,
• …can generate a lot of value,
• …can be a HUGE comfort zone,
• …can be a mindset’s trap.
31. The Ugly
We barely escape confort zones,
unless forced by business requirements.
32. The Ugly
We learn how to use the framework
and become Rails experts at best,
but do not advance as engeneers
38. The Ugly
Once you get used to quick pace, Rails doesn’t
embrace patience or discipline.
When your boss gets used to your quick pace,
– this is turning point in app development.
You no longer have time to proper think about solution,
and things start to go really bad.
39. The Ugly
Rails is telling how to do things.
And often does things himself, without asking.