Why RoR needs plugin?

Hello,

I am new to RoR. It seems that it needs more and more plugins. Why it
is like that?

Thanks
Chamnap

Im no expert, but I believe it is because Rails is supposed to provide a basic framework to get a site running. The plugins are needed for adding in the functionality you are going to use.

It’s a good thing in my opinion.

Richard

Generally speaking, plugins provide special features for special usage
scenarios.
Building all of those features into Rails directly would make the
Framework too big and clumpsy

Also, Plugin often offer different ways to achieve the same thing, so
the developer can choose which way he prefers.
It would be impossible to build all those into rails at the same time,
as they would conflict.

As a framework (or any general-use project) grows, it becomes more and
more complicated as features are add. Many Java stacks are needlessly
complex simply because they have grown to attempt to do everything
over the years. This makes the simple cases much harder than they
need to be. The Rails Core team is extremely aware of this, and is
focused on only adding widely useful bits to core, and keeping
everything else in plugins. Even pulling things from core out into
plugins where it makes sense. This keeps Rails lean and mean.

This is one reason I prefer Ruby on Rails over just about any other frame work in any language I’ve used. Nothing I don’t need, but every thing I do need is lurking about some where. Amazing.

Nathan Garza

AshLeaf Media | Director of Technology Innovations

Chamnap wrote:

I am new to RoR. It seems that it needs more and more plugins. Why it
is like that?

Good question, because the answer is simple yet subtle.

Ideally, in a software platform, you don't "pay for" what you don't use. That means (even if the platform is free to download), you don't pay programmers extra time to go around the features they don't need.

If Rails had one default way to do a Calendar, and if programmers needed a different way, they should pay twice, once for the default Calendar and again for another one.

So the ideal platform allows you to plug in all the components you need, and leave out the ones you don't. This, in turn, requires Rails itself to represent the smallest set of the best modules that make it Rails.

And some of the current Rails modules will be taken out in Rails 2.0, and moved into plugins.