The web is constantly changing. It may not be so self-evident for a normal Internet user, but for developers, particularly front-end devs, it’s genuinely a bad dream. You would like to be centered all the time, since systems that were well known a year sometime recently, presently may be totally forgotten and abandoned. Indeed worse, frameworks that are still within the diversion are exceptionally regularly upgraded, so it’s difficult to anticipate what users can expostulate within the following discharge and how language structure might alter.
So, here you’re. You finally have chosen to learn Angular. But, sometime recently you begin creating your first app, it’s a great thought to undertake to get it MVC (Model-View-Controller) concept. It isn’t difficult to discover great depictions of MVC that are filled with data, pictures, and fabulous illustrations so, fair in a nutshell:
- every app user sees View,
- to navigate/manipulate an app you have to use Controllers,
- Controller is manipulating Model,
- Model updates the View, and again user sees a result of his action.
This approach keeps your code exquisite, clean and very clear for you and other designers. Now, take a look at other accessible plan designs, check the contrasts between them and select one, since Angular is an MVW (Model-View-Whatever) system, where “Whatever” implies “whatever works for you”. It may well be befuddling, but within the conclusion, everybody gets it.
If you want to make an AngularJS app, you have to:
- know how to bootstrap AngularJS app using <“ng-app”> attribute (recommended) or angular.bootstrap function directly in the .js file, which is both the easiest and the most important,
- Understand the life cycle of Angular, which has three phases:
- the bootstrap phase – when Angular starts initializing its components,
- the compilation phase– when web page and DOM tree is fully loaded, and a static page is replaced by a dynamic one, which represents the Angular View,
- the runtime data binding phase– when any changes in the $scope are immediately reflected in the View.
- know what interpolation and two-way data authoritative are, what Controller in Angular is and how it corresponds with the View by using a $scope or via “controllerAs” sentence structure. Official documentation says that “Scope is the stick between the application controller and the view”.
- know what Dependency Infusion is and how to communicate between controllers through Services. Later on, you’ll learn more about other conceivable outcomes, how to share information or hot to utilize $rootScope, but for now, stick with the Services.
- know common, useful directives that Angular provides. You’ve as of now learned few of them (“ng-app”, “ng-controller”). Afterward on, you ought to be able to form your claim orders, which can make your code cleaner and can be reused not as it were inside your app but moreover, in each app, you’ll make.
- learn and understand the digest cycle. It’ll assist you to get it how information binding in Angular really works and why you have to run digest circle manually.
Controller, Service, Module, Filter, Directive
At the starting, there’s a lot to memorize around Angular and it’s wording. If you want to know Angular well, you have to spend a few time on documentation and code cases. Each component is important when it comes to making a strong application. Let’s have a quick tour and see what those components do.
We already saw Controllers inactivity and how they compare with the see by utilizing $scope. You’re initializing controller in a see by utilizing “ng-controller” directive and including controller title to it. You’ll rest well when your Controller doesn’t have many lines of code, because there’s a huge likelihood that you just know what division of concerns is and how to put rationale into a Services, instead of keeping it in a Controller. If suddenly it is getting greater, perhaps there’s a way to refactor it?
As you as of now know, services are the leading places to share data inside your app. There are few sorts of Services that contrast from each other. If you want to store only a single esteem (or a single object), you ought to think approximately storing it in a ‘value’ service. It is self-explanatory: you would like to utilize one object/value, use ‘value’ service.
Another sort of benefit could be a ‘constant’. ‘Constant’ is the only object (or value) that can be set anywhere in a extend, indeed in a config module.
‘Provider’ is the most configurable service and the only one (besides ‘constant’), that can be placed in a ‘config’ function of a module and which runs during the compilation phase of an application. It expects to return a function ‘$get’.
‘Provider’ functions may be complex, so if you only want to retrieve data from the database or share methods between controllers, you should use ‘factory’ or ‘service’. The difference here is delicate but meaningful. Service is just a constructor function that will be called by using a ‘new’ keyword, while factory returns an object.
Directives are special components in your DOM which can be spoken to as an attribute, element title, CSS class or comment. AngularJS provides few built-in orders that assist you control DOM, like “ng-class”, “ng-if”, “ng-repeat” . Each built-in mandate uses “ng” prefix, so you’ll be able effectively to discover out which orders are built-in (unless you begin naming orders with the same “ng” prefix, which is of course not a great thought).
Taking from the official Angular documentation,the module is fair a holder for all components of your apps , such as mandates or controllers. Much obliged to that approach you’ll be able to have different modules within the same application, so there can be isolated modules for each highlight, reusable component, and application level module for application initialization.
Filters help formatting values in a non-destructive way, so they can be shown to the client in any case you need. There are few on them provided by default, for example’currency’ or ‘filter’, but a handle of making your possess channels is exceptionally simple. To apply a channel on an esteem fair use pipe ‘|’ in a View. Then again, you’ll utilize it straightforwardly interior the Controller.
Let’s get to work
So that’s it. I just gave you a few truly vital recommendations on how to start working with Angular. There’s still a part to learn almost this super cool system and you’ll probably find your own ways of getting recognizable with it, so I’m going to stop here and, at final, let you begin coding!