SlideShare a Scribd company logo
TypeScript
Use it already yesterday
and be prepared for Angular 2
David Amend
David.Amend@it-amend.de
Conservative Bleeding edge
https://www.dab-bank.de/Konto-Kredit/DAB-Finanzmanager-Demo/
About me
... “ I even heard that they will
use Angular 2 in a galaxy far,
far away…”
http://www.ngparty.cz/ngBigParty-II/##what-to-expect
... “ I even heard that they will
use Angular 2 in a galaxy far,
far away…”
http://www.ngparty.cz/ngBigParty-II/##what-to-expect
Disclamer
no A2x code
in presentation
“ Use A2.x with TypeScript ”
Disclamer
no A2x code
in presentation
“
Learn the fundamentals of
TypeScript NOW !
” Disclamer
no A2x code
in presentation
Questions to audience
1. Who prefers typed languages to non typed?
2. Who uses TypeScript in project already?
The Type in TypeScript
Typing Evolution: Prefix
var sAmount = "100";
var nCalcConditions = function(sAmount, iRate){
return sAmount * nRate;
}
Typing Evolution: Jsdoc Closure Compiler
/**
* @interface
*/
function Shape() {};
Shape.prototype.draw = function() {};
/**
* @constructor
* @implements {Shape}
*/
function Square() {};
Square.prototype.draw = function() {
};
Typing Evolution: GWT, Dart
Button myButton = new Button("x");
myButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) { ///...
}
});
flexTable.setWidget(row, 3, myButton);
VM JS
Problem:
Hard to combine
GWT:
Strong Java IDE support
TypeScript
What you should know ?
TypeScript: What you should know ?
d.ts
Interfaces
1.
TypeScript: What you should know ?
d.ts
Interfaces
Decorators
1. 2.
Angular 2 : learn TypeScript already with Angular 1
Module B
Module B
Interfaces to support modular projects, combine client & server models
Module A Module B
*.d.ts
check interfaces
→ by compile time
*.ts
Async loaded
→ at runtime
define interface use interface
*.d.ts
REST-Services
*.ts
TypeScript: What you should know ?
d.ts
Interfaces
Decorators
1. 2.
So much to explore: Decorators, ...
import { Component } from 'ng-forward';
@Component({
selector: 'nested',
template: '<h3>Nested</h3>'
})
@DebugLog
class Nested{ }
HTML-Type BindingIDE-Refactoring Support Literal Types
Aspect Oriented
Programming
TypeScript
Cool links
https://github.com/ngUpgraders/ng-forward
https://github.com/ngParty/ng-metadata
https://github.com/raphaeljolivet/java2typescript
https://github.com/wycats/javascript-decorators
http://blog.wolksoftware.com/decorators-metadata-reflection-in-typescript-from-novice-to-expert-
part-3
https://basarat.gitbooks.io/
There cannot be reasons
NOT to use TypeScript!
Questions &
Discussion
Code Demo
1. Starting situation
var loanLimit = “100”;
2. Extend build process
.pipe(tsc(“*.js”));
3. Congratz! You are using TypeScript !
IDE Support by separate .d.ts files
Smooth way to start using TypeScript
4. var loanLimit : string = “100”;
ILoans-Service.d.ts
interface ILoanModel {
id : number, ...
}
LoansController.ts
var loanmodel : ILoanModel = { … }
No generation of code !
export interface IDeleteDomesticTemplateRequestDTO {
cifId: string;
templateName: string;
}
export interface IDeleteDomesticTemplateResponseDTO {
errorCode: string;
}
export enum IQuoteStatusEnum {
CUSTOMER_DATA_CONFIRMED = <string>"CUSTOMER_DATA_CONFIRMED",
}
ES-6, module support, =>, decorators, html type support, …, tslint, sourcemaps, …
namespace danubeCorePortal {
class DanubeCorePortalController {
private sideNavigationItems;
constructor(private $mdSidenav : angular.material.MDSidenavObject) {
}
@Log
public toggleSubnavigation ($event) {
this.$mdSidenav( "left").toggle();
}
}
}
Generation of code !
TypeScript is widely used
Anders Hejlsberg
C# Delphi TurboPascal TypeScript
C#
Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1
Angular 2 : learn TypeScript already with Angular 1
Why to use Types ?
1. Refactoring support in IDE
2. Exploration of code
3. Explain code to foreigners ( and myself)
ES2016 ES7
tsc --
experimentalDecorato
rs main.ts
https://www.sitepen.
com/blog/2015/10/20/typescript-
decorators/
annotate and modify classes and properties at design
time.
→ Interface
Demotime: Future Bank
TypeScript, Angular Material, A1x, ...

More Related Content

What's hot (20)

Angular 2 - Better or worse
Angular 2 - Better or worse
Vladimir Georgiev
 
Angular 2 : le réveil de la force
Angular 2 : le réveil de la force
Nicolas PENNEC
 
Huge web apps web expo 2013
Huge web apps web expo 2013
Daniel Steigerwald
 
Angular 4 and TypeScript
Angular 4 and TypeScript
Ahmed El-Kady
 
AngularJS: Service, factory & provider
AngularJS: Service, factory & provider
Corley S.r.l.
 
JavaScript - The Universal Platform?
JavaScript - The Universal Platform?
Jonas Bandi
 
Angular 2 overview
Angular 2 overview
Jesse Warden
 
Web Performance & Latest in React
Web Performance & Latest in React
Talentica Software
 
Getting Started with Angular 2
Getting Started with Angular 2
FITC
 
A walkthrough of JavaScript ES6 features
A walkthrough of JavaScript ES6 features
Michal Juhas
 
Introduction to Javascript programming
Introduction to Javascript programming
Fulvio Corno
 
Angular 2: What's New?
Angular 2: What's New?
jbandi
 
Shit happens… debugging an Angular app.
Shit happens… debugging an Angular app.
Laurent Duveau
 
Android clean architecture workshop 3h edition
Android clean architecture workshop 3h edition
Jorge Ortiz
 
Angular 2 어디까지 왔을까
Angular 2 어디까지 왔을까
장현 한
 
Tech Webinar: Angular 2, Introduction to a new framework
Tech Webinar: Angular 2, Introduction to a new framework
Codemotion
 
Javascript Best Practices and Intro to Titanium
Javascript Best Practices and Intro to Titanium
Techday7
 
AngularJS - Overcoming performance issues. Limits.
AngularJS - Overcoming performance issues. Limits.
Dragos Mihai Rusu
 
AngularJS performance & production tips
AngularJS performance & production tips
Nir Kaufman
 
Introduction to angular 2
Introduction to angular 2
Dhyego Fernando
 
Angular 2 : le réveil de la force
Angular 2 : le réveil de la force
Nicolas PENNEC
 
Angular 4 and TypeScript
Angular 4 and TypeScript
Ahmed El-Kady
 
AngularJS: Service, factory & provider
AngularJS: Service, factory & provider
Corley S.r.l.
 
JavaScript - The Universal Platform?
JavaScript - The Universal Platform?
Jonas Bandi
 
Angular 2 overview
Angular 2 overview
Jesse Warden
 
Web Performance & Latest in React
Web Performance & Latest in React
Talentica Software
 
Getting Started with Angular 2
Getting Started with Angular 2
FITC
 
A walkthrough of JavaScript ES6 features
A walkthrough of JavaScript ES6 features
Michal Juhas
 
Introduction to Javascript programming
Introduction to Javascript programming
Fulvio Corno
 
Angular 2: What's New?
Angular 2: What's New?
jbandi
 
Shit happens… debugging an Angular app.
Shit happens… debugging an Angular app.
Laurent Duveau
 
Android clean architecture workshop 3h edition
Android clean architecture workshop 3h edition
Jorge Ortiz
 
Angular 2 어디까지 왔을까
Angular 2 어디까지 왔을까
장현 한
 
Tech Webinar: Angular 2, Introduction to a new framework
Tech Webinar: Angular 2, Introduction to a new framework
Codemotion
 
Javascript Best Practices and Intro to Titanium
Javascript Best Practices and Intro to Titanium
Techday7
 
AngularJS - Overcoming performance issues. Limits.
AngularJS - Overcoming performance issues. Limits.
Dragos Mihai Rusu
 
AngularJS performance & production tips
AngularJS performance & production tips
Nir Kaufman
 
Introduction to angular 2
Introduction to angular 2
Dhyego Fernando
 

Viewers also liked (20)

Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bank
David Amend
 
Performance monitoring measurement angualrjs single page apps with phantomas
Performance monitoring measurement angualrjs single page apps with phantomas
David Amend
 
Advanced AngularJS Tips and Tricks
Advanced AngularJS Tips and Tricks
Jeremy Likness
 
Story about module management with angular.js
Story about module management with angular.js
David Amend
 
Grunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous Integration
David Amend
 
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
David Amend
 
Gwt presentation
Gwt presentation
철민 배
 
lA educacion-socialista
lA educacion-socialista
Daniel Scienfan
 
How do you spell relief???
How do you spell relief???
Chuck43
 
Mateo Quintero
Mateo Quintero
Mateoqintero
 
Renovatie aluminium
Renovatie aluminium
Sven Torfs
 
Sermon 1 John 5:8-21
Sermon 1 John 5:8-21
CrossPointBible
 
EVANGELISTIC PROCESS FOR THE LOCAL CHURCH -TR-15
EVANGELISTIC PROCESS FOR THE LOCAL CHURCH -TR-15
Jordan Jordanidis
 
Reasons to migrate to modern web development with JavaScript
Reasons to migrate to modern web development with JavaScript
David Amend
 
Gwt widget frameworks_presentation
Gwt widget frameworks_presentation
David Amend
 
Geecon 2014 - Five Ways to Not Suck at Being a Java Freelancer
Geecon 2014 - Five Ways to Not Suck at Being a Java Freelancer
Roberto Cortez
 
Furniture industry in India
Furniture industry in India
Yogesh Gokule
 
Typescript - a JS superset
Typescript - a JS superset
Tyrone Allen
 
Maven - Taming the Beast
Maven - Taming the Beast
Roberto Cortez
 
Migration tales from java ee 5 to 7
Migration tales from java ee 5 to 7
Roberto Cortez
 
Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bank
David Amend
 
Performance monitoring measurement angualrjs single page apps with phantomas
Performance monitoring measurement angualrjs single page apps with phantomas
David Amend
 
Advanced AngularJS Tips and Tricks
Advanced AngularJS Tips and Tricks
Jeremy Likness
 
Story about module management with angular.js
Story about module management with angular.js
David Amend
 
Grunt.js and Yeoman, Continous Integration
Grunt.js and Yeoman, Continous Integration
David Amend
 
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
Javascript & Angular .js for the enterprise, lessons learned, typescript scal...
David Amend
 
Gwt presentation
Gwt presentation
철민 배
 
How do you spell relief???
How do you spell relief???
Chuck43
 
Renovatie aluminium
Renovatie aluminium
Sven Torfs
 
EVANGELISTIC PROCESS FOR THE LOCAL CHURCH -TR-15
EVANGELISTIC PROCESS FOR THE LOCAL CHURCH -TR-15
Jordan Jordanidis
 
Reasons to migrate to modern web development with JavaScript
Reasons to migrate to modern web development with JavaScript
David Amend
 
Gwt widget frameworks_presentation
Gwt widget frameworks_presentation
David Amend
 
Geecon 2014 - Five Ways to Not Suck at Being a Java Freelancer
Geecon 2014 - Five Ways to Not Suck at Being a Java Freelancer
Roberto Cortez
 
Furniture industry in India
Furniture industry in India
Yogesh Gokule
 
Typescript - a JS superset
Typescript - a JS superset
Tyrone Allen
 
Maven - Taming the Beast
Maven - Taming the Beast
Roberto Cortez
 
Migration tales from java ee 5 to 7
Migration tales from java ee 5 to 7
Roberto Cortez
 
Ad

Similar to Angular 2 : learn TypeScript already with Angular 1 (20)

The advantage of developing with TypeScript
The advantage of developing with TypeScript
Corley S.r.l.
 
AngularConf2015
AngularConf2015
Alessandro Giorgetti
 
Introduction to TypeScript
Introduction to TypeScript
NexThoughts Technologies
 
TypeScript for Java Developers
TypeScript for Java Developers
Yakov Fain
 
TypeScript intro
TypeScript intro
Ats Uiboupin
 
TypeScript Introduction
TypeScript Introduction
Thanh Tai
 
Angular2 for Beginners
Angular2 for Beginners
Oswald Campesato
 
TypeScript . the JavaScript developer best friend!
TypeScript . the JavaScript developer best friend!
Alessandro Giorgetti
 
Before you jump into Angular
Before you jump into Angular
M A Hossain Tonu
 
Power Leveling your TypeScript
Power Leveling your TypeScript
Offirmo
 
Angular2
Angular2
Oswald Campesato
 
TypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the pain
Sander Mak (@Sander_Mak)
 
Angular 2
Angular 2
Suresh Kumar
 
Large Scale JavaScript with TypeScript
Large Scale JavaScript with TypeScript
Oliver Zeigermann
 
TypeScript: Basic Features and Compilation Guide
TypeScript: Basic Features and Compilation Guide
Nascenia IT
 
Typescript in 30mins
Typescript in 30mins
Udaya Kumar
 
Getting Started with the TypeScript Language
Getting Started with the TypeScript Language
Gil Fink
 
TypeScript introduction to scalable javascript application
TypeScript introduction to scalable javascript application
Andrea Paciolla
 
Complete Notes on Angular 2 and TypeScript
Complete Notes on Angular 2 and TypeScript
EPAM Systems
 
TypeScipt - Get Started
TypeScipt - Get Started
Krishnanand Sivaraj
 
The advantage of developing with TypeScript
The advantage of developing with TypeScript
Corley S.r.l.
 
TypeScript for Java Developers
TypeScript for Java Developers
Yakov Fain
 
TypeScript Introduction
TypeScript Introduction
Thanh Tai
 
TypeScript . the JavaScript developer best friend!
TypeScript . the JavaScript developer best friend!
Alessandro Giorgetti
 
Before you jump into Angular
Before you jump into Angular
M A Hossain Tonu
 
Power Leveling your TypeScript
Power Leveling your TypeScript
Offirmo
 
TypeScript: coding JavaScript without the pain
TypeScript: coding JavaScript without the pain
Sander Mak (@Sander_Mak)
 
Large Scale JavaScript with TypeScript
Large Scale JavaScript with TypeScript
Oliver Zeigermann
 
TypeScript: Basic Features and Compilation Guide
TypeScript: Basic Features and Compilation Guide
Nascenia IT
 
Typescript in 30mins
Typescript in 30mins
Udaya Kumar
 
Getting Started with the TypeScript Language
Getting Started with the TypeScript Language
Gil Fink
 
TypeScript introduction to scalable javascript application
TypeScript introduction to scalable javascript application
Andrea Paciolla
 
Complete Notes on Angular 2 and TypeScript
Complete Notes on Angular 2 and TypeScript
EPAM Systems
 
Ad

More from David Amend (6)

Componentization css angular
Componentization css angular
David Amend
 
Thin Server Architecture SPA, 5 years old presentation
Thin Server Architecture SPA, 5 years old presentation
David Amend
 
Grunt Advanced Vol 2, Plugins Text I/O with fun
Grunt Advanced Vol 2, Plugins Text I/O with fun
David Amend
 
Client Vs. Server Rendering
Client Vs. Server Rendering
David Amend
 
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
David Amend
 
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
David Amend
 
Componentization css angular
Componentization css angular
David Amend
 
Thin Server Architecture SPA, 5 years old presentation
Thin Server Architecture SPA, 5 years old presentation
David Amend
 
Grunt Advanced Vol 2, Plugins Text I/O with fun
Grunt Advanced Vol 2, Plugins Text I/O with fun
David Amend
 
Client Vs. Server Rendering
Client Vs. Server Rendering
David Amend
 
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
David Amend
 
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
David Amend
 

Recently uploaded (20)

Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
“Addressing Evolving AI Model Challenges Through Memory and Storage,” a Prese...
“Addressing Evolving AI Model Challenges Through Memory and Storage,” a Prese...
Edge AI and Vision Alliance
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Alliance
 
Artificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdf
OnBoard
 
Analysis of the changes in the attitude of the news comments caused by knowin...
Analysis of the changes in the attitude of the news comments caused by knowin...
Matsushita Laboratory
 
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
Muhammad Rizwan Akram
 
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
angelo60207
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 
Reducing Conflicts and Increasing Safety Along the Cycling Networks of East-F...
Reducing Conflicts and Increasing Safety Along the Cycling Networks of East-F...
Safe Software
 
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Safe Software
 
Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...
BookNet Canada
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
“Addressing Evolving AI Model Challenges Through Memory and Storage,” a Prese...
“Addressing Evolving AI Model Challenges Through Memory and Storage,” a Prese...
Edge AI and Vision Alliance
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Alliance
 
Artificial Intelligence in the Nonprofit Boardroom.pdf
Artificial Intelligence in the Nonprofit Boardroom.pdf
OnBoard
 
Analysis of the changes in the attitude of the news comments caused by knowin...
Analysis of the changes in the attitude of the news comments caused by knowin...
Matsushita Laboratory
 
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
Muhammad Rizwan Akram
 
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
angelo60207
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 
Reducing Conflicts and Increasing Safety Along the Cycling Networks of East-F...
Reducing Conflicts and Increasing Safety Along the Cycling Networks of East-F...
Safe Software
 
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Safe Software
 
Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...
BookNet Canada
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 

Angular 2 : learn TypeScript already with Angular 1