What is AngularJS?
AngularJS
is an open source web application framework. It was originally developed in
2009 by Misko Hevery and Adam Abrons. It is now maintained by Google. Its
latest version is 1.4.3.
Definition
of AngularJS as put by its official
documentation is as follows −
AngularJS is a structural framework for dynamic web apps. It lets
you use HTML as your template language and lets you extend HTML's syntax to
express your application's components clearly and succinctly. Angular's data
binding and dependency injection eliminate much of the code you currently have
to write. And it all happens within the browser, making it an ideal partner
with any server technology.
Features
·
AngularJS is a powerful JavaScript based development framework to
create RICH Internet Application(RIA).
·
AngularJS provides developers options to write client side
application (using JavaScript) in a clean MVC(Model View Controller) way.
·
Application written in AngularJS is cross-browser compliant.
AngularJS automatically handles JavaScript code suitable for each browser.
·
AngularJS is open source, completely free, and used by thousands
of developers around the world. It is licensed under the Apache License version
2.0.
Overall,
AngularJS is a framework to build large scale and high performance web
application while keeping them as easy-to-maintain.
Core Features
Following
are most important core features of AngularJS −
·
Data-binding − It is
the automatic synchronization of data between model and view components.
·
Scope − These
are objects that refer to the model. They act as a glue between controller and
view.
·
Controller − These
are JavaScript functions that are bound to a particular scope.
·
Services −
AngularJS come with several built-in services for example $http to make a
XMLHttpRequests. These are singleton objects which are instantiated only once
in app.
·
Filters − These
select a subset of items from an array and returns a new array.
·
Directives −
Directives are markers on DOM elements (such as elements, attributes, css, and
more). These can be used to create custom HTML tags that serve as new, custom
widgets. AngularJS has built-in directives (ngBind, ngModel...)
·
Templates − These
are the rendered view with information from the controller and model. These can
be a single file (like index.html) or multiple views in one page using
"partials".
·
Routing − It is
concept of switching views.
·
Model View Whatever − MVC is a design pattern for dividing an application into different
parts (called Model, View and Controller), each with distinct responsibilities.
AngularJS does not implement MVC in the traditional sense, but rather something
closer to MVVM (Model-View-ViewModel). The Angular JS team refers it humorously
as Model View Whatever.
·
Deep Linking − Deep
linking allows you to encode the state of application in the URL so that it can
be bookmarked. The application can then be restored from the URL to the same
state.
·
Dependency Injection − AngularJS has a built-in dependency injection subsystem that
helps the developer by making the application easier to develop, understand,
and test.
Concepts
Following
diagram depicts some important parts of AngularJS which we will discuss in
detail in the subsequent chapters.
Advantages of AngularJS
·
AngularJS provides capability to create Single Page Application in
a very clean and maintainable way.
·
AngularJS provides data binding capability to HTML thus giving
user a rich and responsive experience
·
AngularJS code is unit testable.
·
AngularJS uses dependency injection and make use of separation of
concerns.
·
AngularJS provides reusable components.
·
With AngularJS, developer write less code and get more functionality.
·
In AngularJS, views are pure html pages, and controllers written
in JavaScript do the business processing.
On top of
everything, AngularJS applications can run on all major browsers and smart
phones including Android and iOS based phones/tablets.
Disadvantages of AngularJS
Though
AngularJS comes with lots of plus points but same time we should consider the
following points −
·
Not Secure − Being
JavaScript only framework, application written in AngularJS are not safe.
Server side authentication and authorization is must to keep an application
secure.
·
Not degradable − If your
application user disables JavaScript then user will just see the basic page and
nothing more.
The AngularJS Components
The
AngularJS framework can be divided into following three major parts −
·
ng-app − This
directive defines and links an AngularJS application to HTML.
·
ng-model − This
directive binds the values of AngularJS application data to HTML input
controls.
·
ng-bind − This
directive binds the AngularJS Application data to HTML tags.

very nice blog.. please keep it
ReplyDelete