SlideShare a Scribd company logo
ENJOYING
LARGE	SCALE
BROWSER	DEVELOPMENT
joost@de-vries․name
codestar.nl
joost-de-vries
@jouke
TYPESCRIPT




WHERE	I'M	COMING	FROM
Scala
Systems	that	run	on	JVM	and	Unix	flavour
Systems	for	core	products
Functional	programming
Reactive	programming
Worrying	about	Docker	stuff	and	proxies	and	clusters
and	...
Browser	development	used	to	feel
like	an	alien	world
TYPESCRIPT
Made	a	Typescript	buildtool:
https://github.com/joost-de-vries/sbt-typescript
Done	fullstack	projects	with	frontend:
Typescript
RxJs
Angular2
Poking	around	a	lot	in	the	TS	compiler	source	code
①
SO	WHAT	IS
TYPESCRIPT?
It's	Javascript
Typescript: enjoying large scale browser development
It's	Javascript
..but	smarter
JAVASCRIPT	BUT	SMARTER
You	get	immediate	feedback	through	the	red	sea
You	get	a	code	completion	dropdown	while	typing
You	can	click	through	to	the	definition
You	can	refactor	with	confidence	across	all	your	files
All	because	of	types
So	if	we	drone	on	about	types	it's	because	of	the	ease	of	use	it	enables.
JAVASCRIPT	BUT	SMARTER
This	is	made	possible	by	a	compiler	with	types	and	type
inferencing
TYPES
interface	Person	{
				firstName:	string;
				lastName:	string;
}
function	greeter(person:	Person)	{
				return	"Hello,	"	+	person.firstName	+	"	"	+	person.lastName;
}
const	user	=	{	firstName:	"Jane",	lastname:	"User"};		
document.body.innerHTML	=	greeter(user);		//	will	show	a	red	sea.	lastname	is	camel	case
Add	some	simple	type	to	a	function
JAVASCRIPT	BUT	SMARTER
Any	Javascript	is	valid	Typescript	initially
You	can	increase	your	control	gradually
by	adding	types
by	ruling	out	error	prone	patterns
Very	practical:
increase	control	step	by	step
RULING	OUT	ERROR	PRONE	PATTERNS
{
		"compilerOptions":	{
				"target":	"ES5",
				"module":	"system",
				"lib":	[	"es6",	"dom"],
				/*	settings	that	flag	potential	errors	*/
				"noEmitOnError":	true,
				"noImplicitAny":	true,
				"noImplicitReturns":	true,
				"noFallthroughCasesInSwitch":	true,
				"forceConsistentCasingInFileNames":	true,
				"noImplicitThis":	true
		},
Turn	on	compiler	options	step	by	step
import	*	as	React	from	'react';
import	{	Modal,	ModalContent	}	from	'../modal';
import	LoginForm	from	'./login-form';
interface	ILoginModalProps	extends	React.Props<any>	{
		isVisible:	boolean;
		isPending:	boolean;
		hasError:	boolean;
		onSubmit:	()	=>	void;
};
export	default	function	LoginModal({
		isVisible,
		isPending,
		hasError,
		onSubmit
}:	ILoginModalProps)	{
		return	(
				<Modal	isVisible={	isVisible	}>
						<ModalContent>
								<h1	className="mt0">Login</h1>
								<LoginForm
										isPending={	isPending	}
										hasError={	hasError	}
It's	the	javascript	of	the	future
right	now
..transpiled	into	ES5	or	ES3
you	can	start	gradually	and	choose	your	prefered	amount
of	control
let	suits	=	["hearts",	"spades",	"clubs",	"diamonds"];
function	pickCard(x)	{
				//	...
}
let	myDeck	=	[{	suit:	"diamonds",	card:	2	},	
				{	suit:	"spades",	card:	10	},	
				{	suit:	"harts",	card:	4	}];
let	pickedCard2	=	pickCard(15);
type	Suit	=	"hearts"	|	"spades"	|	"clubs"	|	"diamonds";
let	suits:Suit[]	=	["hearts",	"spades",	"clubs",	"diamonds"];
type	Rank	=	1	|	2|	3|	4	|	5	|	6	|	7	|	8	|	9	|	10	|	11	|	12	|	13
interface	Card{
				suit:	Suit
				card:	Rank
}
type	Deck	=	Card[]
function	pickCard(x:Deck	|	Rank):	any	{
				//		...
}
let	myDeck:Card[]	=	[{	suit:	"diamonds",	card:	2	},	
				{	suit:	"spades",	card:	10	},	
				{	suit:	"harts",	card:	4	}];		//	will	show	an	error
let	pickedCard2	=	pickCard(15);	//	will	show	an	error
With	types	added
②
ENJOYING	LARGE	SCALE
BROWSER
DEVELOPMENT
Typescript: enjoying large scale browser development
Uncaught
TypeError:
undefined	is	not
a	function
Truthy	values
with	==
var	Snake	=	(function	(_super)	{
				__extends(Snake,	_super);
				function	Snake(name)	{
								_super.call(this,	name);
				}
				Snake.prototype.move	=	function	(distanceInMeters)	{
								if	(distanceInMeters	===	void	0)	{	distanceInMeters	=	5;	}
								console.log("Slithering...");
								_super.prototype.move.call(this,	distanceInMeters);
				};
				return	Snake;
}(Animal));
var	sam	=	new	Snake("Sammy	the	Python");
sam.move();
												
The	module	pattern	to	prevent
global	scope
Emulating	inheritance
Happy!
class	Snake	extends	Animal	{
				constructor(private	name:	string)	{					}
				move(distanceInMeters	=	5)	{
								console.log(`${this.name}	slithering...`)
								super.move(distanceInMeters)
				}
}
const	sam	=	new	Snake("Sammy	the	Python")
sam.move()
2008
MOVING	AWAY	FROM	THE
'AWFUL	PARTS	OF	JAVASCRIPT'
global	variables ES6
scopes ES6
semicolon	insertion Typescript
reserved	keywords ES6	+/-
unicode ES6
typeof Typescript
parseInt esLint
floating	point esLint
NaN esLint
phony	arrays ES6
MOVING	AWAY	FROM	THE	'BAD
PARTS	OF	JAVASCRIPT'
== tsLint
within Typescript
eval esLint
continue ES6	+/-
switch	fall	through Typescript
Block-less	Statements esLint
++ esLint
Bitwise	Operators ?
function	expression ES6
typed	wrappers ?
THE	JOURNEY	AWAY
FROM	THE	BAD	PARTS
OF	JAVASCRIPT
Module	loaders;	AMD,	CommonJs
jsHint,	esLint,	tsLint
Ecmascript	updates:	ES6,	ES7
Types!	Typescript,	Flowtype,	...
Types	are	the	next	step
③
JAVASCRIPT	OF	THE
FUTURE
Right	now!
④
SMARTER	ABOUT
JAVASCRIPT
Revisited
CHALLENGES	FOR	TYPES	IN
JAVASCRIPT	PATTERNS
function	buildName(firstName,	lastName)	{
				if	(lastName)
								return	firstName	+	"	"	+	lastName;
				else
								return	firstName;
}
buildName("Jan");
All	function	arguments	are
optional	in	Javascript
function	buildName(firstName:	string,	lastName?:	string)	{
				if	(lastName)				//	type:	string	|	undefined
								return	firstName	+	"	"	+	lastName;				//	type:	string
				else
								return	firstName;
}
buildName("Jan")
Type	guard	strips	away	undefined
from	the	type	of	the	optional
argument
function	createName(name)	{
				if	(name.length)	{
								return	name.join("	");
				}
				else	{
								return	name;
				}
}
var	greetingMessage	=	"Greetings,	"	+	createName(["Sam",	"Smith"]);
Typical	Javascript
Deal	with	different	types	of
arguments
type	NameOrNameArray	=	string	|	string[];
function	createName(name:	NameOrNameArray)	{
				if	(typeof	name	===	"string")	{	//	type:	string	or	string[]
								return	name;			//	type:	string
				}
				else	{
								return	name.join("	");			//	type:	string[]
				}
}
var	greetingMessage	=	`Greetings,	${	createName(["Sam",	"Smith"])	}`;
Typical	Javascript
'Or'	types	are	called	union	types
⑤
USING	TYPESCRIPT
GREAT	TYPESCRIPT	SUPPORT
Sublime	Text
Atom
Visual	Code
IntelliJ	/	Webstorm
Eclipse
Visual	Studio
TS	compiler	offers	a	language	api
that	editors	and	IDEs	can	use
EXPLORING	A	CODE	BASE
THE	TS	LANGUAGE	API
Typescript: enjoying large scale browser development
Typescript: enjoying large scale browser development
⑥
TYPESCRIPT	2.0
More	than	what	most	server	side
languages
have	to	offer
function	padLeft(value:	string,	padding:	string	|	number)	{
				//	...
}
const	indentedString	=	padLeft("Hello	world",	true);		//	error
										
Union	types
interface	Bird	{
				fly();
				layEggs();
}
interface	Fish	{
				swim();
				layEggs();
}
function	getSmallPet():	Fish	|	Bird	{
				//	...
}
let	pet	=	getSmallPet();
pet.layEggs();	//	okay
pet.swim();				//	errors				
										
Union	types
ABOUT	TS	TYPES
class	Animal	{
				feet:	number;
				constructor(name:	string,	numFeet:	number)	{	}
}
class	Size	{
				feet:	number;
				constructor(numFeet:	number)	{	}
}
let	a:	Animal;
let	s:	Size;
a	=	s;		//OK
s	=	a;	
Types	are	structural	instead	of	the
more	common	nominal	typing
type	Easing	=	"ease-in"	|	"ease-out"	|	"ease-in-out";
class	UIElement	{
				animate(dx:	number,	dy:	number,	easing:	Easing)	{
								if	(easing	===	"ease-in")	{
												//	...
								}
								else	if	(easing	===	"ease-out")	{
								}
								else	if	(easing	===	"ease-in-out")	{
								}
								else	{
												//	error!	should	not	pass	null	or	undefined.
								}
				}
}
let	button	=	new	UIElement();
button.animate(0,	0,	"ease-in");
button.animate(0,	0,	"uneasy");	//	error:	"uneasy"	is	not	allowed	here
										 Union	types	and	literal	types
A	powerful	combination
function	bar(x:	string	|	number)	{
				if	(typeof	x	===	"number")	{
								return;
				}
				x;	//	type	of	x	is	string	here
}
										 Control	flow	analysis
NULL	AND	UNDEFINED	AWARE
TYPES
//	Compiled	with	--strictNullChecks
function	parseNumber(json:string):number	|	undefined
let	x:	number	|	undefined;
let	y:	number;
x	=	parseNumber(json);		//	Ok
y	=	parseNumber(json);		//	Compile	error
if(x){
			y	=	x;		//	Ok	x	has	type	number	here
}
										
No	more	'undefined	is	not	a
function'!
interface	Square	{
				kind:	"square";
				size:	number;
}
interface	Rectangle	{
				kind:	"rectangle";
				width:	number;
				height:	number;
}
type	Shape	=	Square	|	Rectangle	|	Circle;
function	area(s:	Shape)	{
				switch	(s.kind)	{
								case	"square":	return	s.size	*	s.size;		//	type	is	Square
								case	"rectangle":	return	s.width	*	s.height;	//	Rectangle
								case	"circle":	return	Math.PI	*	s.radius	*	s.radius;
				}
}
										
ADTs	and	pattern	matching!
⑦
WHEN	NOT	TO	USE
TYPESCRIPT
main	=
		App.beginnerProgram	{	model	=	optOut,	update	=	update,	view	=	view	}
type	alias	Model	=
		{	notifications	:	Bool
		,	autoplay	:	Bool
		,	location	:	Bool
		}
optOut	:	Model
optOut	=
		Model	True	True	True						
		
If	you	don't	want	to	build	on
Javascript
If	you	want	to	do	more	Functional
Programming
ALTERNATIVES
Babel	+	Flowtype
Coffeescript
ScalaJs
Elm
Purescript
Clojurescript
Java!
...
Most	languages	compile	to	JS	nowadays
TYPESCRIPT	VS	FLOWTYPE
TS Flow
better	editor	support
more	open	development
sound	type	system
control	flow	analysis control	flow	analysis
null,	undefined	aware null,	undefined	aware
tagged	unions tagged	unions
Both	great	for	browser	dev
TS	2.0	has	caught	up	with	a	lot	of	standout	Flow	features
DON'T	USE	TS	IF
..you	write	Microsoft
with	a	$	sign
DON'T	USE	TS	IF
you	don't	like	Javascript
you	don't	want	to	setup	a	build
you	dislike	anything	from	Microsoft
it's	not	that	much	code	and	the	team	is	just	you
SO
New	versions	of	Ecmascript	are	really	nice
You	can	use	them	right	now
Typescript	helps	when	your	team	and	your	codebase
grows
You	can	use	existing	JS	code
There's	a	lot	of	tool	support
Lots	of	resources	online	to	get	started
Open	source	and	cross	platform
Top	15	languages	on	github
3,5	x	growth
RESOURCES
Typescript	website	https://www.typescriptlang.org
Try	out	TS	in	your	browser
https://www.typescriptlang.org/play/index.html
Typescript	Handbook
https://www.typescriptlang.org/docs/handbook
Typescript	Gitbook	http://basarat.gitbooks.io/typescript/

More Related Content

PDF
TypeScript introduction to scalable javascript application
Andrea Paciolla
 
PPTX
TypeScript: Basic Features and Compilation Guide
Nascenia IT
 
PPTX
Type script - advanced usage and practices
Iwan van der Kleijn
 
PPTX
Introduction about type script
Binh Quan Duc
 
PDF
TypeScript: coding JavaScript without the pain
Sander Mak (@Sander_Mak)
 
PDF
Getting Started with TypeScript
Gil Fink
 
PPTX
Getting started with typescript
C...L, NESPRESSO, WAFAASSURANCE, SOFRECOM ORANGE
 
PDF
TypeScript Best Practices
felixbillon
 
TypeScript introduction to scalable javascript application
Andrea Paciolla
 
TypeScript: Basic Features and Compilation Guide
Nascenia IT
 
Type script - advanced usage and practices
Iwan van der Kleijn
 
Introduction about type script
Binh Quan Duc
 
TypeScript: coding JavaScript without the pain
Sander Mak (@Sander_Mak)
 
Getting Started with TypeScript
Gil Fink
 
Getting started with typescript
C...L, NESPRESSO, WAFAASSURANCE, SOFRECOM ORANGE
 
TypeScript Best Practices
felixbillon
 

What's hot (20)

PPTX
Typescript Fundamentals
Sunny Sharma
 
PPTX
Typescript ppt
akhilsreyas
 
PDF
Introduction to TypeScript by Winston Levi
Winston Levi
 
PPTX
Introducing type script
Remo Jansen
 
PPTX
TypeScript
Udaiappa Ramachandran
 
PPTX
Typescript in 30mins
Udaya Kumar
 
PDF
TypeScript - An Introduction
NexThoughts Technologies
 
PPTX
AngularConf2015
Alessandro Giorgetti
 
PDF
Power Leveling your TypeScript
Offirmo
 
ODP
Getting started with typescript and angular 2
Knoldus Inc.
 
PPTX
TypeScript - Silver Bullet for the Full-stack Developers
Rutenis Turcinas
 
PDF
Typescript for the programmers who like javascript
Andrei Sebastian Cîmpean
 
PPT
TypeScript Presentation
Patrick John Pacaña
 
PPTX
TypeScript . the JavaScript developer best friend!
Alessandro Giorgetti
 
PPTX
All You Need to Know About Type Script
Folio3 Software
 
PPTX
Typescript 101 introduction
Bob German
 
PPTX
TypeScript Overview
Aniruddha Chakrabarti
 
PDF
TypeScript: Angular's Secret Weapon
Laurent Duveau
 
PDF
TypeScript and Angular workshop
José Manuel García García
 
Typescript Fundamentals
Sunny Sharma
 
Typescript ppt
akhilsreyas
 
Introduction to TypeScript by Winston Levi
Winston Levi
 
Introducing type script
Remo Jansen
 
Typescript in 30mins
Udaya Kumar
 
TypeScript - An Introduction
NexThoughts Technologies
 
AngularConf2015
Alessandro Giorgetti
 
Power Leveling your TypeScript
Offirmo
 
Getting started with typescript and angular 2
Knoldus Inc.
 
TypeScript - Silver Bullet for the Full-stack Developers
Rutenis Turcinas
 
Typescript for the programmers who like javascript
Andrei Sebastian Cîmpean
 
TypeScript Presentation
Patrick John Pacaña
 
TypeScript . the JavaScript developer best friend!
Alessandro Giorgetti
 
All You Need to Know About Type Script
Folio3 Software
 
Typescript 101 introduction
Bob German
 
TypeScript Overview
Aniruddha Chakrabarti
 
TypeScript: Angular's Secret Weapon
Laurent Duveau
 
TypeScript and Angular workshop
José Manuel García García
 
Ad

Viewers also liked (13)

PPTX
TypeScript DevSum 2013
Michael Herkommer
 
PPTX
Why do we need TypeScript?
Nitay Neeman
 
PDF
Union Types and Literal Singleton Types in Scala (and Typescript)
Joost de Vries
 
PPTX
TypeScript
Fabian Vilers
 
PPTX
Double page spread stages powerpoint
kittylantos
 
PDF
Slick 3.0 functional programming and db side effects
Joost de Vries
 
PPTX
Building Angular 2.0 applications with TypeScript
MSDEVMTL
 
PPTX
Typescript - a JS superset
Tyrone Allen
 
PDF
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
Christian Heilmann
 
PDF
TypeScript Introduction
Dmitry Sheiko
 
PDF
Александр Русаков - TypeScript 2 in action
MoscowJS
 
PDF
TypeScript Seminar
Haim Michael
 
PPTX
Typescript: JS code just got better!
amit bezalel
 
TypeScript DevSum 2013
Michael Herkommer
 
Why do we need TypeScript?
Nitay Neeman
 
Union Types and Literal Singleton Types in Scala (and Typescript)
Joost de Vries
 
TypeScript
Fabian Vilers
 
Double page spread stages powerpoint
kittylantos
 
Slick 3.0 functional programming and db side effects
Joost de Vries
 
Building Angular 2.0 applications with TypeScript
MSDEVMTL
 
Typescript - a JS superset
Tyrone Allen
 
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
Christian Heilmann
 
TypeScript Introduction
Dmitry Sheiko
 
Александр Русаков - TypeScript 2 in action
MoscowJS
 
TypeScript Seminar
Haim Michael
 
Typescript: JS code just got better!
amit bezalel
 
Ad

Similar to Typescript: enjoying large scale browser development (20)

PPTX
TypeScript
Software Infrastructure
 
PDF
TypeScript, Dart, CoffeeScript and JavaScript Comparison
Haim Michael
 
PPTX
TypeScript VS JavaScript.pptx
Albiorix Technology
 
PPTX
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
Maarten Balliauw
 
PDF
TypeScript: Angular's Secret Weapon
Laurent Duveau
 
PPTX
Type script
Mallikarjuna G D
 
PDF
Introduction to TypeScript
NexThoughts Technologies
 
PDF
Migrating Web SDK from JS to TS
Grigory Petrov
 
PDF
UnDeveloper Studio
Christien Rioux
 
PDF
Powerful tools for building web solutions
Andrea Tino
 
PDF
One RubyStack to Rule them All
elliando dias
 
PDF
New c sharp4_features_part_vi
Nico Ludwig
 
PDF
Ansible meetup-0915
Pierre Mavro
 
PPTX
Настройка окружения для кросскомпиляции проектов на основе docker'a
corehard_by
 
ODP
Learn python
Kracekumar Ramaraju
 
PDF
CDK 2.0: Docker, Kubernetes, And OSE On Your Desk (Langdon White)
Red Hat Developers
 
PDF
WebGL games with Minko - Next Game Frontier 2014
Minko3D
 
PPTX
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
Maarten Balliauw
 
PDF
Type script vs javascript come face to face in battleground
Katy Slemon
 
PDF
Type script
srinivaskapa1
 
TypeScript, Dart, CoffeeScript and JavaScript Comparison
Haim Michael
 
TypeScript VS JavaScript.pptx
Albiorix Technology
 
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
Maarten Balliauw
 
TypeScript: Angular's Secret Weapon
Laurent Duveau
 
Type script
Mallikarjuna G D
 
Introduction to TypeScript
NexThoughts Technologies
 
Migrating Web SDK from JS to TS
Grigory Petrov
 
UnDeveloper Studio
Christien Rioux
 
Powerful tools for building web solutions
Andrea Tino
 
One RubyStack to Rule them All
elliando dias
 
New c sharp4_features_part_vi
Nico Ludwig
 
Ansible meetup-0915
Pierre Mavro
 
Настройка окружения для кросскомпиляции проектов на основе docker'a
corehard_by
 
Learn python
Kracekumar Ramaraju
 
CDK 2.0: Docker, Kubernetes, And OSE On Your Desk (Langdon White)
Red Hat Developers
 
WebGL games with Minko - Next Game Frontier 2014
Minko3D
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
Maarten Balliauw
 
Type script vs javascript come face to face in battleground
Katy Slemon
 
Type script
srinivaskapa1
 

Recently uploaded (20)

PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Revolutionize Operations with Intelligent IoT Monitoring and Control
Rejig Digital
 
PPTX
Smart Infrastructure and Automation through IoT Sensors
Rejig Digital
 
PPTX
Coupa-Overview _Assumptions presentation
annapureddyn
 
PDF
Chapter 1 Introduction to CV and IP Lecture Note.pdf
Getnet Tigabie Askale -(GM)
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PDF
This slide provides an overview Technology
mineshkharadi333
 
PDF
Software Development Company | KodekX
KodekX
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PPT
L2 Rules of Netiquette in Empowerment technology
Archibal2
 
PPTX
How to Build a Scalable Micro-Investing Platform in 2025 - A Founder’s Guide ...
Third Rock Techkno
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PPTX
Stamford - Community User Group Leaders_ Agentblazer Status, AI Sustainabilit...
Amol Dixit
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
DevOps & Developer Experience Summer BBQ
AUGNYC
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Revolutionize Operations with Intelligent IoT Monitoring and Control
Rejig Digital
 
Smart Infrastructure and Automation through IoT Sensors
Rejig Digital
 
Coupa-Overview _Assumptions presentation
annapureddyn
 
Chapter 1 Introduction to CV and IP Lecture Note.pdf
Getnet Tigabie Askale -(GM)
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
This slide provides an overview Technology
mineshkharadi333
 
Software Development Company | KodekX
KodekX
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
L2 Rules of Netiquette in Empowerment technology
Archibal2
 
How to Build a Scalable Micro-Investing Platform in 2025 - A Founder’s Guide ...
Third Rock Techkno
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Stamford - Community User Group Leaders_ Agentblazer Status, AI Sustainabilit...
Amol Dixit
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
DevOps & Developer Experience Summer BBQ
AUGNYC
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 

Typescript: enjoying large scale browser development