What is Angular | Angular Features |Angular Tutorial For Beginners
What is Angular?
What is Angular? This becomes our first question. Some people may already know and some may not. Somebody may also wonder if this is a new programming language. No, Angular is not a programming language, definitely not. Then what exactly it is? The answer is pretty simple. Angular is a framework that is used to build a Client-Side Application. It is an open-source front-end development tool by which we can develop mobile or web applications. It is based on Typescript. So before learning Angular you should have a decent knowledge of Typescript or Javascript. This technology is developed by Google.
In my previous blog(Course Overview), I have already given you a basic idea about the Client-side developer and its roles. Now here some of you may think what does the term Framework means.
Let me give you an example to explain the term.
Suppose you want to make a dish. And the ingredients like salt, oil, spices, etc are kept in different drawers of the kitchen. In such a situation, you will have difficulty in cooking and will take more time than necessary. So isn’t it better to keep those essential ingredients in a single drawer? By doing this you can save a lot of your effort and time. That single drawer is Framework. And those essential ingredients are the libraries(a chunk of code that is reusable). And your application is the dish you want to cook.
So the framework is nothing but a conceptual structure that will provide you set of libraries and tools at one place that will make your development easier and convenient.
Angular Features
Now the question arises that what makes Angular so special. Answer to that question is the following features that Angular holds :
1. SPA(Single Page Application) :
On the top of the list, Angular has a feature to develop Single Page Application. Now, What is this Single Page Application?
It is a web application or website in which each time when you interact with it, the complete web page will not get reloaded. Instead of that, only a particular portion of the page will get dynamically render or rewrite according to your request which makes the web application reactive and fast. One of the best examples of the SPA is Gmail.
2. Cross-Platform :
It simply means that an Angular app can support a variety of platforms. You can develop an application using Angular for the following platforms:
- Progressive Web Apps: It is a modern kind of Web App that gives the user an App-like experience with high performance, offline functionality, and zero-step installation.
- Native App: With the help of technologies like NativeScript, Ionic Framework and, React Native you can simply build a mobile application too.
- Desktop App: By using Angular you can easily create a desktop-installed application that will run across various OS like Mac, Windows, and Linux.
3. Speed and Performance :
No doubt if I would say Angular is meant for Speed and high performance. It is only because of the following things:
- Universal: Now you may think “okay I am learning Angular for front-end development, but what about the back-end? What should be the programming language with which Angular is compatible?”. The answer is anything you want. Java, .Net, PHP, NodeJS, and many more. Sounds cool right!
- Code Generation: Whatever template you will make, Angular will convert it into a highly optimized code so that Javascript virtual machine can easily interpret and will give you the benefits of hand-written code along with the productivity of the framework.
- Code Splitting: So there is a concept of Component Router(don’t worry you will learn that in later blogs) that makes splitting of code possible due to which only the required part of a web application will be rendered as per user’s request. Which makes Angular to develop a SPA(Single Page Application).
4. Productivity :
In terms of productivity, Angular is a champ! And Why not it can be. After all, it has loaded with too many features. It has a simple and powerful template syntax that can create a UI view quickly. It has a lot of popular IDE that will provide you intelligent code completion, error detecting, and other feedbacks. Microsoft’s VS code is one of the best examples of its IDE. And on top of it, Angular has CLI- a command-line tool that makes the process of Creating, Adding, Testing, or Deploying a component much faster. You will understand Angular CLI in more depth in a later blog.
5. Modularity :
One of the finest features of Angular is that it supports a Modular approach of programming which simply means similar functionalities will be kept together in the same modules. It allows code reusability and makes Angular much lighter and faster.
6. Miscellaneous features :
- Testing: Angular provides facilities for unit testing. Karma and Jasmine. With the help of these two, you can check your broken things every time you save the code. Karma is a JavaScript test runner tool created by the Angular team. And Jasmine is the testing framework for unit testing in Angular apps. Karma provides helpful tools that make it easier for us to call our Jasmine tests whilst we are writing code. With the help of the Jasmine test framework, the Angular CLI downloads and installs everything required for testing your application. By running ng test command, the app will be built in watch mode and the Karma test runner will get launched. Once that is done, you will see the output in the terminal plus, and the chrome browser will open up showing the output in Jasmine HTML Reporter.
- Animation Support: You can create high-performance, complex choreographies, and animation timelines with the help of very little code through Angular’s intuitive API(Application Program Interface).
8,423 views
Akash Pandey
Hi there! I'm Akash. I work as a Software Engineer in an IT firm and I love to share my knowledge. I hope you will like my posts. You can also follow me on Instagram.