SlideShare a Scribd company logo
GUL-UC3M
TypeScript
& Angular
Workshop
30 de Marzo de 2017
Isabel Matas Rabadán & José Manuel García García
GUL-UC3M
TypeScript
& Angular
Workshop
30 de Marzo de 2017
Isabel Matas Rabadán & José Manuel García García
Who	are	we?
Isabel	Matas
BecArquitecta JavaScript
Sema García
Arquitecto JavaScript
Disclaimer
• Time	&	Materials
• Workshop	room
• Initial	approach
• Tight	slot	time
• Not	required	laptop
• Github tags	to	train	at	home
• Session	recorded?
Agenda
• TypeScript
• Angular	v4.0
• The	7	key	core	concepts
• Angular	CLI
• Our	Angular	app
TypeScript
TypeScript
Introduction	to	TypeScript
• Features:
• Generated	code	100%	compatible	with	browsers.
• Strongly	typed.
• Compilation	time	errors.
• Intellisense.
• Interfaces.
• Classes.
• Method	and	properties	modifiers	(private,	protected…).
• Constructors	and	static	members.
• Getters/Setters.
• Inheritance.
• Modules.
• Imports,	exports.
• Generics.
• Debugging	with	sourcemaps.
• Definition	type	files	(*.d.ts).
Introduction	to	TypeScript
TYPESCRIPT… WHO ARE	YOU?
Shedding light on JavaScript
to whom have lost hope…
Introduction	to	TypeScript
• Poner capturas del	VC	y	decir sólo una frase como mica:	“Ha	venido
para	salvarme”	->	hero
• Que	me	avises de	los errores
• Que	me	escribas el	código
• Que	te asegures que	los demás se	enteran (refactor)
• Que	me	resuelvas mis dudas (doc)
TYPESCRIPT… WHO ARE	YOU?
has definetely come to…
Introduction	to	TypeScript
…Warn us the errors
during coding phase
(compilation time)…
Introduction	to	TypeScript
…Tell us what we can	do…
Introduction	to	TypeScript
…Help us when we’ve forgot something…
Introduction	to	TypeScript
Introduction	to	TypeScript
• TypeScript will	always	transpile to	
JavaScript,	even	when	there	are	
warnings.
• An	app	could	have	simulateously
.ts and	.js code	(as	usually	is).
• A	TypeScript project	has	to	have	a	
file	called	tsconfig.json in	its	root	
path	folder.
Introduction	to	TypeScript
Some	fields	of	interest:
• declaration:	generates	corresponding	d.ts files.
• emitDecoratorMetadata:	emit	design-type	metadata	for	decorated	declarations	in	source.
• experimentalDecorators:	enables	experimental	support	for	ES7	decorators.
• lib:	specify	library	file	to	be	included	in	the	compilation.	Requires	TypeScript version	2.0	or	later.
• module:	specify	module	code	generation:	'none',	'CommonJS',	'Amd',	'System',	'UMD',	or	'es2015'.
• moduleResolution:	specifies	module	resolution	strategy:	'node'	(Node)	or	'classic'	(TypeScript pre	1.6).
• outDir:	redirect	output	structure	to	the	directory.
• sourceMap:	generates	corresponding	'.map'	file.
• target:	specify	ECMAScript	target	version.	Permitted	values	are	'es3',	'es5',	'es2015',	'es2016',	'es2017'	or	'esnext'.
• typeRoots:	specify	list	of	directory	for	type	definition	files	to	be	include.	Requires	TypeScript version	2.0	or	later.
• types:	type	declaration	files	to	be	included	in	compilation.	Requires	TypeScript version	2.0	or	later.
• strictNullChecks:	enable	strict	null	checks.	Requires	TypeScript version	2.0	or	later.
More	info:	here.
Introduction	to	TypeScript
• It’s	mandatory	to	declare	the	attributes.
• We	can	use	visibility	modifiers:	public	
(default),	protected	&	private.
• To	reduce	the	boilerplate,	the	
constructor	params are	consider	as	
attributes	too:
• It	will	be	valid	while	the	variables	
passed	as	arguments	satisfy	its	
structure…
Introduction	to	TypeScript
• Writing	classes,	interfaces	
and	object	types.
• An	interface	can	be	consider	
like	a	object	type,	because	
guarantee	its	structure.
• If	a	class	does	not	satisfy	the	
interface	structure,	it	will	
throw	an	error…
Introduction	to	TypeScript
• Writing	a	subclass	(inheritance)	
that	implements	an	interface
(“d”	avoids	the	
compilation	error)
Introduction	to	TypeScript
• Writing	an	union	and	type	guards.
• How	can	control	this	situation?	
!
!
"
Introduction	to	TypeScript
• TypeScript supports	getters	and	setters as	a	way	of	intercepting	
accesses	to	a	member	of	an	object.	This	give	us	a	way	of	having	finer-
grained	control	over	how	a	member	is	accessed	on	each	object.
Introduction	to	TypeScript
• TypeScript also	allow	us	to	define	static	properties/methods	besides	instance	
properties/methods.
• We	can	use	it	directly	without	an	instance:
• And	also	we	can	create	instance	from	it:
Introduction	to	TypeScript
• Access	modifiers:	private,	protected,	public,	readonly
• Private:	when	a	member	is	marked	as	private,	it	cannot	be	accessed	from	outside	of	
its	containing	class.
• Protected:	this	modifiers	acts	much	like	the	private	modifier	with	the	exception	that	
protected	elements	can	also	be	accessed	by	instances	of	deriving	classes.	That	
element	could	be	used	from	within	an	instance	method	of	subclass.	Even	a	
constructor	could	be	marked	as	protected,	what	that	means	that	class	cannot	be	
instantiated	outside	of	its	containing	class,	but	can	be	extended.
• Public:	by	default,	if	we	don’t	specify	any	modifier,	each	property	and	method	will	be	
public.	All	public	elements	will	be	visible	for	anyone.
• Readonly:	properties	marked	as	readonly must	be	initialized	at	their	declaration	or	in	
the	constructor.	Later	will	be	not	possible.
Who comes	from AngularJS?
Angular… WTH	is that?
• From	framework	to	platform
Dependency
Injection
Decorators Zones
Compile Change Render
Material Mobile Universal
CLI
Language
Services
Augury
ngUpgrade
Router
Animation
i18n
Angular… WTH	is that?
• Full	Development	Stack
SEMVER	and	
Angular	versions
• 2.0
• 2.1
• 2.2
• 2.3
• 2.4
• 3.0
• 4.0
The	super-tool	to	the	rescue:	Angular	CLI
• Angular	CLI	(Command	Line	Interface)
• Recom.:	Node	7.x	&	NPM	4.x
• npm install	–g	@angular/cli
The	7	magnificent
Modules
Components
Templates
Data	binding
Structural	directives
Services
Dependency	Injection
Create	a	new	project
ng new project-name
–style=scss
Create	a	new	
project
What	things	there	are	here?
Link
index.html
bundle.js
Link references
styles.(s)css
styles
references
src
The	basic	dependency	flow
Link
import
polyfills.ts
main.ts
Vendor.js
3rd libraries
Root Component (bundle.js)
app.module.ts
app.component.ts
app.routes.ts
import
Application	bootstrapping
• All	app	has,	at	least,	one	module:	the	root	one
Application	
bootstrapping
• The	root	AppModule
(convention	name).
• Module	marked	with	
@NgModule decorator.
• Angular	uses	decorators	
to	know	how	to	compile	
and	launch	the	app.
Application	
bootstrapping
Declarations:
• Which	components	will	
belong	to	that	module.
• The	only	declarable	
elements	allowed	here	
are	components,	pipes	
and	directives.
Application	
bootstrapping
Imports:
• The	declaration	of	which	
other	modules	the	
current	module	needs.
• We	can	import	either	
core	Angular	modules	or	
our	ones.
Application	
bootstrapping
Imports:
• Usually,	we	will	only	
have	one	bootstrapped	
component.
• This	bootstrap	process	
defines	the	components	
that	are	instantiated.
Application	bootstrapping
Root	component
Modules	and	AppModule
• Module	concept	/	strategy.
• The	Angular	modules	are	similar	to	ES6	modules.
• A	module	is	the	minimum	unit	of	compilation	and	distribution	of	Angular	
elements,	defining	the	compilation	context	of	their	components.
• Will	help	us	to	organize	our	code,	grouping	the	elements	with	related	
features,	making	them	more	reusable.
• One	component	can	only	be	declared	in	one	module.
• Many	Angular	third	libraries	are	available	as	NgModule’s to	import	them	
inside	of	“declaration”	property	of	one	component.
• The	AppModule will	always	declare	the	AppComponent by	convention.
AppComponent
Component	tree.
AppComponent
AppComponent
• @Component	decorator:
• selector
• template[Url]
• style[Urls]
• providers
• animations
• …
Components	and	
WebComponents
Components
• Components	benefits.
• Reusability.
• Complexity.
• Legibility.
• Testability.
Bindings
• Ways	to	databind
Adding	another	component
ng g component XXX
All	our	components
• App	Component
• Home	Component
• Series	Component
• CharacterComponent
Angular	
Services
Services
• The	underlying	concept:	dependency	injection	(DI).
• “Don’t	call	you	us,	we	will	do	it”.
• Benefits:
• Elements	decoupled.
• Separated	logic.
• Reusable.
• Testable.
Adding	a	service
ng g service XXX
Metadata	for	a	service
• Add	@Injectable() decorator:
Registering	a	service
• Add	it	to	providers entry	property	in	a	module:
Using	a	service
• Import	the	service.
• Add	the	dependency	to	the	constructor	of	caller	class:
Using	core	services
• And	if	we	need	more	dependencies?
• Remember	that	if	we	specify	some	params in	constructor,	it	will	
create	those	attributes	directly.
• Remember	to	add	also	the	module	(if	it	belongs	to	a	differente
module).
Navigating	/	Angular	Router
• App	composed	by	different	components/views
Navigating	/	Router
• Defining	routes
Navigating	/	Router
• Where	will	be	rendered	my	components?
Navigating	/	Router
• Now	we	have	configuration,	render	area,	but… how can	we navigate
to	another component?
RouterModule
• The last step is to	define	an special type of	module	for the routes,	and	
to	make theme available for the rest of	the app:
Navigating	/	Router
• To	access to	URL	params we can	do:
• Inject the service.
• Once	injected the service:
Calling	to	backend
Calling	to	backend
• As	recommendation	(due	to	its	asynchronous	nature),	all	backend	
calls	should	be	encapsulated	inside	a	service.
• The	service	offers	us	the	main	verbs:	GET,	POST,	PUT,	DELETE.
• The	most	important	part	is	that,	by	default,	the	result	is	an	
observable	instead	of	a	promise.	So,	the	import	needed	are:
Calling	to	backend
• After	that,	inside	the	service,	the	implementation:
Remember:	As	we	are	using	TypeScript,	we	should	specify	the	return	
type	of	the	function.
Calling	to	backend
• But,	that	observable… How can	I	use	it?
• Of	course,	we can	chain more	Rx operators:
Observables:	the	reactive	way
Observables	in	a	reactive	world
• Reactive	programming	is	programming	with	asynchronous	data	
streams:	event	buses	or	typical	click	events	are	really	an	async event	
stream,	on	which	we	can	observe	and	do	stuff.
Observable	example
• Gray	boxes	are	functions	that	transforms	one	
stream	into	another.
• First,	we	accumulate	clicks	in	lists,	whenever	
250ms	of	silence	has	happened	(throttle).
• This	result	is	a	stream	of	lists,	from	which	we	
apply	other	operation	to	map	each	list	to	an	
integer	matching	its	length.
• Finally,	we	ignore	1	integers	using	the	filter	oper.
• Now	we	can	suscribe (or	listen)	to	it,	and	react	
how	we	wish	with	those	values.
Observable	or	promise?
• Why	observables	are	better	than	promises?
Promises
• Handles	a	single	event	
when	an	async operation	
completes	or	fails
• Returns	a	single	value
• Supported	in	ES6
Observables
• Handles	a	stream	(zero	or	
more	than	zero	events)
• Offers	the	features	
provided	by	promises	and	
more
• They	are	cancellable
• They	have	useful	operators	
like	map,	reduce,	retry...
Observable	or	promise?
Pipes:	transforming	data
Adding	a	pipe
ng g pipe XXX
Pipes
• The	purpose	of	a	pipe	is	to	transform	displayed	values	within	a	
template.	
• One	advantage	of	pipes	consist	of	a	way	to	write	display-values	
transformations	that	we	can	declare	in	HTML	templates,	inside	of	the	
interpolation	expression.
Pipes
• The	pipes	can	be	parameterized:
• The	pipes	also	can	be	chained:
Pipes
• Imagine	you	want	to	count	the	length	of	a	string	to	output	it	to	the	
user.	
• A	pipe	can	be	the	perfect	solution,	because	it	can	be	reused	
anywhere	without	be	coupled	to	a	component.
Testing… testing everywhere
• The	testing	is,	sometimes,	unfortunately	underestimated,	but	it	is	as	
important	(or	even	more)	than	the	proper	code.	Moreover,	some	
authors	say	that	the	testing	code	is	another	way	of	documentation.
• To	summarize	the	idea	of	testing,	it	will	help	us	in	three	ways:
1.They	are	a	kind	of	assert	that	our	changes	don’t	break	the	current	code	
(regression	tests).
2.We	can	check	the	behavior	of	the	code	when	it	is	used	in	a	different	way,	or	
when	an	error	occurs,	or	even	working	under	abnormal	conditions.
3.If	test	some	part	of	the	application	becomes	in	a	very	hard	task,	it	could	reflect	a	
mistake	in	design	and	implementation	phases.
Testing… testing everywhere
• Testing	stack:	
• karma	(test	runner).
• Angular	testing	utilities.
• jasmine	(behavior	driven	development	testing	framework).
• protractor	(e2e	testing	framework).
Testing… testing everywhere
• npm test…
• Automatically launch a	browser.
• The changes in	the code recompile	automatically and	tests are	executed
again.
Testing… testing everywhere
• We	can	debug	the	tests	too.
Testing… testing everywhere
• Type	of	testing:
• Unit	tests.
• Isolated	tests.
• E2E,	end-to-end,	integration	tests.
More	QA	(Quality	Assurance)
• Static	analyse:	linting.
• Code	coverage.
Repo
• GitHub:	https://github.com/semagarcia
• Releases:
• Workshop	demo	updated	to	Angular	4.0.0.
• Bootstrap	&	FontAwesome
• Added	json-server	and	mocked	endpoint
• Created	all	components
• Implemented	router	and	routes
• Updated	npm	start	scripts
• Added	character	view
• Added	series	view
• Added unit tests
Dudas,	preguntas,	insultos…

More Related Content

What's hot

REST vs GraphQL
REST vs GraphQLREST vs GraphQL
REST vs GraphQL
Squareboat
 
An intro to GraphQL
An intro to GraphQLAn intro to GraphQL
An intro to GraphQL
valuebound
 
TypeScript Overview
TypeScript OverviewTypeScript Overview
TypeScript Overview
Aniruddha Chakrabarti
 
Intro GraphQL
Intro GraphQLIntro GraphQL
Intro GraphQL
Simona Cotin
 
Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQL
Muhilvarnan V
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
Sangeeta Ashrit
 
Typescript in 30mins
Typescript in 30mins Typescript in 30mins
Typescript in 30mins
Udaya Kumar
 
TypeScript Presentation
TypeScript PresentationTypeScript Presentation
TypeScript Presentation
Patrick John Pacaña
 
Spring GraphQL
Spring GraphQLSpring GraphQL
Spring GraphQL
VMware Tanzu
 
GraphQL
GraphQLGraphQL
GraphQL
Joel Corrêa
 
Graphql
GraphqlGraphql
Graphql
Niv Ben David
 
Typescript Fundamentals
Typescript FundamentalsTypescript Fundamentals
Typescript Fundamentals
Sunny Sharma
 
ES2015 / ES6: Basics of modern Javascript
ES2015 / ES6: Basics of modern JavascriptES2015 / ES6: Basics of modern Javascript
ES2015 / ES6: Basics of modern Javascript
Wojciech Dzikowski
 
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
luisw19
 
Angular
AngularAngular
Angular 2 observables
Angular 2 observablesAngular 2 observables
Angular 2 observables
Geoffrey Filippi
 
Building Modern APIs with GraphQL
Building Modern APIs with GraphQLBuilding Modern APIs with GraphQL
Building Modern APIs with GraphQL
Amazon Web Services
 
GraphQL Introduction
GraphQL IntroductionGraphQL Introduction
GraphQL Introduction
Serge Huber
 
Typescript ppt
Typescript pptTypescript ppt
Typescript ppt
akhilsreyas
 
Angular
AngularAngular
Angular
sridhiya
 

What's hot (20)

REST vs GraphQL
REST vs GraphQLREST vs GraphQL
REST vs GraphQL
 
An intro to GraphQL
An intro to GraphQLAn intro to GraphQL
An intro to GraphQL
 
TypeScript Overview
TypeScript OverviewTypeScript Overview
TypeScript Overview
 
Intro GraphQL
Intro GraphQLIntro GraphQL
Intro GraphQL
 
Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQL
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
Typescript in 30mins
Typescript in 30mins Typescript in 30mins
Typescript in 30mins
 
TypeScript Presentation
TypeScript PresentationTypeScript Presentation
TypeScript Presentation
 
Spring GraphQL
Spring GraphQLSpring GraphQL
Spring GraphQL
 
GraphQL
GraphQLGraphQL
GraphQL
 
Graphql
GraphqlGraphql
Graphql
 
Typescript Fundamentals
Typescript FundamentalsTypescript Fundamentals
Typescript Fundamentals
 
ES2015 / ES6: Basics of modern Javascript
ES2015 / ES6: Basics of modern JavascriptES2015 / ES6: Basics of modern Javascript
ES2015 / ES6: Basics of modern Javascript
 
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
 
Angular
AngularAngular
Angular
 
Angular 2 observables
Angular 2 observablesAngular 2 observables
Angular 2 observables
 
Building Modern APIs with GraphQL
Building Modern APIs with GraphQLBuilding Modern APIs with GraphQL
Building Modern APIs with GraphQL
 
GraphQL Introduction
GraphQL IntroductionGraphQL Introduction
GraphQL Introduction
 
Typescript ppt
Typescript pptTypescript ppt
Typescript ppt
 
Angular
AngularAngular
Angular
 

Viewers also liked

Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
José Manuel García García
 
JSDayES 2017 - ¿Plataforma casera?
JSDayES 2017 - ¿Plataforma casera?JSDayES 2017 - ¿Plataforma casera?
JSDayES 2017 - ¿Plataforma casera?
José Manuel García García
 
Meetup Arduino Madrid - Plataforma IoT casera
Meetup Arduino Madrid - Plataforma IoT caseraMeetup Arduino Madrid - Plataforma IoT casera
Meetup Arduino Madrid - Plataforma IoT casera
José Manuel García García
 
iBeacon - Conectar el mundo real con experiencias móviles - Freakend15
iBeacon - Conectar el mundo real con experiencias móviles - Freakend15iBeacon - Conectar el mundo real con experiencias móviles - Freakend15
iBeacon - Conectar el mundo real con experiencias móviles - Freakend15
José Manuel García García
 
Code motion 2014 - La gran batalla: LaTeX vs Word... pero, ¿Qué es LaTeX?
Code motion 2014 - La gran batalla: LaTeX vs Word... pero, ¿Qué es LaTeX?Code motion 2014 - La gran batalla: LaTeX vs Word... pero, ¿Qué es LaTeX?
Code motion 2014 - La gran batalla: LaTeX vs Word... pero, ¿Qué es LaTeX?
José Manuel García García
 
T3chFest 2017 - Plataforma casera para IoT
T3chFest 2017 - Plataforma casera para IoTT3chFest 2017 - Plataforma casera para IoT
T3chFest 2017 - Plataforma casera para IoT
José Manuel García García
 

Viewers also liked (6)

Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
 
JSDayES 2017 - ¿Plataforma casera?
JSDayES 2017 - ¿Plataforma casera?JSDayES 2017 - ¿Plataforma casera?
JSDayES 2017 - ¿Plataforma casera?
 
Meetup Arduino Madrid - Plataforma IoT casera
Meetup Arduino Madrid - Plataforma IoT caseraMeetup Arduino Madrid - Plataforma IoT casera
Meetup Arduino Madrid - Plataforma IoT casera
 
iBeacon - Conectar el mundo real con experiencias móviles - Freakend15
iBeacon - Conectar el mundo real con experiencias móviles - Freakend15iBeacon - Conectar el mundo real con experiencias móviles - Freakend15
iBeacon - Conectar el mundo real con experiencias móviles - Freakend15
 
Code motion 2014 - La gran batalla: LaTeX vs Word... pero, ¿Qué es LaTeX?
Code motion 2014 - La gran batalla: LaTeX vs Word... pero, ¿Qué es LaTeX?Code motion 2014 - La gran batalla: LaTeX vs Word... pero, ¿Qué es LaTeX?
Code motion 2014 - La gran batalla: LaTeX vs Word... pero, ¿Qué es LaTeX?
 
T3chFest 2017 - Plataforma casera para IoT
T3chFest 2017 - Plataforma casera para IoTT3chFest 2017 - Plataforma casera para IoT
T3chFest 2017 - Plataforma casera para IoT
 

Similar to TypeScript and Angular workshop

AngularConf2015
AngularConf2015AngularConf2015
AngularConf2015
Alessandro Giorgetti
 
The advantage of developing with TypeScript
The advantage of developing with TypeScript The advantage of developing with TypeScript
The advantage of developing with TypeScript
Corley S.r.l.
 
TypeScript . the JavaScript developer best friend!
TypeScript . the JavaScript developer best friend!TypeScript . the JavaScript developer best friend!
TypeScript . the JavaScript developer best friend!
Alessandro Giorgetti
 
AngularJS
AngularJSAngularJS
AngularJS
Yogesh L
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
Return on Intelligence
 
TypeScript and Angular2 (Love at first sight)
TypeScript and Angular2 (Love at first sight)TypeScript and Angular2 (Love at first sight)
TypeScript and Angular2 (Love at first sight)
Igor Talevski
 
Creational Design Patterns.pptx
Creational Design Patterns.pptxCreational Design Patterns.pptx
Creational Design Patterns.pptx
Sachin Patidar
 
Orthogonality: A Strategy for Reusable Code
Orthogonality: A Strategy for Reusable CodeOrthogonality: A Strategy for Reusable Code
Orthogonality: A Strategy for Reusable Codersebbe
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
Return on Intelligence
 
Design patterns in javascript
Design patterns in javascriptDesign patterns in javascript
Design patterns in javascript
Ayush Sharma
 
CrikeyCon 2015 - iOS Runtime Hacking Crash Course
CrikeyCon 2015 - iOS Runtime Hacking Crash CourseCrikeyCon 2015 - iOS Runtime Hacking Crash Course
CrikeyCon 2015 - iOS Runtime Hacking Crash Course
eightbit
 
Wahckon[2] - iOS Runtime Hacking Crash Course
Wahckon[2] - iOS Runtime Hacking Crash CourseWahckon[2] - iOS Runtime Hacking Crash Course
Wahckon[2] - iOS Runtime Hacking Crash Course
eightbit
 
Javascript Best Practices and Intro to Titanium
Javascript Best Practices and Intro to TitaniumJavascript Best Practices and Intro to Titanium
Javascript Best Practices and Intro to Titanium
Techday7
 
JUnit 5 - from Lambda to Alpha and beyond
JUnit 5 - from Lambda to Alpha and beyondJUnit 5 - from Lambda to Alpha and beyond
JUnit 5 - from Lambda to Alpha and beyond
Sam Brannen
 
iOS Application Exploitation
iOS Application ExploitationiOS Application Exploitation
iOS Application Exploitation
Positive Hack Days
 
Introduction to the intermediate Python - v1.1
Introduction to the intermediate Python - v1.1Introduction to the intermediate Python - v1.1
Introduction to the intermediate Python - v1.1
Andrei KUCHARAVY
 
"The JavaScript Design Patterns You have to Know" by Rashad Majali
"The JavaScript Design Patterns You have to Know" by Rashad Majali"The JavaScript Design Patterns You have to Know" by Rashad Majali
"The JavaScript Design Patterns You have to Know" by Rashad MajaliJordan Open Source Association
 
Introduction to TypeScript
Introduction to TypeScriptIntroduction to TypeScript
Introduction to TypeScript
NexThoughts Technologies
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsHidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script Extensions
SmartBear
 

Similar to TypeScript and Angular workshop (20)

AngularConf2015
AngularConf2015AngularConf2015
AngularConf2015
 
The advantage of developing with TypeScript
The advantage of developing with TypeScript The advantage of developing with TypeScript
The advantage of developing with TypeScript
 
TypeScript . the JavaScript developer best friend!
TypeScript . the JavaScript developer best friend!TypeScript . the JavaScript developer best friend!
TypeScript . the JavaScript developer best friend!
 
AngularJS
AngularJSAngularJS
AngularJS
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 
TypeScript and Angular2 (Love at first sight)
TypeScript and Angular2 (Love at first sight)TypeScript and Angular2 (Love at first sight)
TypeScript and Angular2 (Love at first sight)
 
Creational Design Patterns.pptx
Creational Design Patterns.pptxCreational Design Patterns.pptx
Creational Design Patterns.pptx
 
Orthogonality: A Strategy for Reusable Code
Orthogonality: A Strategy for Reusable CodeOrthogonality: A Strategy for Reusable Code
Orthogonality: A Strategy for Reusable Code
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Design patterns in javascript
Design patterns in javascriptDesign patterns in javascript
Design patterns in javascript
 
CrikeyCon 2015 - iOS Runtime Hacking Crash Course
CrikeyCon 2015 - iOS Runtime Hacking Crash CourseCrikeyCon 2015 - iOS Runtime Hacking Crash Course
CrikeyCon 2015 - iOS Runtime Hacking Crash Course
 
Wahckon[2] - iOS Runtime Hacking Crash Course
Wahckon[2] - iOS Runtime Hacking Crash CourseWahckon[2] - iOS Runtime Hacking Crash Course
Wahckon[2] - iOS Runtime Hacking Crash Course
 
Javascript Best Practices and Intro to Titanium
Javascript Best Practices and Intro to TitaniumJavascript Best Practices and Intro to Titanium
Javascript Best Practices and Intro to Titanium
 
JUnit 5 - from Lambda to Alpha and beyond
JUnit 5 - from Lambda to Alpha and beyondJUnit 5 - from Lambda to Alpha and beyond
JUnit 5 - from Lambda to Alpha and beyond
 
iOS Application Exploitation
iOS Application ExploitationiOS Application Exploitation
iOS Application Exploitation
 
Introduction to the intermediate Python - v1.1
Introduction to the intermediate Python - v1.1Introduction to the intermediate Python - v1.1
Introduction to the intermediate Python - v1.1
 
"The JavaScript Design Patterns You have to Know" by Rashad Majali
"The JavaScript Design Patterns You have to Know" by Rashad Majali"The JavaScript Design Patterns You have to Know" by Rashad Majali
"The JavaScript Design Patterns You have to Know" by Rashad Majali
 
Introduction to TypeScript
Introduction to TypeScriptIntroduction to TypeScript
Introduction to TypeScript
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsHidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script Extensions
 
getting-your-groovy-on
getting-your-groovy-ongetting-your-groovy-on
getting-your-groovy-on
 

Recently uploaded

Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
PrashantGoswami42
 
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSE
TECHNICAL TRAINING MANUAL   GENERAL FAMILIARIZATION COURSETECHNICAL TRAINING MANUAL   GENERAL FAMILIARIZATION COURSE
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSE
DuvanRamosGarzon1
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
Jayaprasanna4
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
Vaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdfVaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdf
Kamal Acharya
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
MuhammadTufail242431
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
Jayaprasanna4
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 

Recently uploaded (20)

Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSE
TECHNICAL TRAINING MANUAL   GENERAL FAMILIARIZATION COURSETECHNICAL TRAINING MANUAL   GENERAL FAMILIARIZATION COURSE
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSE
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
Vaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdfVaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdf
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 

TypeScript and Angular workshop