An In-Depth Review Of Angular

Alim Arslan Kaya
Geek Culture
Published in
4 min readJul 21, 2021

What is Angular and why is it important?

Story image

In this story, you will learn a lot about Angular and where to use it. I will be talking about Angular’s features, pros and cons, and more.

Note

If you want to see a comparison of React, Angular and Vue, make sure to check out my story about it.

Let’s start!

What is Angular?

Angular is an open-source, JavaScript framework written in TypeScript. Google maintains it, and its primary purpose is to develop single-page applications.

As a framework, Angular has clear advantages while also providing a standard structure for developers to work with. It enables users to create large applications in a maintainable manner.

Angular has a steep learning curve and is usually used when building large applications.

Angular Features

1. Document Object Model

Angular uses regular DOM. Consider that ten updates are made on the same HTML page. Instead of updating the ones that were already updated, Angular will update the entire tree structure of HTML tags.

2. TypeScript

TypeScript defines a set of types to JavaScript, which helps users write JavaScript code that is easier to understand. All of the TypeScript code compiles with JavaScript and can run smoothly on any platform.

3. Data Binding

Data binding is a process that enables users to manipulate web page elements through a web browser. It employs dynamic HTML and does not require complex scripting or programming. Data binding is used in web pages that include interactive components, such as calculators, tutorials, forums, and games. It also enables a better incremental display of a web page when pages contain a large amount of data.

Angular uses the two-way binding. The model state reflects any changes made in the corresponding UI elements. Conversely, the UI state reflects any changes in the model state. This feature enables the framework to connect the DOM to the model data through the controller.

4. RxJS

It’s not likely that you’ll be able to work with Angular without RxJS, a reactive programming library, aimed at handling asynchronous data with multiple events. It basically allows engineers to set up multiple channels of data exchange to ease resource consumption.

5. Testing

Angular uses the Jasmine testing framework. The Jasmine framework provides multiple functionalities to write different kinds of test cases. Karma is the task-runner for the tests that uses a configuration file to set the start-up, reporters, and testing framework.

Angular Architecture

Angular is a full-fledged model-view-controller (MVC) framework. It provides clear guidance on how the application should be structured and offers bi-directional data flow while providing real DOM.

1. Modules

An Angular app has a root module, named AppModule, which provides the bootstrap mechanism to launch the application.

2. Components

Each component in the application defines a class that holds the application logic and data. A component generally defines a part of the user interface.

3. Templates

The Angular template combines the Angular markup with HTML to modify HTML elements before they are displayed. There are two types of data binding:

  1. Event binding: Lets your app respond to user input in the target environment by updating your application data.
  2. Property binding: Enables users to interpolate values that are computed from your application data into the HTML.

4. Metadata

Metadata tells Angular how to process a class. It is used to decorate the class so that it can configure the expected behavior of a class.

5. Services

When you have data or logic that isn’t associated with the view but has to be shared across components, a service class is created.

6. Dependency Injection

This feature lets you keep your component classes crisp and efficient. It does not fetch data from a server, validate the user input, or log directly to the console. Instead, it delegates such tasks to the services.

Angular Cons

1. Performance

Dynamic applications didn’t always perform that well. Complex SPAs could be laggy and inconvenient to use due to their size. Angular’s performance has been improved a lot. But it’s still not perfect.

2. Steep learning curve

Angular is a full-fledged framework and definitely requires more time to learn it. That’s why not everyone really likes Angular.

Final Thoughts

I personally love Angular and use it a lot. I definitely recommend learning it, or at least trying it out.

I hope this story helped you and you’ve learned something new about Svelte.

And that’s it. Thanks for reading this story!

If you liked the story, make sure to let us know in the comments, and feel free to ask me anything you want.

Follow me on Twitter:

Support me on Patreon:

--

--

Alim Arslan Kaya
Geek Culture

Fullstack Go, Rust, Elixir, Python and TypeScript Enthusiast.