Getting Started with Angular - Stormpath Webinar, January 2017

Matt Raible
Matt RaibleWeb Developer, Java Champion, and Developer Advocate at Okta
Getting Started with
Matt Raible • @mraible
Blogger on raibledesigns.com
UI Architect and Java Champion
Father, Skier, Mountain
Biker, Whitewater Rafter
Web Framework Connoisseur
Who is Matt Raible?
Bus Lover
Stormpath Developer Evangelist
Getting Started with Angular - Stormpath Webinar, January 2017
Speed to Market & Cost Reduction
Complete Identity solution out-of-the-
box

Security best practices and updates
by default

Clean and elegant API/SDKs

Little to code, no maintenance
Stormpath User Management
My Angular Journey
Jobs on LinkedIn (US)
January 2017
0
1,500
3,000
4,500
6,000
Backbone AngularJS Ember Knockout React
Jobs on LinkedIn (US)
January 2017
0
650
1,300
1,950
2,600
Backbone Angular 2 Ember Knockout React
Jobs on LinkedIn (US) #ItsJustAngular
January 2017
0
2,250
4,500
6,750
9,000
Backbone Angular Ember Knockout React
LinkedIn Skills
January 2017
0
100,000
200,000
300,000
400,000
Backbone AngularJS Knockout Ember React
LinkedIn Skills
January 2017
0
22,500
45,000
67,500
90,000
Backbone Angular 2 Knockout Ember React
LinkedIn Skills #ItsJustAngular
January 2017
0
50,000
100,000
150,000
200,000
Backbone Angular Knockout Ember React
Google Trends
Getting Started with Angular - Stormpath Webinar, January 2017
Who wants to learn ?
Hello World with AngularJS
<!doctype html>
<html ng-app>
<head>
<title>Hello World</title>
</head>
<body>
<div>
<label>Name:</label>
<input type="text" ng-model="name" placeholder="Enter a name here">
<hr>
<h1>Hello {{name}}!</h1>
</div>
<script src="http://code.angularjs.org/1.5.8/angular.min.js"></script>
</body>
</html>
Getting Started with Angular - Stormpath Webinar, January 2017
Hello World with Angular
<!DOCTYPE html>
<html>
<head>
<title>Angular QuickStart</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="styles.css">
<!-- Polyfill(s) for older browsers -->
<script src="node_modules/core-js/client/shim.min.js"></script>
<script src="node_modules/zone.js/dist/zone.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="systemjs.config.js"></script>
<script>
System.import('app').catch(function(err){ console.error(err); });
</script>
</head>
<body>
<my-app>Loading AppComponent content here ...</my-app>
</body>
</html>
app/main.ts
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
platformBrowserDynamic().bootstrapModule(AppModule);
app/app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
@NgModule({
imports: [ BrowserModule ],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
app/app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: `<h1>Hello {{name}}</h1>`,
})
export class AppComponent { name = 'Angular'; }
Angular 2+ Choices
Choose a language

JavaScript (ES6 or ES5)

TypeScript

Dart

Anything that transpiles to JS

Setup dev environment

Install Node

Choose Package Manager

Choose Module Loader

Choose Transpiler

Choose Build Tool
Easiest ways to get started
Angular QuickStart

https://github.com/angular/quickstart 

Angular Seed

https://github.com/mgechev/angular-seed 

Angular CLI

https://github.com/angular/angular-cli
Angular Demo!
Start with angular-cli

Build Search Feature

Data via HTTP

Form Validation

CSS Frameworks

Security
Built-in Components
<div *ngIf="str == 'yes'"></div>
<div [ngSwitch]="myVar">
<div *ngSwitchWhen="'A'"></div>
</div>
<div [ngStyle]="{color: colorinput.value}"></div>
<div [ngClass]="{bordered: true}"></div>
<div *ngFor="let item of items;
let num = index"></div>
The asterisk (*) effect
https://angular.io/docs/ts/latest/guide/structural-directives.html#!#asteris
<div *ngIf="hero">{{hero}}</div>
<div *ngFor="let hero of heroes">{{hero}}</div>
The asterisk (*) effect
<!-- Examples (A) and (B) are the same -->
<!-- (A) *ngIf paragraph -->
<p *ngIf="condition">
Our heroes are true!
</p>
<!-- (B) [ngIf] with template -->
<template [ngIf]="condition">
<p>
Our heroes are true!
</p>
</template>
Angular Forms
Template-Driven

import { FormsModule } from '@angular/forms';
Reactive Forms

import { ReactiveFormsModule } from '@angular/forms';
Template-Driven Validation
<label for="name">Name</label>
<input type="text" class="form-control" id="name"
required
[(ngModel)]="model.name" name="name"
#name="ngModel" >
<div [hidden]="name.valid || name.pristine"
class="alert alert-danger">
Name is required
</div>
Reactive Forms Validation
<form [formGroup]="heroForm" *ngIf="active" (ngSubmit)="onSubmit()">
<label for="name">Name</label>
<input type="text" id="name" class="form-control"
formControlName="name" required >
<div *ngIf="formErrors.name" class="alert alert-danger">
{{ formErrors.name }}
</div>
</form>
Data Architectures
MVW / Two-way binding

Flux

Observables
Observables and RxJS
Promises emit a single value whereas streams emit many values

Imperative code “pulls” data whereas reactive streams “push” data

RxJS is functional
Streams are composable
Style Guides
John Papa’s Angular Style Guide

https://github.com/johnpapa/angular-styleguide 

Official Angular Style Guide

https://angular.io/styleguide
Upgrading from Angular 1.x to 2.x
Big Bang

Incremental

ngUpgrade import {UpgradeAdapter} from ‘@angular/upgrade';
var adapter = new UpgradeAdapter();
var app = angular.module('myApp', []);
adapter.bootstrap(document.body, ['myApp']);
Cool Projects
Web Workers and Service Workers

Universal Angular 2

Electron

ng-bootstrap and Fuel-UI

Angular Material

JHipster, baby!
ng-book 2
A comprehensive guide to developing with
Angular 2

Sample apps: Reddit clone, Chat with RxJS
Observables, YouTube search-as-you-type,
Spotify Search

How to write components, use forms and APIs

Over 5,500+ lines of code!
Who’s using Angular?
Made with AngularJS

https://www.madewithangular.com

Angular Expo

http://angularexpo.com

Awesome Angular

https://github.com/AngularClass/awesome-angular2
Angular Performance Checklist
Network performance

Bundling

Minification and Dead code
elimination

Ahead-of-Time (AoT) Compilation

Compression

Pre-fetching Resources

Lazy-Loading of Resources

Caching
https://github.com/mgechev/angular-performance-checklist
Shortcut to becoming an Angular Expert
JUST DO IT.
https://github.com/mraible/ng-demo

http://gist.asciidoctor.org/?github-
mraible/ng-demo//README.adoc

Shows what we did today, + unit tests,
integration tests and continuous
integration!
Angular and Angular CLI Demo
Open Source Angular Projects


AngularJS SDK

Angular SDK (beta)

JHipster 4 (almost beta)
Contact Me!

raibledesigns.com

@mraible

Presentations

slideshare.net/mraible

Code

github.com/mraible
Questions?
1 of 42

Recommended

The Art of Angular in 2016 - Devoxx France 2016 by
The Art of Angular in 2016 - Devoxx France 2016The Art of Angular in 2016 - Devoxx France 2016
The Art of Angular in 2016 - Devoxx France 2016Matt Raible
5.9K views50 slides
Testing Angular 2 Applications - HTML5 Denver 2016 by
Testing Angular 2 Applications - HTML5 Denver 2016Testing Angular 2 Applications - HTML5 Denver 2016
Testing Angular 2 Applications - HTML5 Denver 2016Matt Raible
1.3K views27 slides
The Art of Angular in 2016 - vJUG24 by
The Art of Angular in 2016 - vJUG24The Art of Angular in 2016 - vJUG24
The Art of Angular in 2016 - vJUG24Matt Raible
1.2K views47 slides
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Rich Web Experie... by
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Rich Web Experie...Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Rich Web Experie...
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Rich Web Experie...Matt Raible
3.4K views41 slides
The Art of Angular in 2016 - Devoxx UK 2016 by
The Art of Angular in 2016 - Devoxx UK 2016The Art of Angular in 2016 - Devoxx UK 2016
The Art of Angular in 2016 - Devoxx UK 2016Matt Raible
2.9K views50 slides
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx UK 2016 by
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx UK 2016Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx UK 2016
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx UK 2016Matt Raible
3.7K views38 slides

More Related Content

What's hot

Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - GeekOut 2016 by
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - GeekOut 2016Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - GeekOut 2016
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - GeekOut 2016Matt Raible
3.8K views39 slides
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015 by
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015Matt Raible
38.7K views40 slides
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx 2015 by
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx 2015Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx 2015
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx 2015Matt Raible
6.7K views39 slides
Play Framework vs Grails Smackdown - JavaOne 2013 by
Play Framework vs Grails Smackdown - JavaOne 2013Play Framework vs Grails Smackdown - JavaOne 2013
Play Framework vs Grails Smackdown - JavaOne 2013Matt Raible
16.4K views80 slides
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin... by
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...Matt Raible
68.4K views170 slides
Get Hip with JHipster - Colorado Springs OSS Meetup April 2016 by
Get Hip with JHipster - Colorado Springs OSS Meetup April 2016Get Hip with JHipster - Colorado Springs OSS Meetup April 2016
Get Hip with JHipster - Colorado Springs OSS Meetup April 2016Matt Raible
2K views51 slides

What's hot(20)

Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - GeekOut 2016 by Matt Raible
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - GeekOut 2016Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - GeekOut 2016
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - GeekOut 2016
Matt Raible3.8K views
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015 by Matt Raible
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015
Matt Raible38.7K views
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx 2015 by Matt Raible
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx 2015Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx 2015
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx 2015
Matt Raible6.7K views
Play Framework vs Grails Smackdown - JavaOne 2013 by Matt Raible
Play Framework vs Grails Smackdown - JavaOne 2013Play Framework vs Grails Smackdown - JavaOne 2013
Play Framework vs Grails Smackdown - JavaOne 2013
Matt Raible16.4K views
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin... by Matt Raible
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Matt Raible68.4K views
Get Hip with JHipster - Colorado Springs OSS Meetup April 2016 by Matt Raible
Get Hip with JHipster - Colorado Springs OSS Meetup April 2016Get Hip with JHipster - Colorado Springs OSS Meetup April 2016
Get Hip with JHipster - Colorado Springs OSS Meetup April 2016
Matt Raible2K views
Cloud Native Progressive Web Applications - Denver JUG 2016 by Matt Raible
Cloud Native Progressive Web Applications - Denver JUG 2016Cloud Native Progressive Web Applications - Denver JUG 2016
Cloud Native Progressive Web Applications - Denver JUG 2016
Matt Raible1K views
The Art of AngularJS in 2015 - Angular Summit 2015 by Matt Raible
The Art of AngularJS in 2015 - Angular Summit 2015The Art of AngularJS in 2015 - Angular Summit 2015
The Art of AngularJS in 2015 - Angular Summit 2015
Matt Raible37.3K views
The Modern Java Web Developer Bootcamp - Devoxx 2013 by Matt Raible
The Modern Java Web Developer Bootcamp - Devoxx 2013The Modern Java Web Developer Bootcamp - Devoxx 2013
The Modern Java Web Developer Bootcamp - Devoxx 2013
Matt Raible28.3K views
Microservices for the Masses with Spring Boot, JHipster, and JWT - Rich Web 2016 by Matt Raible
Microservices for the Masses with Spring Boot, JHipster, and JWT - Rich Web 2016Microservices for the Masses with Spring Boot, JHipster, and JWT - Rich Web 2016
Microservices for the Masses with Spring Boot, JHipster, and JWT - Rich Web 2016
Matt Raible4.2K views
Avoiding Common Pitfalls in Ember.js by Alex Speller
Avoiding Common Pitfalls in Ember.jsAvoiding Common Pitfalls in Ember.js
Avoiding Common Pitfalls in Ember.js
Alex Speller22.9K views
Java Web Application Security with Java EE, Spring Security and Apache Shiro ... by Matt Raible
Java Web Application Security with Java EE, Spring Security and Apache Shiro ...Java Web Application Security with Java EE, Spring Security and Apache Shiro ...
Java Web Application Security with Java EE, Spring Security and Apache Shiro ...
Matt Raible3.1K views
On Selecting JavaScript Frameworks (Women Who Code 10/15) by Zoe Landon
On Selecting JavaScript Frameworks (Women Who Code 10/15)On Selecting JavaScript Frameworks (Women Who Code 10/15)
On Selecting JavaScript Frameworks (Women Who Code 10/15)
Zoe Landon900 views
Testing Mobile JavaScript by jeresig
Testing Mobile JavaScriptTesting Mobile JavaScript
Testing Mobile JavaScript
jeresig215.2K views
Choosing the best JavaScript framework/library/toolkit by Hristo Chakarov
Choosing the best JavaScript framework/library/toolkitChoosing the best JavaScript framework/library/toolkit
Choosing the best JavaScript framework/library/toolkit
Hristo Chakarov2.5K views
JavaScript MV* Framework - Making the Right Choice by Dmitry Sheiko
JavaScript MV* Framework - Making the Right ChoiceJavaScript MV* Framework - Making the Right Choice
JavaScript MV* Framework - Making the Right Choice
Dmitry Sheiko5.5K views
What's New in Spring 3.1 by Matt Raible
What's New in Spring 3.1What's New in Spring 3.1
What's New in Spring 3.1
Matt Raible7.4K views
Going Node.js at Netflix by micahr
Going Node.js at NetflixGoing Node.js at Netflix
Going Node.js at Netflix
micahr14.6K views
jQuery Conference San Diego 2014 - Web Performance by dmethvin
jQuery Conference San Diego 2014 - Web PerformancejQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web Performance
dmethvin6.7K views
Javascript Frameworks Comparison - Angular, Knockout, Ember and Backbone by Deepu S Nath
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneJavascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Javascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Deepu S Nath45.7K views

Viewers also liked

Testing Angular Applications - Jfokus 2017 by
Testing Angular Applications - Jfokus 2017Testing Angular Applications - Jfokus 2017
Testing Angular Applications - Jfokus 2017Matt Raible
1.6K views35 slides
What's New in JHipsterLand - DevNexus 2017 by
What's New in JHipsterLand - DevNexus 2017What's New in JHipsterLand - DevNexus 2017
What's New in JHipsterLand - DevNexus 2017Matt Raible
660 views41 slides
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017 by
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017Matt Raible
2.7K views22 slides
Testing Angular 2 Applications - Rich Web 2016 by
Testing Angular 2 Applications - Rich Web 2016Testing Angular 2 Applications - Rich Web 2016
Testing Angular 2 Applications - Rich Web 2016Matt Raible
3.5K views42 slides
Modulair ontwikkelen met AngularJS by
Modulair ontwikkelen met AngularJSModulair ontwikkelen met AngularJS
Modulair ontwikkelen met AngularJSKasper Reijnders
3.4K views35 slides
Jan 2017 - a web of applications (angular 2) by
Jan 2017 - a web of applications (angular 2)Jan 2017 - a web of applications (angular 2)
Jan 2017 - a web of applications (angular 2)Kasper Reijnders
1.9K views51 slides

Viewers also liked(19)

Testing Angular Applications - Jfokus 2017 by Matt Raible
Testing Angular Applications - Jfokus 2017Testing Angular Applications - Jfokus 2017
Testing Angular Applications - Jfokus 2017
Matt Raible1.6K views
What's New in JHipsterLand - DevNexus 2017 by Matt Raible
What's New in JHipsterLand - DevNexus 2017What's New in JHipsterLand - DevNexus 2017
What's New in JHipsterLand - DevNexus 2017
Matt Raible660 views
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017 by Matt Raible
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017
Matt Raible2.7K views
Testing Angular 2 Applications - Rich Web 2016 by Matt Raible
Testing Angular 2 Applications - Rich Web 2016Testing Angular 2 Applications - Rich Web 2016
Testing Angular 2 Applications - Rich Web 2016
Matt Raible3.5K views
Modulair ontwikkelen met AngularJS by Kasper Reijnders
Modulair ontwikkelen met AngularJSModulair ontwikkelen met AngularJS
Modulair ontwikkelen met AngularJS
Kasper Reijnders3.4K views
Jan 2017 - a web of applications (angular 2) by Kasper Reijnders
Jan 2017 - a web of applications (angular 2)Jan 2017 - a web of applications (angular 2)
Jan 2017 - a web of applications (angular 2)
Kasper Reijnders1.9K views
Cloud Native PWAs (progressive web apps with Spring Boot and Angular) - DevNe... by Matt Raible
Cloud Native PWAs (progressive web apps with Spring Boot and Angular) - DevNe...Cloud Native PWAs (progressive web apps with Spring Boot and Angular) - DevNe...
Cloud Native PWAs (progressive web apps with Spring Boot and Angular) - DevNe...
Matt Raible619 views
Angular js 2 by Ran Wahle
Angular js 2Angular js 2
Angular js 2
Ran Wahle962 views
Introduction To Dart (GDG NY Jan 2014 Meetup) by Nitya Narasimhan
Introduction To Dart (GDG NY Jan 2014 Meetup)Introduction To Dart (GDG NY Jan 2014 Meetup)
Introduction To Dart (GDG NY Jan 2014 Meetup)
Nitya Narasimhan1.5K views
Apresentação Google I/O Extended Vitória by Fabiano Monte
Apresentação Google I/O Extended VitóriaApresentação Google I/O Extended Vitória
Apresentação Google I/O Extended Vitória
Fabiano Monte503 views
Um salve para evolução! construindo uma nova web com polymer by Marcus Silva
Um salve para evolução! construindo uma nova web com  polymerUm salve para evolução! construindo uma nova web com  polymer
Um salve para evolução! construindo uma nova web com polymer
Marcus Silva775 views
Polymer Elements: Tudo que você precisa saber para criar a web by Beto Muniz
Polymer Elements: Tudo que você precisa saber para criar a webPolymer Elements: Tudo que você precisa saber para criar a web
Polymer Elements: Tudo que você precisa saber para criar a web
Beto Muniz673 views
Chrome Dev Summit Highlights (NYC GDG Dec 2013) by Nitya Narasimhan
Chrome Dev Summit Highlights (NYC GDG Dec 2013)Chrome Dev Summit Highlights (NYC GDG Dec 2013)
Chrome Dev Summit Highlights (NYC GDG Dec 2013)
Nitya Narasimhan1.4K views
Polymer and Firebase: Componentizing the Web in Realtime by Juarez Filho
Polymer and Firebase: Componentizing the Web in RealtimePolymer and Firebase: Componentizing the Web in Realtime
Polymer and Firebase: Componentizing the Web in Realtime
Juarez Filho988 views
Material Design - do smartphone ao desktop by Hillary Sousa
Material Design - do smartphone ao desktopMaterial Design - do smartphone ao desktop
Material Design - do smartphone ao desktop
Hillary Sousa762 views
The Beautiful Simplicity of ES2015 by Brandon Belvin
The Beautiful Simplicity of ES2015The Beautiful Simplicity of ES2015
The Beautiful Simplicity of ES2015
Brandon Belvin590 views

Similar to Getting Started with Angular - Stormpath Webinar, January 2017

The Ultimate Getting Started with Angular Workshop - Devoxx UK 2017 by
The Ultimate Getting Started with Angular Workshop - Devoxx UK 2017The Ultimate Getting Started with Angular Workshop - Devoxx UK 2017
The Ultimate Getting Started with Angular Workshop - Devoxx UK 2017Matt Raible
346 views62 slides
The Ultimate Getting Started with Angular Workshop - Devoxx France 2017 by
The Ultimate Getting Started with Angular Workshop - Devoxx France 2017The Ultimate Getting Started with Angular Workshop - Devoxx France 2017
The Ultimate Getting Started with Angular Workshop - Devoxx France 2017Matt Raible
211 views62 slides
Using ReactJS in AngularJS by
Using ReactJS in AngularJSUsing ReactJS in AngularJS
Using ReactJS in AngularJSBoris Dinkevich
13K views41 slides
Yeoman AngularJS and D3 - A solid stack for web apps by
Yeoman AngularJS and D3 - A solid stack for web appsYeoman AngularJS and D3 - A solid stack for web apps
Yeoman AngularJS and D3 - A solid stack for web appsclimboid
16.1K views50 slides
Accessibility on SVG and SEO by
Accessibility on SVG and SEOAccessibility on SVG and SEO
Accessibility on SVG and SEOReinaldo Ferraz
627 views20 slides
Accessibility on SVG and SEO by
Accessibility on SVG and SEOAccessibility on SVG and SEO
Accessibility on SVG and SEOCentro Web
179 views20 slides

Similar to Getting Started with Angular - Stormpath Webinar, January 2017(20)

The Ultimate Getting Started with Angular Workshop - Devoxx UK 2017 by Matt Raible
The Ultimate Getting Started with Angular Workshop - Devoxx UK 2017The Ultimate Getting Started with Angular Workshop - Devoxx UK 2017
The Ultimate Getting Started with Angular Workshop - Devoxx UK 2017
Matt Raible346 views
The Ultimate Getting Started with Angular Workshop - Devoxx France 2017 by Matt Raible
The Ultimate Getting Started with Angular Workshop - Devoxx France 2017The Ultimate Getting Started with Angular Workshop - Devoxx France 2017
The Ultimate Getting Started with Angular Workshop - Devoxx France 2017
Matt Raible211 views
Yeoman AngularJS and D3 - A solid stack for web apps by climboid
Yeoman AngularJS and D3 - A solid stack for web appsYeoman AngularJS and D3 - A solid stack for web apps
Yeoman AngularJS and D3 - A solid stack for web apps
climboid16.1K views
Accessibility on SVG and SEO by Centro Web
Accessibility on SVG and SEOAccessibility on SVG and SEO
Accessibility on SVG and SEO
Centro Web179 views
Front End Development for Back End Java Developers - NYJavaSIG 2019 by Matt Raible
Front End Development for Back End Java Developers - NYJavaSIG 2019Front End Development for Back End Java Developers - NYJavaSIG 2019
Front End Development for Back End Java Developers - NYJavaSIG 2019
Matt Raible732 views
SPA, isomorphic and back to the server: our journey with JavaScript @ JsDay 2... by Alessandro Nadalin
SPA, isomorphic and back to the server: our journey with JavaScript @ JsDay 2...SPA, isomorphic and back to the server: our journey with JavaScript @ JsDay 2...
SPA, isomorphic and back to the server: our journey with JavaScript @ JsDay 2...
Alessandro Nadalin914 views
Be German About Your Frontend by Arush Sehgal
Be German About Your FrontendBe German About Your Frontend
Be German About Your Frontend
Arush Sehgal1.3K views
Front End Development for Back End Java Developers - Dublin JUG 2019 by Matt Raible
Front End Development for Back End Java Developers - Dublin JUG 2019Front End Development for Back End Java Developers - Dublin JUG 2019
Front End Development for Back End Java Developers - Dublin JUG 2019
Matt Raible506 views
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012 by crokitta
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
crokitta1.7K views
Angular.js for HTML Beginners. by Akira N
Angular.js for HTML Beginners.Angular.js for HTML Beginners.
Angular.js for HTML Beginners.
Akira N596 views
Next Steps in Responsive Design by Justin Avery
Next Steps in Responsive DesignNext Steps in Responsive Design
Next Steps in Responsive Design
Justin Avery6.7K views
Front Ends for Back End Developers - Spring I/O 2017 by Matt Raible
Front Ends for Back End Developers - Spring I/O 2017Front Ends for Back End Developers - Spring I/O 2017
Front Ends for Back End Developers - Spring I/O 2017
Matt Raible1.4K views
Bootiful Development with Spring Boot and Vue - RWX 2018 by Matt Raible
Bootiful Development with Spring Boot and Vue - RWX 2018Bootiful Development with Spring Boot and Vue - RWX 2018
Bootiful Development with Spring Boot and Vue - RWX 2018
Matt Raible424 views
Front End Development for Back End Java Developers - West Midlands Java User ... by Matt Raible
Front End Development for Back End Java Developers - West Midlands Java User ...Front End Development for Back End Java Developers - West Midlands Java User ...
Front End Development for Back End Java Developers - West Midlands Java User ...
Matt Raible436 views
Front End Development for Back End Java Developers - Jfokus 2020 by Matt Raible
Front End Development for Back End Java Developers - Jfokus 2020Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020
Matt Raible181 views
Front End Development for Back End Java Developers - South West Java 2019 by Matt Raible
Front End Development for Back End Java Developers - South West Java 2019Front End Development for Back End Java Developers - South West Java 2019
Front End Development for Back End Java Developers - South West Java 2019
Matt Raible440 views

More from Matt Raible

Micro Frontends for Java Microservices - Belfast JUG 2022 by
Micro Frontends for Java Microservices - Belfast JUG 2022Micro Frontends for Java Microservices - Belfast JUG 2022
Micro Frontends for Java Microservices - Belfast JUG 2022Matt Raible
26 views57 slides
Micro Frontends for Java Microservices - Dublin JUG 2022 by
Micro Frontends for Java Microservices - Dublin JUG 2022Micro Frontends for Java Microservices - Dublin JUG 2022
Micro Frontends for Java Microservices - Dublin JUG 2022Matt Raible
19 views56 slides
Micro Frontends for Java Microservices - Cork JUG 2022 by
Micro Frontends for Java Microservices - Cork JUG 2022Micro Frontends for Java Microservices - Cork JUG 2022
Micro Frontends for Java Microservices - Cork JUG 2022Matt Raible
7 views56 slides
Comparing Native Java REST API Frameworks - Seattle JUG 2022 by
Comparing Native Java REST API Frameworks - Seattle JUG 2022Comparing Native Java REST API Frameworks - Seattle JUG 2022
Comparing Native Java REST API Frameworks - Seattle JUG 2022Matt Raible
48 views87 slides
Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022 by
Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022
Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022Matt Raible
105 views42 slides
Comparing Native Java REST API Frameworks - Devoxx France 2022 by
Comparing Native Java REST API Frameworks - Devoxx France 2022Comparing Native Java REST API Frameworks - Devoxx France 2022
Comparing Native Java REST API Frameworks - Devoxx France 2022Matt Raible
130 views86 slides

More from Matt Raible(20)

Micro Frontends for Java Microservices - Belfast JUG 2022 by Matt Raible
Micro Frontends for Java Microservices - Belfast JUG 2022Micro Frontends for Java Microservices - Belfast JUG 2022
Micro Frontends for Java Microservices - Belfast JUG 2022
Matt Raible26 views
Micro Frontends for Java Microservices - Dublin JUG 2022 by Matt Raible
Micro Frontends for Java Microservices - Dublin JUG 2022Micro Frontends for Java Microservices - Dublin JUG 2022
Micro Frontends for Java Microservices - Dublin JUG 2022
Matt Raible19 views
Micro Frontends for Java Microservices - Cork JUG 2022 by Matt Raible
Micro Frontends for Java Microservices - Cork JUG 2022Micro Frontends for Java Microservices - Cork JUG 2022
Micro Frontends for Java Microservices - Cork JUG 2022
Matt Raible7 views
Comparing Native Java REST API Frameworks - Seattle JUG 2022 by Matt Raible
Comparing Native Java REST API Frameworks - Seattle JUG 2022Comparing Native Java REST API Frameworks - Seattle JUG 2022
Comparing Native Java REST API Frameworks - Seattle JUG 2022
Matt Raible48 views
Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022 by Matt Raible
Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022
Reactive Java Microservices with Spring Boot and JHipster - Spring I/O 2022
Matt Raible105 views
Comparing Native Java REST API Frameworks - Devoxx France 2022 by Matt Raible
Comparing Native Java REST API Frameworks - Devoxx France 2022Comparing Native Java REST API Frameworks - Devoxx France 2022
Comparing Native Java REST API Frameworks - Devoxx France 2022
Matt Raible130 views
Lock That Sh*t Down! Auth Security Patterns for Apps, APIs, and Infra - Devne... by Matt Raible
Lock That Sh*t Down! Auth Security Patterns for Apps, APIs, and Infra - Devne...Lock That Sh*t Down! Auth Security Patterns for Apps, APIs, and Infra - Devne...
Lock That Sh*t Down! Auth Security Patterns for Apps, APIs, and Infra - Devne...
Matt Raible98 views
Java REST API Framework Comparison - PWX 2021 by Matt Raible
Java REST API Framework Comparison - PWX 2021Java REST API Framework Comparison - PWX 2021
Java REST API Framework Comparison - PWX 2021
Matt Raible148 views
Web App Security for Java Developers - PWX 2021 by Matt Raible
Web App Security for Java Developers - PWX 2021Web App Security for Java Developers - PWX 2021
Web App Security for Java Developers - PWX 2021
Matt Raible135 views
Mobile App Development with Ionic, React Native, and JHipster - Connect.Tech ... by Matt Raible
Mobile App Development with Ionic, React Native, and JHipster - Connect.Tech ...Mobile App Development with Ionic, React Native, and JHipster - Connect.Tech ...
Mobile App Development with Ionic, React Native, and JHipster - Connect.Tech ...
Matt Raible187 views
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Joker... by Matt Raible
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Joker...Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Joker...
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Joker...
Matt Raible140 views
Web App Security for Java Developers - UberConf 2021 by Matt Raible
Web App Security for Java Developers - UberConf 2021Web App Security for Java Developers - UberConf 2021
Web App Security for Java Developers - UberConf 2021
Matt Raible152 views
Java REST API Framework Comparison - UberConf 2021 by Matt Raible
Java REST API Framework Comparison - UberConf 2021Java REST API Framework Comparison - UberConf 2021
Java REST API Framework Comparison - UberConf 2021
Matt Raible150 views
Native Java with Spring Boot and JHipster - SF JUG 2021 by Matt Raible
Native Java with Spring Boot and JHipster - SF JUG 2021Native Java with Spring Boot and JHipster - SF JUG 2021
Native Java with Spring Boot and JHipster - SF JUG 2021
Matt Raible69 views
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Sprin... by Matt Raible
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Sprin...Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Sprin...
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Sprin...
Matt Raible182 views
Reactive Java Microservices with Spring Boot and JHipster - Denver JUG 2021 by Matt Raible
Reactive Java Microservices with Spring Boot and JHipster - Denver JUG 2021Reactive Java Microservices with Spring Boot and JHipster - Denver JUG 2021
Reactive Java Microservices with Spring Boot and JHipster - Denver JUG 2021
Matt Raible182 views
Get Hip with JHipster - Colorado Springs Open Source User Group 2021 by Matt Raible
Get Hip with JHipster - Colorado Springs Open Source User Group 2021Get Hip with JHipster - Colorado Springs Open Source User Group 2021
Get Hip with JHipster - Colorado Springs Open Source User Group 2021
Matt Raible150 views
JHipster and Okta - JHipster Virtual Meetup December 2020 by Matt Raible
JHipster and Okta - JHipster Virtual Meetup December 2020JHipster and Okta - JHipster Virtual Meetup December 2020
JHipster and Okta - JHipster Virtual Meetup December 2020
Matt Raible226 views
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020 by Matt Raible
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020
Matt Raible434 views
Security Patterns for Microservice Architectures - SpringOne 2020 by Matt Raible
Security Patterns for Microservice Architectures - SpringOne 2020Security Patterns for Microservice Architectures - SpringOne 2020
Security Patterns for Microservice Architectures - SpringOne 2020
Matt Raible329 views

Recently uploaded

The Power of Heat Decarbonisation Plans in the Built Environment by
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built EnvironmentIES VE
69 views20 slides
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...ShapeBlue
79 views17 slides
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueShapeBlue
93 views15 slides
Digital Personal Data Protection (DPDP) Practical Approach For CISOs by
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOsPriyanka Aash
153 views59 slides
DRBD Deep Dive - Philipp Reisner - LINBIT by
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBITShapeBlue
140 views21 slides
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...Bernd Ruecker
50 views69 slides

Recently uploaded(20)

The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE69 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue79 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue93 views
Digital Personal Data Protection (DPDP) Practical Approach For CISOs by Priyanka Aash
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Priyanka Aash153 views
DRBD Deep Dive - Philipp Reisner - LINBIT by ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue140 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker50 views
Future of AR - Facebook Presentation by Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty62 views
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates by ShapeBlue
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates
ShapeBlue210 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely78 views
Business Analyst Series 2023 - Week 4 Session 7 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray10126 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue117 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue94 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue98 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson156 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
The Role of Patterns in the Era of Large Language Models by Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li80 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue103 views

Getting Started with Angular - Stormpath Webinar, January 2017

  • 1. Getting Started with Matt Raible • @mraible
  • 2. Blogger on raibledesigns.com UI Architect and Java Champion Father, Skier, Mountain Biker, Whitewater Rafter Web Framework Connoisseur Who is Matt Raible? Bus Lover Stormpath Developer Evangelist
  • 4. Speed to Market & Cost Reduction Complete Identity solution out-of-the- box Security best practices and updates by default Clean and elegant API/SDKs Little to code, no maintenance
  • 7. Jobs on LinkedIn (US) January 2017 0 1,500 3,000 4,500 6,000 Backbone AngularJS Ember Knockout React
  • 8. Jobs on LinkedIn (US) January 2017 0 650 1,300 1,950 2,600 Backbone Angular 2 Ember Knockout React
  • 9. Jobs on LinkedIn (US) #ItsJustAngular January 2017 0 2,250 4,500 6,750 9,000 Backbone Angular Ember Knockout React
  • 12. LinkedIn Skills #ItsJustAngular January 2017 0 50,000 100,000 150,000 200,000 Backbone Angular Knockout Ember React
  • 15. Who wants to learn ?
  • 16. Hello World with AngularJS <!doctype html> <html ng-app> <head> <title>Hello World</title> </head> <body> <div> <label>Name:</label> <input type="text" ng-model="name" placeholder="Enter a name here"> <hr> <h1>Hello {{name}}!</h1> </div> <script src="http://code.angularjs.org/1.5.8/angular.min.js"></script> </body> </html>
  • 18. Hello World with Angular <!DOCTYPE html> <html> <head> <title>Angular QuickStart</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="styles.css"> <!-- Polyfill(s) for older browsers --> <script src="node_modules/core-js/client/shim.min.js"></script> <script src="node_modules/zone.js/dist/zone.js"></script> <script src="node_modules/systemjs/dist/system.src.js"></script> <script src="systemjs.config.js"></script> <script> System.import('app').catch(function(err){ console.error(err); }); </script> </head> <body> <my-app>Loading AppComponent content here ...</my-app> </body> </html>
  • 19. app/main.ts import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app.module'; platformBrowserDynamic().bootstrapModule(AppModule);
  • 20. app/app.module.ts import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppComponent } from './app.component'; @NgModule({ imports: [ BrowserModule ], declarations: [ AppComponent ], bootstrap: [ AppComponent ] }) export class AppModule { }
  • 21. app/app.component.ts import { Component } from '@angular/core'; @Component({ selector: 'my-app', template: `<h1>Hello {{name}}</h1>`, }) export class AppComponent { name = 'Angular'; }
  • 22. Angular 2+ Choices Choose a language JavaScript (ES6 or ES5) TypeScript Dart Anything that transpiles to JS Setup dev environment Install Node Choose Package Manager Choose Module Loader Choose Transpiler Choose Build Tool
  • 23. Easiest ways to get started Angular QuickStart https://github.com/angular/quickstart Angular Seed https://github.com/mgechev/angular-seed Angular CLI https://github.com/angular/angular-cli
  • 24. Angular Demo! Start with angular-cli Build Search Feature Data via HTTP Form Validation CSS Frameworks Security
  • 25. Built-in Components <div *ngIf="str == 'yes'"></div> <div [ngSwitch]="myVar"> <div *ngSwitchWhen="'A'"></div> </div> <div [ngStyle]="{color: colorinput.value}"></div> <div [ngClass]="{bordered: true}"></div> <div *ngFor="let item of items; let num = index"></div>
  • 26. The asterisk (*) effect https://angular.io/docs/ts/latest/guide/structural-directives.html#!#asteris <div *ngIf="hero">{{hero}}</div> <div *ngFor="let hero of heroes">{{hero}}</div>
  • 27. The asterisk (*) effect <!-- Examples (A) and (B) are the same --> <!-- (A) *ngIf paragraph --> <p *ngIf="condition"> Our heroes are true! </p> <!-- (B) [ngIf] with template --> <template [ngIf]="condition"> <p> Our heroes are true! </p> </template>
  • 28. Angular Forms Template-Driven import { FormsModule } from '@angular/forms'; Reactive Forms import { ReactiveFormsModule } from '@angular/forms';
  • 29. Template-Driven Validation <label for="name">Name</label> <input type="text" class="form-control" id="name" required [(ngModel)]="model.name" name="name" #name="ngModel" > <div [hidden]="name.valid || name.pristine" class="alert alert-danger"> Name is required </div>
  • 30. Reactive Forms Validation <form [formGroup]="heroForm" *ngIf="active" (ngSubmit)="onSubmit()"> <label for="name">Name</label> <input type="text" id="name" class="form-control" formControlName="name" required > <div *ngIf="formErrors.name" class="alert alert-danger"> {{ formErrors.name }} </div> </form>
  • 31. Data Architectures MVW / Two-way binding Flux Observables
  • 32. Observables and RxJS Promises emit a single value whereas streams emit many values Imperative code “pulls” data whereas reactive streams “push” data RxJS is functional Streams are composable
  • 33. Style Guides John Papa’s Angular Style Guide https://github.com/johnpapa/angular-styleguide Official Angular Style Guide https://angular.io/styleguide
  • 34. Upgrading from Angular 1.x to 2.x Big Bang Incremental ngUpgrade import {UpgradeAdapter} from ‘@angular/upgrade'; var adapter = new UpgradeAdapter(); var app = angular.module('myApp', []); adapter.bootstrap(document.body, ['myApp']);
  • 35. Cool Projects Web Workers and Service Workers Universal Angular 2 Electron ng-bootstrap and Fuel-UI Angular Material JHipster, baby!
  • 36. ng-book 2 A comprehensive guide to developing with Angular 2 Sample apps: Reddit clone, Chat with RxJS Observables, YouTube search-as-you-type, Spotify Search How to write components, use forms and APIs Over 5,500+ lines of code!
  • 37. Who’s using Angular? Made with AngularJS https://www.madewithangular.com Angular Expo http://angularexpo.com Awesome Angular https://github.com/AngularClass/awesome-angular2
  • 38. Angular Performance Checklist Network performance Bundling Minification and Dead code elimination Ahead-of-Time (AoT) Compilation Compression Pre-fetching Resources Lazy-Loading of Resources Caching https://github.com/mgechev/angular-performance-checklist
  • 39. Shortcut to becoming an Angular Expert JUST DO IT.
  • 40. https://github.com/mraible/ng-demo http://gist.asciidoctor.org/?github- mraible/ng-demo//README.adoc Shows what we did today, + unit tests, integration tests and continuous integration! Angular and Angular CLI Demo
  • 41. Open Source Angular Projects 
 AngularJS SDK Angular SDK (beta) JHipster 4 (almost beta)