What goes where? node.js, express, dojo, JQuery


I'm new, so bare with me. I'm not from web-development or high-level languages, and don't understand how some parts of web-development stack fit together. I'm researching possible stack configurations, and after some poking around have decided HTML5/CSS/JS on front, with node.js running on server. Makes it easy for me to just have to learn JS.

Looking at some web-application frameworks, Express seems to be very highly touted and sits right on top of node.js -> hence I want to go with Express.

After some more poking around, I find Dojo. Honestly, I don't see where Dojo "fits" into all this. The lines are blurring for me, and I can't tell if Dojo is an alternative to Express, something to supplement Express, or something else entirely. I think Dojo is an alternative to JQuery (correct me if I'm wrong)

Can I get a quick clarification?

node.js : event based I/O framework leveraging Google's V8 engine.

Express: minimilistic web-application framework for node.js.

Dojo: open-source modular JS library toolkit for rapid devel of JS/AJAX cross platform JS websites

Problem courtesy of: gone


Don't get server-side JS and client-side JS confused. Application Server and Application Server Library are serverside, the rest are clientside. However, since you're using node, it is possible for client-side javascript libraries to also have server-side capabilities if included as serverside code and if supported by the library.

Application Server -> Application Server Library/Framework -> HTML/CSS/JS -> HTML/CSS/JS Libraries
Node.js            -> Express                              -> HTML/CSS/JS -> Dojo, Jquery, Boostrap, etc

Or another way:

Application server:
Application Server Library/Framework(s):

Client-side Libraries/Framework(s):
jQuery Dojo Bootstrap etc

Solution courtesy of: Kevin B


Dojo is a collection of (mostly) unopinionated JavaScript utilities that enable you to write better code faster across all platforms (desktop, mobile, tablet, and server). It is not a replacement for jQuery, unless you consider that it provides a significantly larger set of functionality that also includes the sorts of things that jQuery does (Ajax and DOM manipulation). Dojo does not include any HTTP server components like Express, but you can use it with Express to bring superior architecture to your application and to write modular code that can be used on both the client and server with no modifications or middleware.

Discussion courtesy of: C Snover

This recipe can be found in it's original form on Stack Over Flow.