

Ask HN: Is there really bloat in Rails and if so where is it? - petenixey

I see people referring more and more to the "bloat" of Rails and interested to know what they're referring to.<p>I use Rails on a daily basis and I don't notice anything overblown or imbalanced about the framework. I would say that I use most of the features and I'd miss them if they weren't there. If anything I find that some things such as routing are perhaps too pithy and not flexible enough.<p>I'm no framework polyglot though so I'm interested in the comparisons that might be drawn? Are there genuinely parts of Rails which are unnecessary?<p>Is it that the framework has truly become overblown or is it just that it's not suitable for certain jobs?
======
rpwilcox
There's a number of parts of Rails core that could probably be spawned off to
other gems. For example, the form building tools: there are several better
ones out there - I know I always use Formtastic over what Rails provides.

Another one would be the built-in testing DSL. RSpec and Minitest do that
pretty well now, why is it a part of Rails?

Then again, I hate these type of conversations: my bloat is someone else's
timesaving feature. "Why does Rails have an ORM, they're too abstract!" some
might complain... but engineers on a Rails app bigger than a few man-months
may love the time the ORM saves. (Especially when the client changes their
mind on how a business domain feature should work, for the third time in as
many iterations).

------
jemeshsu
The trend is moving toward putting the view logic into the clients as
championed by the many Javascript MVC frameworks such as Backbone.js, Ember.js
etc. When you use these to build your web interface, what is needed on the
server is just JSON API. From this point of usage, Rails is "bloated" as you
do not generate views on the server and push down to the clients.

There is also another aspect of the web that might caused that view. That is
the rising usage of websocket type of real time app, which Rails is not able
to handle directly yet. This makes full-stack framework like Rails looks less
agile thus bloated when you compare to Node.js for example.

------
drothlis
"Bloat" = "Bigger than the framework _I_ know"

