A brief History of Angular

why you should start using it

That's me, Martina

GDE in Angular

Trainer and Consultant

Women Techmakers Ambassador

@MartinaKraus11

Angular is a platform that makes it easy to build applications with the web

@MartinaKraus11

Values

  • Apps that users loves to use
  • Apps that developers love to build
  • community where everyone feels welcome

@MartinaKraus11

AngularJS → Angular

  • Same philosophies
  • Simplified
  • Designed for scale
  • Built on modern web

@MartinaKraus11

History

@MartinaKraus11

Release Cycle

@MartinaKraus11

In general, you can expect the following release cycle:

  • A major release every 6 months

  • 1-3 minor releases for each major release

  • A patch release almost every week

https://angular.io/guide/releases

 

tslint

@MartinaKraus11

Since Angular v12 no tslint file is generated anymore

 

 

ng add @angular-eslint/schematics

 

@MartinaKraus11

Template

@MartinaKraus11

WebComponents

@MartinaKraus11

Heavy usage of RxJS

Angular empowers you to

  • Move fast
  • Scale smoothly
  • Reach further

@MartinaKraus11

Built on modern web

  • Modules
  • Classes
  • TypeScript
  • WebComponents

@MartinaKraus11

@MartinaKraus11

But it's slow ...

... and the learning curve it too high

@MartinaKraus11

Angular's bundle size is too big

@MartinaKraus11

@MartinaKraus11

Angular-Apps

Others

Delta.com: 4.2MB

Forbes.com: 5.7MB

Android Messages: 1.1MB

Grubhub: 3.4MB

microsoft.com is 1.4MB

amazon.com is 7.5MB

theverge.com is 9.6MB

Wikipedia pages are 223KB

reddit.com is 4.9MB

netflix.com is 4.2MB 

twitter.com is 3.5MB

Ivy to the rescue

@MartinaKraus11

  • New rendering Engine since v9

Template Engine

View Engine

Ivy

v2

v4

v9

12.2.11

The future with Angular Ivy

@MartinaKraus11

  • Sets the ground for Angular Elements
  • Introduces new non-zone.js based change detection

  • Uses higher-order components

  • Lazy loaded components

  • Ivy is an enabler

The ecosystem

@MartinaKraus11

        Angular          Protractor     Forms             PWA             Augury                                       Router         Elements        CDK.

Language Services

        Universal          Karma             Labs          Compiler             i18n                Http           Material     Animations           CLI

Angular CLI

@MartinaKraus11

  • ng new
  • ng generate
  • ng serve
  • ng build
  • ng add 
  • ng update

Angular CLI

@MartinaKraus11

Angular CLI

@MartinaKraus11

 

Type

Usage

Component

ng   g   component book-list

Directive

ng   g   directive tooltip

Service

ng   g    service book-data

Pipe

ng   g     pipe shout

Interface

ng   g     interface book

Class

ng   g     class book

Common Tasks

@MartinaKraus11

Router

Http

Forms

Write better code

@MartinaKraus11

Protractor & Karma

Language Services

Angular Material & CDK

@MartinaKraus11

Best practices & behaviors for component libraries

Reach further

@MartinaKraus11

  • PWA
  • NativeScript
  • Electron
  • Elements

Enterprise architecture

@MartinaKraus11

  • Support for Monorepos
  • Angular Libs and Applications
  • Easy to share code between different libraries
  • Code generation with Schematics

Ok, that sounds awesome... but when should I not use Angular?

@MartinaKraus11

@MartinaKraus11

If you are used to structuring your applications on your own and don't like to be forced into an architecture

@MartinaKraus11

Angular can easily weigh you down

@MartinaKraus11

Little support for SEO and accessibility

Thank you !!!

kraus.martina@gmail.com

@MartinaKraus11

martina-kraus.io

Ping me:

Slides: slides.com/martinakraus/intro-angular

Short Into to Angular

By Martina Kraus

Short Into to Angular

Short Into to Angular

  • 464