Hey everyone welcomes back to another Topic on the angular series in this session we're going to cover the topic of
What Is Angular
I'm sure all of you use mobile and web applications are it from social media to health care e-commerce and net banking these apps are used by billions of people across the globe now the main reason we use these apps is that they offer seamless user experience and interface but how are they developed to provide such reliability one of the frameworks that are widely used to build such robust apps are angular so let's dive into the session now
so here is a list of topics that we're going to be covering
1)Why Angular was introduced??
2)What is Angular??
3)Features of Angular
4)Angular architecture
5)Advantages of Angular
6)Imitations of Angular
7)Angular learning curve
8)Companies Using Angular
1)Why Angular was introduced:-
why angular now javascript is the most commonly used client-side scripting language it is written into HTML documents enabling interactions with web pages in many unique ways so as a relatively easy to learn a language with almost pervasive support it is exceptionally well suited to develop modern applications but the question arises is javascript ideal for developing single-page applications that require modularity testability and other features perhaps not however we have a variety of
frameworks and libraries designed to help us with such things concerning front-end development angular and javascript together bring in structure and consistency to your web applications and also
provide scalability and maintainability angular is specifically developed for single-page applications.
2)What is Angular:-
what exactly is angular is an open-source javascript framework written completely in typescript
now it was primarily aimed to develop single-page applications and is maintained by Google. angular as a framework provides a few advantages while also providing a standard structure for developers it is designed for web desktop and mobile platforms if you have a doubt here as to what exactly single-page applications are let me help you with that now these single-page applications are basically applications that get loaded just once so the main page gets loaded onto your browser so any further interactions does not lead to loading of subsequent pages anything that has to be done further is just an addition to the already loaded page so these single-page applications are primarily developed using angular.
3)Features of Angular
we have four features that we're going to be discussing
1)Document object model
2)Typescript
3)Data binding
4)Testing
let's look at them one by one now
1)Document object model
The document object model treats an XML or an HTML document as a tree structure nowhere every node in the tree structure defines an object representing a part of your document angular uses the regular dom now let's suppose you've made 10 updates on a single HTML page so every time you make a change the corresponding dom or the tree structure needs to be updated now angular updates the entire tree structure of HTML tags.
2)Typescript
Now typescript defines a set of types to javascript which helps you write javascript that is easier to understand now all the typescript code compiles down to basic javascript that can run smoothly on any platform now typescript is not mandatory for developing an angular application but it is highly recommended the main reason is highly recommended is that it offers better syntactic structure
while making the codebase easier to understand and maintain now typescript can be installed as an
npm package now to do that you just have to run the command npm install hyphen g typescript on your command prompt.
3)Data Binding
Now data binding is a process that allows you to manipulate web page elements using the web browser now it mainly employs dynamic HTML and does not require complex scripting or programming
it is used in web pages that include interactive components like calculators tutorials games etc now an incremental display of a web page makes data binding extremely convenient when pages contain a large amount of data when it comes to angular it uses two-way data binding so any changes made in the UI element is reflected in the corresponding model state and conversely, any changes made in the model state are reflected onto the UI state this allows the framework to connect the term to the model data via the controller.
4)Testing
Angular uses jasmine to run its various tests the jasmine framework allows various functionalities
to write different kinds of test cases karma is a task runner for the tests that use a configuration
file to set the startup reporters and testing framework so, with that, we've covered the features
of angular.
4)Angular architecture
Now angular is a full-fledged MVC framework it provides a strong opinion on how the application should be structured and offers bi-directional data flow and updates to real dom MVC short for the model view controller is an architectural pattern that separates the application layer into model view and controller the model here relates to all the data related logic view on the other hands is used for UI logic of the application and the controller is the brain of the setup now it is an interface between the model.
5)Advantages of Angular
1)Custom Components:-
Angular allows you to build your own components that can pack functionality along with rendering logic into reusable pieces.
2)Data Binding:-
As discussed angular allows you to effortlessly move your data from your javascript code to the view
and react to user events without having to write any code yourself.
3)Dependency Injection:-
Angular allows you to write modular services and have them injected wherever they are needed this greatly improves the testability and reusability of the same.
4)Testing Angular:-
Has been built from the ground up with testability, in mind, you can literally, test every part of your application.
5)Comprehensive:-
Angular is a full-fledged framework and provides out-of-the-box solutions for server communication
routing and more lastly we have excellent.
6)Browser compatibility:-
Angular is cross-platform and browser compatible an angular application can typically run on all browsers beat chrome firefox safari and platforms like windows mac os and Linux now many versions of angular have been released ever since its inception all of these versions have added to the efficient working of the framework nowhere are two different versions released.
6)Imitations of Angular
1)Sleep learning curve:-
Now since angular is a complete full-fledged framework it becomes difficult for learners to begin with
you need to be acquainted with simple topics and then move on to more advanced topics to become proficient in this language.
2)Limited SEO options:-
Now angular offers limited SEO options and poor accessibility to search engine crawlers.
3)Verbose and complex:-
Now a common issue faced by the angular community is the verbosity of the framework, it also poses to be complex compared to other front-end tools.
4)Migration:-
Now one of the drawbacks of angular is poor migration it becomes difficult to port legacy code to angular style architecture also with each new release, it is painful to upgrade and a lot of them are not backward compatible.
7)Angular learning curve
Now if you wish to learn angular you need to be acquainted with basic topics in angular some of
they are:-
1)Directives
2)Modules
3)Decorators
4)Components
5)Services
6)Dependency injection
7)Pipes and templates
now once you've mastered your basics you will want to go and understand more advanced topics such as:-
1)Change detection
2)Zones
3)AoT compilation
4)Rx.js
however, the learning curve of angular is clear-cut in the beginning, it could be a little intimidating but once you start using the tool it becomes way easier to comprehend and understand what is going on.
8)Companies Using Angular
let's look at some of the companies that use angular today many top tier companies like:-
Nike
Forbes
HBO
Sony
Up work
among others readily deploy angular so with that we conclude the session I hope it was informative if you have any doubts or questions let us know in the comment section below thank you so much for being here.
0 Comments