March 2, 20206 yr I looked on the Internet for an explanation, but I am still a relative beginner and couldn't understand the jargon. What, in simple, lay terms, are frameworks (such as React.js, Angular.js, and Vue.js) and what are libraries (such as Node.js and jQuery)? Why are they so important? Should I learn more than just one of those?
March 3, 20206 yr So NodeJS isn't a framework it's a JavaScript runtime on the server-side. There are several frameworks and libraries built on top of Node such as Express and Koa. I'd definitely spend a bit of time getting familiar with Node On the frontend React is considered a library but I'd say it sits somewhere in the middle of a framework and a library. I'd definitely look into learning this, Angular is pretty horrible and getting less popular, Vue I don't like much either but it is gaining popularity but still way behind React in the job market. Most frontend jobs I see are asking for experience with React. The distinction between a framework and a library is a bit muddied and to be honest I don't think distinguishing is really that helpful. Both are essentially dependencies that we'd download via NPM and import to your application (assuming it's a JavaScript app). Many will suggest that React is a library and Gatsby, NextJS and so on are frameworks built on top of React. I suppose you can look at a framework as an underpinning for the whole project (or service) Although React sort-of does this also. Edited March 3, 20206 yr by rbrtsmith
March 3, 20206 yr Libraries tend to have a single or limited use case, for example, a templating library, or a date library. Frameworks are usually made up of many libraries and packages and have more than one responsibility. On the server, a framework might include a way of creating templates, a way of connecting to a database, handling email etc. React is seen as more a library because even though it has a lot in terms of what it can do, it's primarily concerned with assisting with building UI components. Whereas a framework like EmberJS has a way of doing UI components, templating, testing, interacting with APIs etc.
Create an account or sign in to comment