Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript framework confusion

Ok, so this might be an odd question, but what is the difference between all of the following:

-Node.js Angular.js Backbone.js Ember.js Meteor.js Prototype.js and Underscore.js

A very detailed answer would be appreciated. I would like to know what makes them all different, why some are used over others, and what are each of their respective strengths. Sorry if this is a stupid question, I'm just really confused on what they all do and why there are so many different JS extensions.

like image 741
ellman121 Avatar asked Feb 15 '23 00:02

ellman121


1 Answers

Node.js is a server side environment that lets you write programs in javascript. The key property of these programs is that they are non-blocking i.e. while some computation is taking sometime to complete, another request can be made from a client without having to wait for the first computation to finish.

AngularJS and EmberJS are front end javascript frameworks similar to Rails or Django that help you organize your front end javascript code in the M.V.C. pattern. Instead of having spaghetti jquery all over the place you can organize your client side code as a proper app.

BackboneJS is something of a precursor to Angular and Ember. It is a front end library that allows you to build MVC apps but it doesn't do as much of the work for you that the previous ones do.

MeteorJS is a JS framework that handles both the client side and the back end. Unlike Angular, Ember and Backbone that handle only the front end. Meteor is a web programming framework built on top of node that allows you to organize both your front end and back end code and most significantly handles real time updates to changes in your data on your behalf. It also synchronizes those data changes across all connected clients. It's a full stack solution to node/js development. It's still pre v.1 and so don't expect perfection.

Prototype.js and Underscore.js are very different libraries from the aforementioned and don't have much to do with modern web frameworks per se. Prototype is like jQuery...a handy library for doing one off things on the DOM/in html (e.g. select that button / fetch some data via ajax when that div is clicked) and Underscore is a library of handy functions e.g. set intersection, set union, map etc.

like image 182
angulord Avatar answered Feb 22 '23 22:02

angulord