DEV Community

Discussion on: What is the importance of understanding libraries and frameworks?

Collapse
 
tomekbuszewski profile image
Tomek Buszewski

For me, this basically boils down to:

  • a framework gives you set of their nails, their hammer and other tools branded by them;
  • a library gives you already built house; with every pro and con it can get.

While I know this is oversimplification, I really don't think that going inside all of this "architecture", "patterns" etc stuff is necessary when talking about such things.

Collapse
 
nektro profile image
Meghan (she/her)

While I like the analogy, I would describe it as completely opposite. A library gives you a single hammer. It's a great hammer but it doesn't work as a screwdriver. You'll have to find one of those yourself. On the other hand, a framework is the already built-house that only allows you to do the interior design.

Collapse
 
tomekbuszewski profile image
Tomek Buszewski

Thanks for your reply!

I wouldn't say so, for example, look at jQuery. It gives you stuff like show, hide, its own selector syntax etc. Or, okay, as this may be a bad example, look at Velocity. It's a library with sole purpose of animating stuff. It gives your their syntax, their methods and produces output carefully designed by them.

Now look at React. You're basically getting Virtual DOM builder, with some state controls. And quite frankly, they don't care whether you build a button and place it among jQuery ones, a component that will be sold, a web application consisting of thousands of elements. They just give you the tools to do so.

Same is with the wood/house metaphor. You can get hammer, nails etc branded by Facebook or Google and build a house, a single room, or a box. The second option just gives you a house, perhaps it's a small house, perhaps it's just a room, because given library is focused on solving one thing. But it always be a ready-made solution.