SlideShare a Scribd company logo
T H E A N G U L A R R O A D 

F R O M 1 . X T O 2 . X
VA S S I L I S P I T S O U N I S
VA S S I L I S P I T S O U N I S
Web Developer since 2000

Front End mind & code oriented

Having (serious) fun with
G I T H U B . C O M / VA P I T S
@ VA P I T S
F O L L O W M E AT
L I N K E D I N . C O M / I N / VA P I T S
C O N T E N T S
• 2.0 Facts & Strengths
• Why TypeScript
• Now & Then
• Platform Tools
• Starters
• The Angular React Debate
• Tip: Move code logic above framework
• Q & A
FA C T S 2 . 0
• It’s a complete new approach, NOT
an Angular 1.x upgrade
• Supports several languages including
plain JavaScript, TypeScript, and
Dart.
• It is MUCH (really) faster.
• Provides you everything that you
need to create a web app
• More than a framework…
S T R E N G T H S
• Perfomance
• Server-side rendering
• Routing
• Community and team
• CLI - Universal - Mobile
• TypeScript (yes, I admit it finally)
W H Y T Y P E S C R I P T
• Angular 2.0 favourite
• Can compile to any JS version
• Optionally static typing and type inference
• Enhanced IDE support
• Adoption
T H E NN O W C
A
N
I 

W
A
L
K 

T
H
E 

S
A
M
E 

R
O
A
D
?
N G - R E P E AT
N G - M O D E L
N G - C O N T R O L L E R 

…
* N G F O R
[ ( N G M O D E L ) ]
@ C O M P O N E N T 

…
A N G U L A R 1 . X A N G U L A R 2 . 0
<body ng-app="myApp">
import { bootstrap } from '@angular/platform-browser-dynamic';
import { AppComponent } from './app.component';
bootstrap(AppComponent);
A N G U L A R 1 . X A N G U L A R 2 . 0
<body ng-app="myApp">
import { bootstrap } from '@angular/platform-browser-dynamic';
import { AppComponent } from './app.component';
bootstrap(AppComponent);
<div ng-class="{active: isActive}">
<div [ngClass]="{active: isActive}">
<div [class.active]="isActive">
A N G U L A R 1 . X A N G U L A R 2 . 0
<body ng-app="myApp">
import { bootstrap } from '@angular/platform-browser-dynamic';
import { AppComponent } from './app.component';
bootstrap(AppComponent);
<div ng-class="{active: isActive}">
<div [ngClass]="{active: isActive}">
<div [class.active]="isActive">
<button ng-click="myFunction($event)"> <button (click)="toggleImage($event)">
A N G U L A R 1 . X A N G U L A R 2 . 0
<body ng-app="myApp">
import { bootstrap } from '@angular/platform-browser-dynamic';
import { AppComponent } from './app.component';
bootstrap(AppComponent);
<div ng-class="{active: isActive}">
<div [ngClass]="{active: isActive}">
<div [class.active]="isActive">
<button ng-click="myFunction($event)"> <button (click)="toggleImage($event)">
ng-controller
@Component({
selector: ‘router-outlet',
templateUrl:’app/my.template.component.html',
styleUrls: [‘app/my.template.component.css'],
})
A N G U L A R 1 . X A N G U L A R 2 . 0
ng-href
<a [href]="angularDocsUrl">Angular Docs</a>
<a [routerLink]="['Home']">Home</a>
A N G U L A R 1 . X A N G U L A R 2 . 0
ng-href
<a [href]="angularDocsUrl">Angular Docs</a>
<a [routerLink]="['Home']">Home</a>
<input ng-model="myScope"/> <input [(ngModel)]="myVariable" />
A N G U L A R 1 . X A N G U L A R 2 . 0
ng-href
<a [href]="angularDocsUrl">Angular Docs</a>
<a [routerLink]="['Home']">Home</a>
<input ng-model="myScope"/> <input [(ngModel)]="myVariable" />
<li ng-repeat="user in users"> <li *ngFor="let user of users">
A N G U L A R 1 . X A N G U L A R 2 . 0
ng-href
<a [href]="angularDocsUrl">Angular Docs</a>
<a [routerLink]="['Home']">Home</a>
<input ng-model="myScope"/> <input [(ngModel)]="myVariable" />
<li ng-repeat="user in users"> <li *ngFor="let user of users">
<div ng-style="{color: colorPreference}">
<div [ngStyle]="{color: colorPreference}">
<div [style.color]="colorPreference">
A N G U L A R 1 . X A N G U L A R 2 . 0
ng-href
<a [href]="angularDocsUrl">Angular Docs</a>
<a [routerLink]="['Home']">Home</a>
<input ng-model="myScope"/> <input [(ngModel)]="myVariable" />
<li ng-repeat="user in users"> <li *ngFor="let user of users">
<div ng-style="{color: colorPreference}">
<div [ngStyle]="{color: colorPreference}">
<div [style.color]="colorPreference">
orderBy & filter expresión N O N E !
P L AT F O R M
T O O L S
• Generate a New Project
• Generate Components, Directives, Pipes
and Services, Routes
• Creating a Build
• Running Unit Tests
• Running End-to-End Tests
• Deploying the App via GitHub Pages
• Support for offline applications
• CSS preprocessor integration
• 3rd Party Library Installation
H T T P S : / / C L I . A N G U L A R . I O
• CLI, that helps a lot…
• SERVER
• E2E
• UNIT TESTS
• READY TO GO
• ANGULAR OFFICIAL SUPPORT - PLANS TO MERGE
P R O S C O N S
• Early Beta state
H T T P S : / / C L I . A N G U L A R . I O
• Super Easy
• Insane perfomance
• Works with your current 2.0
project
H T T P S : / / U N I V E R S A L . A N G U L A R . I O
• SEO Friendly
• Social sites preview finally
works
H T T P S : / / M O B I L E . A N G U L A R . I O
Create an installable mobile web app with Angular CLI
Make the App Installable with Web App Manifest
Add an app shell component to the App
Add basic offline capabilities with Service Worker
A N G U L A R 2 . 0 S TA R T E R S
A N G U L A R 2 W E B PA C K S TA RT E R
A N G U L A R 2 - W E B PA C K
H T T P S : / / G I T H U B . C O M / P R E B O O T / A N G U L A R 2 - W E B PA C K
H T T P S : / / G I T H U B . C O M / A N G U L A R C L A S S / A N G U L A R 2 - W E B PA C K - S TA RT E R
A N G U L A R 2 W E B PA C K S TA R T E R
• Popular
• Covers all needs
• Ready to go
• Webpack
• TypeDoc



• Not much, maybe more than you need if
you build a small app
P R O S
C O N S
A N G U L A R 2 - W E B PA C K
• Covers all needs
• Ready to go
• Webpack
• Smaller size
• TypeDoc Documentation



• Not big community around
• No Releases strategy
P R O S
C O N S
Let’s have a pause…
T H E A N G U L A R - R E A C T D E B AT E
H E R E A R E S O M E U S E R S C O M M E N T I N G R E L AT E D A RT I C L E S
A FA I R C O M PA R I S O N I S N O T
P O S S I B L E , B U T:
A N G U L A R V S R E A C T
• Both are great solutions
• Still Angular is a framework
(or more) React is a library
• Angular is HTML Centric
• React is JS Centric
B A C K T O T H E R O A D
M O V E Y O U R L O G I C A B O V E F R A M E W O R K
S E E T H E T R A N S I T I O N A S A N O P P O RT U N I T Y T O
2 0 1 6
U N T I L N O W ( W E L L U S U A L LY ) W E F O L L O W T H I S A P P R O A C H
Framework
C O D E L O G I C M O D U L E S S E R V I C E S
C O M P O N E N T S D I R E C T I V E S C O N T R O L L E R S
R E S U LT
G O A B O V E F R A M E W O R K A N D F E E L F R E E
Framework
C O D E L O G I C
S E R V I C E SC O M P O N E N T S D I R E C T I V E S
R E S U LT
Logic
S I M P L E & E A S Y
R E S O U R C E S
Angular-CLI

https://cli.angular.io/
Angular Universal

https://universal.angular.io/
Angular Mobile

https://mobile.angular.io/


Angular2 Webpack Starter
https://github.com/AngularClass/angular2-webpack-starter
angular2-webpack
https://github.com/preboot/angular2-webpack
Documentation

https://angular.io/docs/
G I T H U B . C O M / VA P I T S @ VA P I T S L I N K E D I N . C O M / I N / VA P I T S
Q & A
Follow me…

More Related Content

What's hot

Creating an Angular 2 Angular CLI app in 15 Minutes Using MaterializeCSS & Fi...
Creating an Angular 2 Angular CLI app in 15 Minutes Using MaterializeCSS & Fi...Creating an Angular 2 Angular CLI app in 15 Minutes Using MaterializeCSS & Fi...
Creating an Angular 2 Angular CLI app in 15 Minutes Using MaterializeCSS & Fi...
Tracy Lee
 
JavaScript, React Native and Performance at react-europe 2016
JavaScript, React Native and Performance at react-europe 2016JavaScript, React Native and Performance at react-europe 2016
JavaScript, React Native and Performance at react-europe 2016
Tadeu Zagallo
 
Creating BananaJS with Angular 2, Angular CLI, and Material Design
Creating BananaJS with Angular 2, Angular CLI, and Material DesignCreating BananaJS with Angular 2, Angular CLI, and Material Design
Creating BananaJS with Angular 2, Angular CLI, and Material Design
Tracy Lee
 
A Debugging Adventure: Journey through Ember.js Glue
A Debugging Adventure: Journey through Ember.js GlueA Debugging Adventure: Journey through Ember.js Glue
A Debugging Adventure: Journey through Ember.js Glue
Mike North
 
Getting Started with the Angular 2 CLI
Getting Started with the Angular 2 CLIGetting Started with the Angular 2 CLI
Getting Started with the Angular 2 CLI
Jim Lynch
 
Magento 2 Community Project - Moving from LESS to SASS
Magento 2 Community Project - Moving from LESS to SASSMagento 2 Community Project - Moving from LESS to SASS
Magento 2 Community Project - Moving from LESS to SASS
Bartek Igielski
 
AngularJS RTP Slides - Angular 2 Demo #ngtattoo with Angular CLI, Newest New ...
AngularJS RTP Slides - Angular 2 Demo #ngtattoo with Angular CLI, Newest New ...AngularJS RTP Slides - Angular 2 Demo #ngtattoo with Angular CLI, Newest New ...
AngularJS RTP Slides - Angular 2 Demo #ngtattoo with Angular CLI, Newest New ...
Tracy Lee
 
Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011
dimakovalenko
 
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...
Cloud Native PWAs (progressive web apps with Spring Boot and Angular) - DevNe...
Matt Raible
 
Developing PWAs and Mobile Apps with Ionic, Angular, and JHipster - Devoxx Mo...
Developing PWAs and Mobile Apps with Ionic, Angular, and JHipster - Devoxx Mo...Developing PWAs and Mobile Apps with Ionic, Angular, and JHipster - Devoxx Mo...
Developing PWAs and Mobile Apps with Ionic, Angular, and JHipster - Devoxx Mo...
Matt Raible
 
Ember.js - Harnessing Convention Over Configuration
Ember.js - Harnessing Convention Over ConfigurationEmber.js - Harnessing Convention Over Configuration
Ember.js - Harnessing Convention Over Configuration
Tracy Lee
 
How Magento Front-end is Going from Zero to Hero
How Magento Front-end is Going from Zero to HeroHow Magento Front-end is Going from Zero to Hero
How Magento Front-end is Going from Zero to Hero
Bartek Igielski
 
Beyond DOM Manipulations: Building Stateful Modules with Events and Promises
Beyond DOM Manipulations: Building Stateful Modules with Events and PromisesBeyond DOM Manipulations: Building Stateful Modules with Events and Promises
Beyond DOM Manipulations: Building Stateful Modules with Events and Promises
Crashlytics
 
AngularJS for Legacy Apps
AngularJS for Legacy AppsAngularJS for Legacy Apps
AngularJS for Legacy AppsPeter Drinnan
 
Finding the sweet spot - blending the best of native and web
Finding the sweet spot - blending the best of native and webFinding the sweet spot - blending the best of native and web
Finding the sweet spot - blending the best of native and web
Shawn Jansepar
 
European SharePoint Conference 2017 - SharePoint Framework, Angular & Azure F...
European SharePoint Conference 2017 - SharePoint Framework, Angular & Azure F...European SharePoint Conference 2017 - SharePoint Framework, Angular & Azure F...
European SharePoint Conference 2017 - SharePoint Framework, Angular & Azure F...
Sébastien Levert
 
Unit Tests Aren't Enough
Unit Tests Aren't EnoughUnit Tests Aren't Enough
Unit Tests Aren't Enough
Trotter Cashion
 
React Native - Getting Started
React Native - Getting StartedReact Native - Getting Started
React Native - Getting Started
Tracy Lee
 
jQuery For Developers Stack Overflow Dev Days Toronto
jQuery For Developers Stack Overflow Dev Days TorontojQuery For Developers Stack Overflow Dev Days Toronto
jQuery For Developers Stack Overflow Dev Days Toronto
Ralph Whitbeck
 
ComponenKit and React Native
ComponenKit and React NativeComponenKit and React Native
ComponenKit and React Native
Stanfy
 

What's hot (20)

Creating an Angular 2 Angular CLI app in 15 Minutes Using MaterializeCSS & Fi...
Creating an Angular 2 Angular CLI app in 15 Minutes Using MaterializeCSS & Fi...Creating an Angular 2 Angular CLI app in 15 Minutes Using MaterializeCSS & Fi...
Creating an Angular 2 Angular CLI app in 15 Minutes Using MaterializeCSS & Fi...
 
JavaScript, React Native and Performance at react-europe 2016
JavaScript, React Native and Performance at react-europe 2016JavaScript, React Native and Performance at react-europe 2016
JavaScript, React Native and Performance at react-europe 2016
 
Creating BananaJS with Angular 2, Angular CLI, and Material Design
Creating BananaJS with Angular 2, Angular CLI, and Material DesignCreating BananaJS with Angular 2, Angular CLI, and Material Design
Creating BananaJS with Angular 2, Angular CLI, and Material Design
 
A Debugging Adventure: Journey through Ember.js Glue
A Debugging Adventure: Journey through Ember.js GlueA Debugging Adventure: Journey through Ember.js Glue
A Debugging Adventure: Journey through Ember.js Glue
 
Getting Started with the Angular 2 CLI
Getting Started with the Angular 2 CLIGetting Started with the Angular 2 CLI
Getting Started with the Angular 2 CLI
 
Magento 2 Community Project - Moving from LESS to SASS
Magento 2 Community Project - Moving from LESS to SASSMagento 2 Community Project - Moving from LESS to SASS
Magento 2 Community Project - Moving from LESS to SASS
 
AngularJS RTP Slides - Angular 2 Demo #ngtattoo with Angular CLI, Newest New ...
AngularJS RTP Slides - Angular 2 Demo #ngtattoo with Angular CLI, Newest New ...AngularJS RTP Slides - Angular 2 Demo #ngtattoo with Angular CLI, Newest New ...
AngularJS RTP Slides - Angular 2 Demo #ngtattoo with Angular CLI, Newest New ...
 
Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011
 
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...
Cloud Native PWAs (progressive web apps with Spring Boot and Angular) - DevNe...
 
Developing PWAs and Mobile Apps with Ionic, Angular, and JHipster - Devoxx Mo...
Developing PWAs and Mobile Apps with Ionic, Angular, and JHipster - Devoxx Mo...Developing PWAs and Mobile Apps with Ionic, Angular, and JHipster - Devoxx Mo...
Developing PWAs and Mobile Apps with Ionic, Angular, and JHipster - Devoxx Mo...
 
Ember.js - Harnessing Convention Over Configuration
Ember.js - Harnessing Convention Over ConfigurationEmber.js - Harnessing Convention Over Configuration
Ember.js - Harnessing Convention Over Configuration
 
How Magento Front-end is Going from Zero to Hero
How Magento Front-end is Going from Zero to HeroHow Magento Front-end is Going from Zero to Hero
How Magento Front-end is Going from Zero to Hero
 
Beyond DOM Manipulations: Building Stateful Modules with Events and Promises
Beyond DOM Manipulations: Building Stateful Modules with Events and PromisesBeyond DOM Manipulations: Building Stateful Modules with Events and Promises
Beyond DOM Manipulations: Building Stateful Modules with Events and Promises
 
AngularJS for Legacy Apps
AngularJS for Legacy AppsAngularJS for Legacy Apps
AngularJS for Legacy Apps
 
Finding the sweet spot - blending the best of native and web
Finding the sweet spot - blending the best of native and webFinding the sweet spot - blending the best of native and web
Finding the sweet spot - blending the best of native and web
 
European SharePoint Conference 2017 - SharePoint Framework, Angular & Azure F...
European SharePoint Conference 2017 - SharePoint Framework, Angular & Azure F...European SharePoint Conference 2017 - SharePoint Framework, Angular & Azure F...
European SharePoint Conference 2017 - SharePoint Framework, Angular & Azure F...
 
Unit Tests Aren't Enough
Unit Tests Aren't EnoughUnit Tests Aren't Enough
Unit Tests Aren't Enough
 
React Native - Getting Started
React Native - Getting StartedReact Native - Getting Started
React Native - Getting Started
 
jQuery For Developers Stack Overflow Dev Days Toronto
jQuery For Developers Stack Overflow Dev Days TorontojQuery For Developers Stack Overflow Dev Days Toronto
jQuery For Developers Stack Overflow Dev Days Toronto
 
ComponenKit and React Native
ComponenKit and React NativeComponenKit and React Native
ComponenKit and React Native
 

Viewers also liked

Con Aruba, a lezione di cloud #lezione 9 - parte 1: 'Configurazione server di...
Con Aruba, a lezione di cloud #lezione 9 - parte 1: 'Configurazione server di...Con Aruba, a lezione di cloud #lezione 9 - parte 1: 'Configurazione server di...
Con Aruba, a lezione di cloud #lezione 9 - parte 1: 'Configurazione server di...
Aruba S.p.A.
 
Angular2.0@Shanghai0319
Angular2.0@Shanghai0319Angular2.0@Shanghai0319
Angular2.0@Shanghai0319
Bibby Chung
 
Code migration from Angular 1.x to Angular 2.0
Code migration from Angular 1.x to Angular 2.0Code migration from Angular 1.x to Angular 2.0
Code migration from Angular 1.x to Angular 2.0
Ran Wahle
 
Migrating an application from Angular 1 to Angular 2
Migrating an application from Angular 1 to Angular 2 Migrating an application from Angular 1 to Angular 2
Migrating an application from Angular 1 to Angular 2
Ross Dederer
 
The evolution of Angular 2 @ AngularJS Munich Meetup #5
The evolution of Angular 2 @ AngularJS Munich Meetup #5The evolution of Angular 2 @ AngularJS Munich Meetup #5
The evolution of Angular 2 @ AngularJS Munich Meetup #5
Johannes Weber
 
Comunicare in rete per lo sviluppo
Comunicare in rete per lo sviluppo Comunicare in rete per lo sviluppo
Comunicare in rete per lo sviluppo
Consorzio Ong Piemontesi COP
 
Conservazione Sostitutiva Legal Doclite
Conservazione Sostitutiva Legal DocliteConservazione Sostitutiva Legal Doclite
Conservazione Sostitutiva Legal Doclite
InfoCert S.p.A.
 
Smpp v3 4
Smpp v3 4Smpp v3 4
Smpp v3 4
Hung Nghiem
 
Premio innova s@lute2016 - InfoCert GeoSign
Premio innova s@lute2016 - InfoCert GeoSign Premio innova s@lute2016 - InfoCert GeoSign
Premio innova s@lute2016 - InfoCert GeoSign
InfoCert S.p.A.
 
Fatturazione ElettronicaPA
Fatturazione ElettronicaPAFatturazione ElettronicaPA
Fatturazione ElettronicaPA
InfoCert S.p.A.
 
Contaminazione della Digital transformation: dalla banca all'assicurazione
Contaminazione della Digital transformation: dalla banca all'assicurazioneContaminazione della Digital transformation: dalla banca all'assicurazione
Contaminazione della Digital transformation: dalla banca all'assicurazione
InfoCert S.p.A.
 
Creating a phar
Creating a pharCreating a phar
Creating a phar
Adrian Cardenas
 
Connected Objects are Natural Born Storytellers (LECTURE @NABA, 2015 )
Connected Objects are Natural Born Storytellers (LECTURE @NABA, 2015 )Connected Objects are Natural Born Storytellers (LECTURE @NABA, 2015 )
Connected Objects are Natural Born Storytellers (LECTURE @NABA, 2015 )
Leandro Agro'
 
WTF? Why The Future Is Up To Us.
WTF? Why The Future Is Up To Us.WTF? Why The Future Is Up To Us.
WTF? Why The Future Is Up To Us.
Tim O'Reilly
 
Messaging Apps Overview
Messaging Apps OverviewMessaging Apps Overview
Messaging Apps Overview
JacksLabs
 
SMPP
SMPPSMPP
I processi di contrattualizzazione paperless
I processi di contrattualizzazione paperlessI processi di contrattualizzazione paperless
I processi di contrattualizzazione paperless
InfoCert S.p.A.
 
XYZ – OUTPUT – Processi
XYZ – OUTPUT – Processi XYZ – OUTPUT – Processi
XYZ – OUTPUT – Processi
La Scuola Open Source
 
SMS-SMPP-Concepts
SMS-SMPP-ConceptsSMS-SMPP-Concepts
SMS-SMPP-ConceptsDuy Do Phan
 

Viewers also liked (20)

Con Aruba, a lezione di cloud #lezione 9 - parte 1: 'Configurazione server di...
Con Aruba, a lezione di cloud #lezione 9 - parte 1: 'Configurazione server di...Con Aruba, a lezione di cloud #lezione 9 - parte 1: 'Configurazione server di...
Con Aruba, a lezione di cloud #lezione 9 - parte 1: 'Configurazione server di...
 
Angular2.0@Shanghai0319
Angular2.0@Shanghai0319Angular2.0@Shanghai0319
Angular2.0@Shanghai0319
 
Code migration from Angular 1.x to Angular 2.0
Code migration from Angular 1.x to Angular 2.0Code migration from Angular 1.x to Angular 2.0
Code migration from Angular 1.x to Angular 2.0
 
Migrating an application from Angular 1 to Angular 2
Migrating an application from Angular 1 to Angular 2 Migrating an application from Angular 1 to Angular 2
Migrating an application from Angular 1 to Angular 2
 
The evolution of Angular 2 @ AngularJS Munich Meetup #5
The evolution of Angular 2 @ AngularJS Munich Meetup #5The evolution of Angular 2 @ AngularJS Munich Meetup #5
The evolution of Angular 2 @ AngularJS Munich Meetup #5
 
Comunicare in rete per lo sviluppo
Comunicare in rete per lo sviluppo Comunicare in rete per lo sviluppo
Comunicare in rete per lo sviluppo
 
Conservazione Sostitutiva Legal Doclite
Conservazione Sostitutiva Legal DocliteConservazione Sostitutiva Legal Doclite
Conservazione Sostitutiva Legal Doclite
 
Smpp v3 4
Smpp v3 4Smpp v3 4
Smpp v3 4
 
Premio innova s@lute2016 - InfoCert GeoSign
Premio innova s@lute2016 - InfoCert GeoSign Premio innova s@lute2016 - InfoCert GeoSign
Premio innova s@lute2016 - InfoCert GeoSign
 
Fatturazione ElettronicaPA
Fatturazione ElettronicaPAFatturazione ElettronicaPA
Fatturazione ElettronicaPA
 
Contaminazione della Digital transformation: dalla banca all'assicurazione
Contaminazione della Digital transformation: dalla banca all'assicurazioneContaminazione della Digital transformation: dalla banca all'assicurazione
Contaminazione della Digital transformation: dalla banca all'assicurazione
 
Creating a phar
Creating a pharCreating a phar
Creating a phar
 
Phar, The PHP .exe Format
Phar, The PHP .exe FormatPhar, The PHP .exe Format
Phar, The PHP .exe Format
 
Connected Objects are Natural Born Storytellers (LECTURE @NABA, 2015 )
Connected Objects are Natural Born Storytellers (LECTURE @NABA, 2015 )Connected Objects are Natural Born Storytellers (LECTURE @NABA, 2015 )
Connected Objects are Natural Born Storytellers (LECTURE @NABA, 2015 )
 
WTF? Why The Future Is Up To Us.
WTF? Why The Future Is Up To Us.WTF? Why The Future Is Up To Us.
WTF? Why The Future Is Up To Us.
 
Messaging Apps Overview
Messaging Apps OverviewMessaging Apps Overview
Messaging Apps Overview
 
SMPP
SMPPSMPP
SMPP
 
I processi di contrattualizzazione paperless
I processi di contrattualizzazione paperlessI processi di contrattualizzazione paperless
I processi di contrattualizzazione paperless
 
XYZ – OUTPUT – Processi
XYZ – OUTPUT – Processi XYZ – OUTPUT – Processi
XYZ – OUTPUT – Processi
 
SMS-SMPP-Concepts
SMS-SMPP-ConceptsSMS-SMPP-Concepts
SMS-SMPP-Concepts
 

Similar to The Angular road from 1.x to 2.0

Meteor WWNRW Intro
Meteor WWNRW IntroMeteor WWNRW Intro
Meteor WWNRW Intro
Stephan Hochhaus
 
SharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mindSharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mindChris Johnson
 
Build a production ready PWA - LINKIT & KLM Digital Studio Meetup
Build a production ready PWA - LINKIT & KLM Digital Studio MeetupBuild a production ready PWA - LINKIT & KLM Digital Studio Meetup
Build a production ready PWA - LINKIT & KLM Digital Studio Meetup
Önder Ceylan
 
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWS
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWSPuppet Camp Sydney 2014 - Evolving Design Patterns in AWS
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWS
johnpainter_id_au
 
The 12 Factor App
The 12 Factor AppThe 12 Factor App
The 12 Factor App
rudiyardley
 
Meteor - not just for rockstars
Meteor - not just for rockstarsMeteor - not just for rockstars
Meteor - not just for rockstars
Stephan Hochhaus
 
RubiOne: Apache Spark as the Backbone of a Retail Analytics Development Envir...
RubiOne: Apache Spark as the Backbone of a Retail Analytics Development Envir...RubiOne: Apache Spark as the Backbone of a Retail Analytics Development Envir...
RubiOne: Apache Spark as the Backbone of a Retail Analytics Development Envir...
Databricks
 
Accelerating Time To Market with Sitecore & Helix
Accelerating Time To Market with Sitecore & HelixAccelerating Time To Market with Sitecore & Helix
Accelerating Time To Market with Sitecore & Helix
VarunNehra
 
The 4W's of Angular
The 4W's of AngularThe 4W's of Angular
The 4W's of Angular
Lena Lekkou
 
Model Serving via Pulsar Functions
Model Serving via Pulsar FunctionsModel Serving via Pulsar Functions
Model Serving via Pulsar Functions
Arun Kejariwal
 
Strangler Pattern in practice @PHPers Day 2019
Strangler Pattern in practice @PHPers Day 2019Strangler Pattern in practice @PHPers Day 2019
Strangler Pattern in practice @PHPers Day 2019
Michał Kurzeja
 
Offline-first: Making your app resilient to network failures
Offline-first: Making your app resilient to network failuresOffline-first: Making your app resilient to network failures
Offline-first: Making your app resilient to network failures
Pedro Teixeira
 
200,000 Lines Later: Our Journey to Manageable Puppet Code
200,000 Lines Later: Our Journey to Manageable Puppet Code200,000 Lines Later: Our Journey to Manageable Puppet Code
200,000 Lines Later: Our Journey to Manageable Puppet Code
David Danzilio
 
Front End Development for Back End Developers - vJUG24 2017
Front End Development for Back End Developers - vJUG24 2017Front End Development for Back End Developers - vJUG24 2017
Front End Development for Back End Developers - vJUG24 2017
Matt Raible
 
Effective Android Development
Effective Android Development Effective Android Development
Effective Android Development
Sergii Zhuk
 
Aprender sobre el futuro del ppm
Aprender sobre el futuro del ppmAprender sobre el futuro del ppm
Aprender sobre el futuro del ppm
Victor Corniel
 
React and GraphQL at Stripe
React and GraphQL at StripeReact and GraphQL at Stripe
React and GraphQL at Stripe
Sashko Stubailo
 
Build a production ready PWA with Angular and Firebase
Build a production ready PWA with Angular and FirebaseBuild a production ready PWA with Angular and Firebase
Build a production ready PWA with Angular and Firebase
Önder Ceylan
 
Docker for Development
Docker for DevelopmentDocker for Development
Docker for Development
allingeek
 
Flutter
FlutterFlutter

Similar to The Angular road from 1.x to 2.0 (20)

Meteor WWNRW Intro
Meteor WWNRW IntroMeteor WWNRW Intro
Meteor WWNRW Intro
 
SharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mindSharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mind
 
Build a production ready PWA - LINKIT & KLM Digital Studio Meetup
Build a production ready PWA - LINKIT & KLM Digital Studio MeetupBuild a production ready PWA - LINKIT & KLM Digital Studio Meetup
Build a production ready PWA - LINKIT & KLM Digital Studio Meetup
 
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWS
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWSPuppet Camp Sydney 2014 - Evolving Design Patterns in AWS
Puppet Camp Sydney 2014 - Evolving Design Patterns in AWS
 
The 12 Factor App
The 12 Factor AppThe 12 Factor App
The 12 Factor App
 
Meteor - not just for rockstars
Meteor - not just for rockstarsMeteor - not just for rockstars
Meteor - not just for rockstars
 
RubiOne: Apache Spark as the Backbone of a Retail Analytics Development Envir...
RubiOne: Apache Spark as the Backbone of a Retail Analytics Development Envir...RubiOne: Apache Spark as the Backbone of a Retail Analytics Development Envir...
RubiOne: Apache Spark as the Backbone of a Retail Analytics Development Envir...
 
Accelerating Time To Market with Sitecore & Helix
Accelerating Time To Market with Sitecore & HelixAccelerating Time To Market with Sitecore & Helix
Accelerating Time To Market with Sitecore & Helix
 
The 4W's of Angular
The 4W's of AngularThe 4W's of Angular
The 4W's of Angular
 
Model Serving via Pulsar Functions
Model Serving via Pulsar FunctionsModel Serving via Pulsar Functions
Model Serving via Pulsar Functions
 
Strangler Pattern in practice @PHPers Day 2019
Strangler Pattern in practice @PHPers Day 2019Strangler Pattern in practice @PHPers Day 2019
Strangler Pattern in practice @PHPers Day 2019
 
Offline-first: Making your app resilient to network failures
Offline-first: Making your app resilient to network failuresOffline-first: Making your app resilient to network failures
Offline-first: Making your app resilient to network failures
 
200,000 Lines Later: Our Journey to Manageable Puppet Code
200,000 Lines Later: Our Journey to Manageable Puppet Code200,000 Lines Later: Our Journey to Manageable Puppet Code
200,000 Lines Later: Our Journey to Manageable Puppet Code
 
Front End Development for Back End Developers - vJUG24 2017
Front End Development for Back End Developers - vJUG24 2017Front End Development for Back End Developers - vJUG24 2017
Front End Development for Back End Developers - vJUG24 2017
 
Effective Android Development
Effective Android Development Effective Android Development
Effective Android Development
 
Aprender sobre el futuro del ppm
Aprender sobre el futuro del ppmAprender sobre el futuro del ppm
Aprender sobre el futuro del ppm
 
React and GraphQL at Stripe
React and GraphQL at StripeReact and GraphQL at Stripe
React and GraphQL at Stripe
 
Build a production ready PWA with Angular and Firebase
Build a production ready PWA with Angular and FirebaseBuild a production ready PWA with Angular and Firebase
Build a production ready PWA with Angular and Firebase
 
Docker for Development
Docker for DevelopmentDocker for Development
Docker for Development
 
Flutter
FlutterFlutter
Flutter
 

Recently uploaded

GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 

Recently uploaded (20)

GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 

The Angular road from 1.x to 2.0

  • 1. T H E A N G U L A R R O A D 
 F R O M 1 . X T O 2 . X VA S S I L I S P I T S O U N I S
  • 2. VA S S I L I S P I T S O U N I S Web Developer since 2000
 Front End mind & code oriented
 Having (serious) fun with G I T H U B . C O M / VA P I T S @ VA P I T S F O L L O W M E AT L I N K E D I N . C O M / I N / VA P I T S
  • 3. C O N T E N T S • 2.0 Facts & Strengths • Why TypeScript • Now & Then • Platform Tools • Starters • The Angular React Debate • Tip: Move code logic above framework • Q & A
  • 4. FA C T S 2 . 0 • It’s a complete new approach, NOT an Angular 1.x upgrade • Supports several languages including plain JavaScript, TypeScript, and Dart. • It is MUCH (really) faster. • Provides you everything that you need to create a web app • More than a framework…
  • 5. S T R E N G T H S • Perfomance • Server-side rendering • Routing • Community and team • CLI - Universal - Mobile • TypeScript (yes, I admit it finally)
  • 6. W H Y T Y P E S C R I P T • Angular 2.0 favourite • Can compile to any JS version • Optionally static typing and type inference • Enhanced IDE support • Adoption
  • 7. T H E NN O W C A N I 
 W A L K 
 T H E 
 S A M E 
 R O A D ? N G - R E P E AT N G - M O D E L N G - C O N T R O L L E R 
 … * N G F O R [ ( N G M O D E L ) ] @ C O M P O N E N T 
 …
  • 8. A N G U L A R 1 . X A N G U L A R 2 . 0 <body ng-app="myApp"> import { bootstrap } from '@angular/platform-browser-dynamic'; import { AppComponent } from './app.component'; bootstrap(AppComponent);
  • 9. A N G U L A R 1 . X A N G U L A R 2 . 0 <body ng-app="myApp"> import { bootstrap } from '@angular/platform-browser-dynamic'; import { AppComponent } from './app.component'; bootstrap(AppComponent); <div ng-class="{active: isActive}"> <div [ngClass]="{active: isActive}"> <div [class.active]="isActive">
  • 10. A N G U L A R 1 . X A N G U L A R 2 . 0 <body ng-app="myApp"> import { bootstrap } from '@angular/platform-browser-dynamic'; import { AppComponent } from './app.component'; bootstrap(AppComponent); <div ng-class="{active: isActive}"> <div [ngClass]="{active: isActive}"> <div [class.active]="isActive"> <button ng-click="myFunction($event)"> <button (click)="toggleImage($event)">
  • 11. A N G U L A R 1 . X A N G U L A R 2 . 0 <body ng-app="myApp"> import { bootstrap } from '@angular/platform-browser-dynamic'; import { AppComponent } from './app.component'; bootstrap(AppComponent); <div ng-class="{active: isActive}"> <div [ngClass]="{active: isActive}"> <div [class.active]="isActive"> <button ng-click="myFunction($event)"> <button (click)="toggleImage($event)"> ng-controller @Component({ selector: ‘router-outlet', templateUrl:’app/my.template.component.html', styleUrls: [‘app/my.template.component.css'], })
  • 12. A N G U L A R 1 . X A N G U L A R 2 . 0 ng-href <a [href]="angularDocsUrl">Angular Docs</a> <a [routerLink]="['Home']">Home</a>
  • 13. A N G U L A R 1 . X A N G U L A R 2 . 0 ng-href <a [href]="angularDocsUrl">Angular Docs</a> <a [routerLink]="['Home']">Home</a> <input ng-model="myScope"/> <input [(ngModel)]="myVariable" />
  • 14. A N G U L A R 1 . X A N G U L A R 2 . 0 ng-href <a [href]="angularDocsUrl">Angular Docs</a> <a [routerLink]="['Home']">Home</a> <input ng-model="myScope"/> <input [(ngModel)]="myVariable" /> <li ng-repeat="user in users"> <li *ngFor="let user of users">
  • 15. A N G U L A R 1 . X A N G U L A R 2 . 0 ng-href <a [href]="angularDocsUrl">Angular Docs</a> <a [routerLink]="['Home']">Home</a> <input ng-model="myScope"/> <input [(ngModel)]="myVariable" /> <li ng-repeat="user in users"> <li *ngFor="let user of users"> <div ng-style="{color: colorPreference}"> <div [ngStyle]="{color: colorPreference}"> <div [style.color]="colorPreference">
  • 16. A N G U L A R 1 . X A N G U L A R 2 . 0 ng-href <a [href]="angularDocsUrl">Angular Docs</a> <a [routerLink]="['Home']">Home</a> <input ng-model="myScope"/> <input [(ngModel)]="myVariable" /> <li ng-repeat="user in users"> <li *ngFor="let user of users"> <div ng-style="{color: colorPreference}"> <div [ngStyle]="{color: colorPreference}"> <div [style.color]="colorPreference"> orderBy & filter expresión N O N E !
  • 17. P L AT F O R M T O O L S
  • 18. • Generate a New Project • Generate Components, Directives, Pipes and Services, Routes • Creating a Build • Running Unit Tests • Running End-to-End Tests • Deploying the App via GitHub Pages • Support for offline applications • CSS preprocessor integration • 3rd Party Library Installation H T T P S : / / C L I . A N G U L A R . I O
  • 19. • CLI, that helps a lot… • SERVER • E2E • UNIT TESTS • READY TO GO • ANGULAR OFFICIAL SUPPORT - PLANS TO MERGE P R O S C O N S • Early Beta state H T T P S : / / C L I . A N G U L A R . I O
  • 20. • Super Easy • Insane perfomance • Works with your current 2.0 project H T T P S : / / U N I V E R S A L . A N G U L A R . I O • SEO Friendly • Social sites preview finally works
  • 21. H T T P S : / / M O B I L E . A N G U L A R . I O Create an installable mobile web app with Angular CLI Make the App Installable with Web App Manifest Add an app shell component to the App Add basic offline capabilities with Service Worker
  • 22. A N G U L A R 2 . 0 S TA R T E R S A N G U L A R 2 W E B PA C K S TA RT E R A N G U L A R 2 - W E B PA C K H T T P S : / / G I T H U B . C O M / P R E B O O T / A N G U L A R 2 - W E B PA C K H T T P S : / / G I T H U B . C O M / A N G U L A R C L A S S / A N G U L A R 2 - W E B PA C K - S TA RT E R
  • 23. A N G U L A R 2 W E B PA C K S TA R T E R • Popular • Covers all needs • Ready to go • Webpack • TypeDoc
 
 • Not much, maybe more than you need if you build a small app P R O S C O N S
  • 24. A N G U L A R 2 - W E B PA C K • Covers all needs • Ready to go • Webpack • Smaller size • TypeDoc Documentation
 
 • Not big community around • No Releases strategy P R O S C O N S
  • 25. Let’s have a pause…
  • 26. T H E A N G U L A R - R E A C T D E B AT E
  • 27. H E R E A R E S O M E U S E R S C O M M E N T I N G R E L AT E D A RT I C L E S
  • 28.
  • 29. A FA I R C O M PA R I S O N I S N O T P O S S I B L E , B U T: A N G U L A R V S R E A C T • Both are great solutions • Still Angular is a framework (or more) React is a library • Angular is HTML Centric • React is JS Centric
  • 30. B A C K T O T H E R O A D
  • 31. M O V E Y O U R L O G I C A B O V E F R A M E W O R K S E E T H E T R A N S I T I O N A S A N O P P O RT U N I T Y T O
  • 32. 2 0 1 6
  • 33. U N T I L N O W ( W E L L U S U A L LY ) W E F O L L O W T H I S A P P R O A C H Framework C O D E L O G I C M O D U L E S S E R V I C E S C O M P O N E N T S D I R E C T I V E S C O N T R O L L E R S R E S U LT
  • 34. G O A B O V E F R A M E W O R K A N D F E E L F R E E Framework C O D E L O G I C S E R V I C E SC O M P O N E N T S D I R E C T I V E S R E S U LT Logic S I M P L E & E A S Y
  • 35. R E S O U R C E S Angular-CLI
 https://cli.angular.io/ Angular Universal
 https://universal.angular.io/ Angular Mobile
 https://mobile.angular.io/ 
 Angular2 Webpack Starter https://github.com/AngularClass/angular2-webpack-starter angular2-webpack https://github.com/preboot/angular2-webpack Documentation
 https://angular.io/docs/
  • 36. G I T H U B . C O M / VA P I T S @ VA P I T S L I N K E D I N . C O M / I N / VA P I T S Q & A Follow me…