AngularJS is an open source JavaScript based web application framework .It builds dynamic single page web applications. It is a client-side framework that supports multiple platforms. It was originally developed by in 2009 by Misko Hevery and Adam Abrons. Currently, Maintained by Google. Current version is 1.7.4. All the functions and commands of this framework use code templates written in HTML script. Moreover, the AngularJS framework has many powerful features. These features allow decoupling any application logic from DOM (Document Object Model) manipulation. It also provides a host of amazing and useful features.
AngularJS is a one of the most used JavaScript framework to build large scale and high performance web application while keeping them as easy-to-maintain. 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. Angularjs is most used and popular frameworks available today. Angular is the next generation framework where each tool was designed to work with every other tool in an interconnected today. Some reasons are why use Angularjs The Core features of angular.js are Advantages of using Angular.js as a framework are Data binding is the automatic synchronization of data between model and view components. ng-model directive is used in data binding. There are two ways for data binding Scope refers to the application model; it acts like glue between application controller and the view. Scopes are arranged in hierarchical structure and impersonate the DOM (Document Object Model) structure of the application. It can watch expressions and propagate events. Services are the singleton objects or functions that are used for carrying out specific tasks. It holds some business logic and these function can be called as controllers, directive, and filters and so on. AngularJS come with several built-in services. For example $https: service is used to make XMLHttpRequests (Ajax calls). Services are singleton objects which are instantiated only once in app. Like JavaScript, Angular expressions are code snippets that are usually placed in binding such as {{ expression }} The key difference between the JavaScript expressions and Angular expressions A directive is something that introduces new syntax; they are like markers on DOM element which attaches a special behavior to it. In any Angular.js application, directives are the most important components. Some of the commonly used directives are ng-model, ng-App, ng-bind, ng-repeat , ng-show etc. ng-app:Auto bootstrap AngularJS application. ng-initInitializes:AngularJS variables ng-model:Binds HTML control’s value to a property on the $scope object. ng-controller:Attaches the controller of MVC to the view. ng-bind:Replaces the value of HTML control with the value of specified AngularJS expression. ng-repeat:Repeats HTML template once per each item in the specified collection. ng-show:Display HTML element based on the value of the specified expression. ng-readonly:Makes HTML element read-only based on the value of the specified expression. ng-disabled:Sets the disable attribute on the HTML element if specified expression evaluates to true. ng-if:Removes or recreates HTML element based on an expression. ng-click:Specifies custom behavior when an element is clicked. In AngularJS the compiler during the compilation process matches text and attributes using interpolate service to see if they contains embedded expressions. As part of normal digest cycle these expressions are updated and registered as watches. script framework used for creating single web page applications. It allows you to use HTML as your template language and enables you to extend HTML’s syntax to express your application’s components clearly DI or Dependency Injection is a software design pattern that deals with how code gets hold of its dependencies. In order to retrieve elements of the application which is required to be configured when module gets loaded , the operation “config” uses dependency injection. These are the ways that object uses to hold of its dependencies Angular js routes enable you to create different URLs for different content in your application. Different URLs for different content enables user to bookmark URLs to specific content. Each such bookmark able URL in Angular.js is called a route A value in Angular JS is a simple object. It can be a number, string or JavaScript object. Values are typically used as configuration injected into factories, services or controllers. A value should be belonging to an Angular.js module. Injecting a value into an Angular.js controller function is done by adding a parameter with the same name as the value Compilation of HTML process occurs in following ways Provider is used by AngularJS internally to create services, factory etc. during config phase (phase during which AngularJS bootstraps itself). Below mention script can be used to create Math Service that we’ve created earlier. Provider is a special factory method with a method get() which is used to return the value/service/factory. $routeProvider is the key service which set the configuration of urls, maps them with the corresponding html page or ng-template, and attaches a controller with the sam In Angular 1 we do not allow intentional breaking changes to appear in versions where only the “patch” number changes. For example between 1.3.12 and 1.3.13 there can be no breaking changes. We do allow breaking changes happen between “minor” number changes. For example between 1.3.15 and 1.4.0 there will be a number of breaking changes. We also allow breaking changes between beta releases of Angular. For example between 1.4.0-beta.4 and 1.4.0-beta.5 there may be breaking changes. We try hard to minimize these kinds of change only to those where there is a strong use case such as a strongly requested feature improvement, a considerable simplification of the code or a measurable performance improvement. When adding new code to branches of Angular, have a very stringent commit policy: The Angular code base has a very large set of unit tests (over 4000) and end to end tests, which are pretty comprehensive. This means that a breaking change will require one or more tests to be changed to allow the tests to pass. So when a commit includes tests that are being removed or modified, this is a flag that the code might include a breaking change. When reviewing the commit we can then decide whether there really is a breaking change and if it is appropriate for the branch to which it is being merged. If so, then we require that the commit message contains an appropriate breaking change message. Additionally, when a commit lands in our master repository it is synced to Google where we test it against over 2000 applications using the test suites of these applications. This allows us to catch regressions quickly before a release. We’ve had a pretty good experience with this setup. Only bugs that affect features not used at Google or without sufficient test coverage, have a chance of making it through. Lastly, when we are making a release we generate updates to the change log directly from the commits. This generated update contains a highlighted section that contains all the breaking changes that have been extracted from the commits. We can quickly see in the new change log exactly what commits contain breaking changes and so can application developers when they are deciding whether to update to a new version of Angular. Each angular application consists of one root scope but may have several child scopes. As child controllers and some directives create new child scopes, application can have multiple scopes. When new scopes are formed or created they are added as children of their parent scope. Similar to DOM, they also create a hierarchical structure. A directive in AngularJS is a reusable component. Directives in AngularJS encapsulate all the behavioral properties and functionalities of an element in a semantic way, thereby keeping all of the functionality grouped together. This helps to keep track of changes of one HTML section in one place rather than tracking the changes on a global level in a script. There are 4 different types of directive. Link combines the directives with a scope and produces a live view. For registering DOM listeners as well as updating the DOM, link function is responsible. After the template is cloned it is executed. Service method is used to create a service whose purpose is to do some defined task. Factory method is used to define a factory which can later be used to create services as and when required. For creating the directive, factory method is used. It is invoked only once, when compiler matches the directive for the first time. By using $injector.invoke the factory method is invoked. Transpiling is a process of converting code from one language to another. In Angular, Traceur compiler is used for converting TypeScript to JavaScript so that browsers can understand. An injector is a service locator. It is used to retrieve object instances as defined by provider, instantiate types, invoke methods and load modules. There is a single injector per Angular application; it helps to look up an object instance by its name. AngularJS provides #https: control which works as a service to make ajax call to read data from the server. The server makes a database call to get the desired records. AngularJS needs data in JSON format. Once the data is ready, $https: can be used to get the data from server in the following manner: function studentController($scope,$https:) { var url = “data.txt”; $https:.get(url).success( function(response) { $scope.students = response; }); } ngModel adds these CSS classes to allow styling of form as well as control Angular.js combines the functionalities of most of the 3rd party libraries, it supports individual functionalities required to develop HTML5 Apps. While Backbone.js do their jobs individually. *ngFor directive is used for Iterating over a list of items and for Generating a new DOM element for each one. Because HTML has Angular brackets and “ng” sounds like “Angular”. AngularJS being a pure javaScript based library integrates easily with HTML. Step 1 − Include angularjs javascript libray in the html page <head> <script src = “https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js”></script> </head> Step 2 − Point to AngularJS app Next we tell what part of the HTML contains the AngularJS app. This done by adding the ng-app attribute to the root HTML element of the AngularJS app. You can either add it to html element or body element as shown below: <body ng-app = “myapp”> </body> AngularJS fits the definition of a framework the best, even though it’s much more lightweight than a typical framework and that’s why many confuse it with a library. AngularJS is 100% JavaScript, 100% client-side and compatible with both desktop and mobile browsers. So it’s definitely not a plugin or some other native browser extension. At the highest level, Angular does look like just another templating system. But there is one important reason why the Angular templating system is different, that makes it very good fit for application development: bidirectional data binding. The template is compiled in the browser and the compilation step produces a live view. This means you, the developers, don’t need to write code to constantly sync the view with the model and the model with the view as in other templating systems. Internationalization is a way to show locale specific information on a website. For example, display content of a website in English language in United States and in Danish in France. When the page is loaded in the browser, following things happen:What is AngularJS?
Why AngularJS?
What are the Core features of AngularJS?
What are the advantages of using AngularJS framework?
Can you explain data binding in AngularJS?
Can you define scope?
Can you explain services in AngularJS?
Can you explain Angular Expression?
What are the most used directives in AngularJS?
Can you explain string interpolation in AngularJS?
Can you explain Dependency Injection? and how an object or function can get a hold of its dependencies ?
What AngularJS routes do?
What makes AngularJS better?
What are the steps for the compilation process of HTML happens?
Can you explain provider?
What is function of $routeProvider?
Can you briefly explain the AngularJS versioning strategy?
Can you explain the concept of scope hierarchy? How many scope can an application have?
What is the importance of Scope?
Can you explain Directive?
Can you explain linking Function?
What is the difference between link and compile in AngularJS?
What is the difference between service and factory method?
Can you explain factory method in AngularJS?
What is Transpiling?
Can you define Injector?
How to make an ajax call using AngularJS?
What are the styling form that ngModel adds to CSS classes?
Mention the difference between AngularJS and Backbone.js?
What is *ngFor directive used for?
Explain why this project is called AngularJS? Why the namespace is called ng?
How AngularJS integrates with HTML?
Is AngularJS a library, framework, plugin or a browser extension?
Explain, Is AngularJS a templating system?
Can you explain internationalization?
Can you explain the boot process in AngularJS?
Related posts:
- Angular 2 Interview Questions and Answers
- Angular 4 Interview Questions and Answers
- Angular 8 Interview Questions
- Ionic Interview Questions and Answers
- Knockout.js Interview Questions and Answers
- Meteor.js Interview Questions and Answers
- Next.js Interview Questions and Answers
- React Native Interview Questions and Answers