AngularJS
AngularJS is a full frontend MVC framework for JavaScript web applications. It was built at Google and provides a way to quickly build large, single-page web applications. Like jQuery, it is included into a page using the tag, and is itself written in JavaScript. Unlike jQuery, it is meant to be a framework upon which an entire web application is built. It actually includes a minimal version of jQuery by default.
If you're looking to learn AngularJS, I recommend EggHead's video tutorials. You'll need to have a very solid understanding of JavaScript first, since writing any Angular requires a deep understanding of prototyping, scope, and various other JavaScript aspects.
The AngularJS website has a page of example projects built with AngularJS, if you're so inclined.
Node.js
Remember how I told you that JavaScript ran in the browser, but I mentioned that there was one big exception to that? Node.js is that exception. It's a command-line tool that runs JavaScript on a machine without needing to run in a browser. It does this by using a version of Chrome's V8 Engine, which is the JavaScript engine that runs inside Google Chrome.
Before Node.js, developers would have to use different languages for the backend and frontend of their application. For example, PHP, Java, ASP.Net would run on the server, and JavaScript would run in the client browser. Now with Node.js, developers can use JavaScript on the server as well as the client, meaning that developers can focus on learning one language. Whether this is a good thing is still up for debate (nsfw language).
Angular is a hip JavaScript framework which is made for building large, single-page web applications.
Node.js allows JavaScript to be run without a browser, and is commonly used to run web servers
So first off, node.js is different from Ext JS and Angular JS.
According to the node.js website,
Its for your server-side components. For example, setting up a simple webserver or REST API's.
Angular and EXT JS are client-side JavaScript frameworks that make use of MV architectures that are used for making web applications. Angular is considered a MVW (model-view-whatever) framework and Ext JS is a MVVM (Model-view-view-model) and MVC (Mode-view-controller). Ext JS recently added MVVM in their newest version Ext.js 5
Ext JS also adds to the core layers of building blocks this by adding components like responsive design styles, layouts, UI components, theming, and etc.
Although angular doesn't have built in themes and UI, there are alot of modules/predefined directives that you can use like UI-Bootstrap. Angular itself is HTML declarative meaning it provides a dynamic way to use your HTML. For example,
This div would repeat through an array of items which will render each item as a div with the name as a header and the price as a paragraph element. If the item is available, it will render that div (or won't render if available !== true)
Tying it all together, you can utilize node.js on your backend and angular/ext.js on your front end. For example, you can set up a simple REST api for products. Angular would then make an HTTP request on products, get JSON from your api, and then iterate through products and render it without loading a seperate page. You can also do this similarly in ext.js, but I am unsure of the exact approach for it.
If you want to make more realtime/dynamic web applications, doing this is a solid way to go.
|
Comments
Post a Comment