Prerequisite For Learning AngularJS ?
For learning AngularJS, it is sufficient to know only some basic
• OOP, including encapsulation and inheritance
• Object creation, prototypes
• The Document Object Model (DOM)
• JavaScript functions, events, error handling
Basically, AngularJS is a JavaScript Framework for creating Single Page Web Applications.
What is the Difference Between Libraries And Frameworks
AngularJS is a Framework. There are so many JavaScript Libraries and Frameworks which are used for developing web applications. Many from us not cleared with these two things i.e. libraries and frameworks.
• Library - A collection of functions which are useful when writing web apps. Your code is in charge and it calls into the library when it sees fit. e.g.- jQuery.
• Frameworks - A particular implementation of a web application, where your code fills in the details. The framework is in charge and it calls into your code when it needs something app specific. e.g. - durandal, ember, etc.
Now you are thinking - if there are so many JavaScript libraries/frameworks used for creating single page applications like Backbone, Knockout, Ember, CanJS, Spine, Batman, Meteor etc. Then why there is a need of this another framework i.e. AngularJS or why should I have used AngularJS?
Goals Behind Design of AngularJS:
Following are the goals behind designing of AngularJS :
• Decouple DOM manipulation from application logic. So, that it will improve the testability of the code.
• Model-View-Controller pattern to organize structure of code. So, code will be well structured and it will remove testing difficulties.
• Decouple the client side of an application from the server side. This allows development work to progress in parallel.
• Guide to the developers from designing the UI through writing business logic to testing (unit-testing, end-to-end testing, mocks, test harnesses etc).
• MVC pattern to encourage loose coupling between presentation, data and logic components.
• Dependency injection, Angular brings traditional server-side services. So, burden on the backend will reduced.
• Leading too much lighter web applications.
Need And Advantages of AngularJS
• AngularJS is a framework which adapts and extends traditional HTML to better serve dynamic content through two-way data binding (view to model and model to view).
• Two-way data binding allows automatic synchronization of models and views. So that, it will reduce the amount of code from writing synchronization code.
• AngularJS data binding and dependency injection eliminate much of the code you currently have to write. And it is all happening within the browser, so it can be used with any server technology (such as Java, Dot Net, PHP etc).
• Templates (model + view) are rendered in plain HTML according to data contained in a scope defined in the model. As a result, AngularJS de-emphasizes DOM manipulation and improves testability & performance.
• AngularJS attempts to minimize the impedance mismatch between document centric HTML and what an application needs by creating new HTML constructs. Angular teaches the browser new syntax through construct directives.
• AngularJS simplifies application development by presenting a higher level of abstraction to the developer.
• Model-View-Controller architecture used to write well structured code as well as to encourage loose coupling between presentation, data and logic components.
• It is used to develop lighter web applications and to improve testability such as unit-testing, end-to-end testing, mocks, test harnesses etc.
Other Features :
• DOM control structures for repeating/hiding DOM fragments.
• Basic templating Directives.
• Support for forms and form validation.
• Routing, Deep-Linking, Reusable components.
• Attaching code-behind to DOM elements.
• Grouping of HTML into reusable components.
Conclusion :
I hope that this article would have helped you in understanding Prerequisite of AngularJS, Difference between Libraries And Frameworks, Goals behind AngularJS and Advantages of using AngularJS. Please share your knowledge if you know more about this attribute. Your feedback and constructive contributions are always welcome.
No comments:
Post a Comment