AngularJS is one of the many popular open source Javascript frameworks. Its goal is to simplify the development and testing of applications that follow the Model-View-Controller and Model-View-View-Model architecture. It is a "Single Page Application" (SPA) meta framework where it is heavily focus on eliminating the work of having to go back and forth between the server and the client but rather having it be heavily driven by Javascript.
AngularJS requires the knowledge of some basic programming structure and full understanding of Javascript syntax since it is a library designed in Java Script. It is difficult if you don't hold the understanding of those two components. Some resources that can be used to learn Javascript are:
Videos
Books and Articles
- Code School JS Books and Materials Gallery
- Heads First JavaScript
- Eloquent Javascript
The tools needed to developing an AngularJS application is simply a browser and text editor. Some popular text editors that developers use are Sublime Text, Brackets and NotePad ++.
- Directives
- Controllers
- Scopes
- Services
- Dependency Injections
Directives are a way to extend HTML, adding new elements and adding new attributes to existing elements. The ways that directives can be used are by adding behavior to HTML, defining a link function that keeps bidirectional binding between variables belonging to scopes and DOM elements or defining a compile function that can modify or generate DOM elements attributes.
Controllers are components that add functionality across DOM elements within the application. The idea behind controllers is to keep an organization of application component functionality so that it will remain maintainable and accessible.
Scope is a way how AngularJS allows two separate components to communicate with each other between controllers and views. In laymen terms it serves as the "glue" between the controller and the view.
Dependency Injections are basically a special word for claiming a component is dependent on another component or service within the application. It is equivalent to the syntax and functionality of "required" in Node.JS or Ruby or for Java "required."
-
AngularJS applications can be styled using CSS and HTML independent of their own business logic and function. Therefore you can a huge change in the layout of the application without having to make changes to the Javascript
-
AngularJS applications are written in pure HTML, so designers will be able to work and style them with ease.
-
AngularJS applications are a lot easier to run unit testing.
-
AngularJS applications work very well and smoothly with third-party libraries
-
Angular JS applications have a declarative nature thus making it easier to write and understand.
-
AngularJS has a large community that is thriving and always contributing to the evolvement of the framework.
Since AngularJS is mainly used in the design of the front-end of web applications it uses on a whole plethora of websites on the web. One of the many to name are:
- Vevo Vevo is the world's all leading premium music video and entertainment platform that was built off of AngularJS.
- MSNBC A popular news website their interface uses AngularJS features
- YouTube for PS3 The YouTube Application on the Play Station 3 uses Angular JS to load and play videos
- Egghead.io
- AngularJS By Example
- Code School AngularJS Course
- Learn and Understand Angular JS
- W3 Schools Angular JS Reference Material
- Build a Single Page App with AngularJS
- Single Page To Do App
- Using Angular JS with Elastic Search | Github Reposititory
- Build an Etsy Clone with Angular and Stamplay
- Real-Time Scheduling App with Angular and Firebase
- Projects in AngularJS
- Thinkster: AngularJS Course
Backbone.JS, React.JS, Ember.JS, Node.JS, Knockout.JS, Express.JS