Basics Of Angular And Its Versions - Part One

What is Angular?

Angular is the next version of Google’s highly popular MV* framework for building complex web applications. It takes a web component-based approach for building powerful applications for the web. Angular is used along with TypeScript by default, which provides support for ECMAScript 5, ECMAScript 6, ECMAScript 7 and above. We can write the entire Angular code using simple JavaScript code as well but honestly, I would say there are a few serious issues with it. I recommend using TypeScript because it is very simple to learn and use. TypeScript is purely based on OOP principles, which is good news for back-end developers.

Angular is completely rewritten which introduces a modular component-based approach with TypeScript (which compiles to JavaScript).

Angular 2.0.0 was released on September 14, 2016 and the latest version now is 5.2.0-beta.1 (20th December 2017). You can find the entire release cycle at the following link. Google is going to release Angular 6 in the months of March / April 2018.

Features and Benefits

  • Cross-platform
  • Mobile First
  • Future Ready
  • Flexible Development
  • Speed and Performance
  • Supports server-side pre-rendering
  • Simple and Expressive
  • Comprehensive Routing
  • Animations Support
  • Hierarchical Dependency Injection
  • Support for Web Components
  • Supports Material Design
  • Internationalization and localization (i18n) & Accessibility
  • Angular CLI
  • Very Good Testing Support
  • In-build XSS preventions.

Why Angular

  • Smaller, Simpler and Faster
    Angular is the richest framework with many features and it is very easy to understand. It is powerful, highly secure, and faster framework.
  • OOPS principles
    We can write the Angular code using many languages (TypeScript, JavaScript, ECMAScript etc.), whereas TypeScript is the default language for Angular which is completely based on OOP principles. Since TypeScript supports all the OOP principles, the back-end developers (like C#, Java etc.) find it very easy to learn and write Angular code.

  • Component-based
    We know that AngularJS is completely based on Controllers, whereas Angular is completely rewritten and it is completely based on Components. It helps the applications to divide into multiple components and import them wherever we need them. Unlike AngularJS, Angular makes it very easy to communicate among components.

  • Server side rendering
    Unlike AngularJS, Angular supports server-side rendering.
  • Mobile Support

    • Like React Native, Angular supports native applications for Mobile platforms.
    • We know that AngularJS has a performance issue for Mobile devices. While keeping that point in mind, Angular is designed for Mobile devices with huge performance improvement and also, it is optimized for memory efficiency.
    • If we compare the front-end frameworks focusing their performance shoot-out, then Angular is the topmost framework which overtakes other frameworks including React.

  • Animation support
    Angular gives very attractive Animation support.

  • Security
    Angular provides a very nice inbuilt security mechanism.

  • Dependency Injection
    Dependency Injection is a great feature of Angular which has the ability to inject Components, Services, Directives etc. at runtime as per the need.
  • Data-Binding
    Data-binding is another core feature of the Angular framework. Whatever data-binding issues were present in AngularJS, keeping them in mind, the Angular Data-Binding feature is designed with a lot of groundwork. It is now highly matured, you can see a lot of improvements in change detection strategy.
  • Templates
    We can create HTML UI views with simple and powerful Template syntaxes.
  • TypeScript
    TypeScript has been successful even though it  originated from Microsoft and was designed and built by Anders Hejlsberg (the language designer of C#).

Browsers Support

  • Latest versions of Chrome, Edge, Firefox, IE and Safari
  • Tested for older browsers including IE9+ and Android 4.1+

Frameworks & Tools

Popular code editors which support Angular where we can write, compile and run the Angular code,

  • Visual Studio Code
  • Webstorm
  • IntelliJ
  • Sublime Text
  • Atom Editor
  • Angular IDE
  • ALM IDE
  • Brackets
  • Vim Editor

Test Frameworks

Angular supports many testing frameworks to test the Angular code as listed below in the screenshot.

Angular

Useful links

  • https://angular.io/
  • https://github.com/angular/angular
  • http://www.angular2.com/