SlideShare uma empresa Scribd logo
1 de 25
Get Your Node.js Under
Control with TypeScript
Yaniv Rodenski
Senior Architect
Level: Intermediate - Advanced
About me:
• Senior Architect – Sela Group
• Windows Azure MVP
• Coauthor of Developing Windows Azure
and Web Services (MOC 20487)
• Developing software professionally since
1997
About 1997:
About 1997:
Script-based server side
Shared hosting environment
Browser wars
New HTML standard that will
“Change the World”
This guy was the PM of Israel
Agenda:
• Introduction to Node.js
• Introduction to TypeScript
• Getting Node.js under control
Back to the future – Node.js
• A JavaScript runtime that is designed for
asynchronous IO operations
• Very lightweight and fast
• Used by a growing number of companies:
The Node.js ecosystem
• Web frameworks
– Express.js
– Socket.io
• Database support
– MongoDB
– SQL Server
• Hosting and Cloud environments
– IIS, Azure
– Forever, PM2
Demo
Hello Node.js
Wait! JavaScript on the server side?
• JavaScript is considered a second-class
language:
• "JavaScript is Assembly Language for the Web“ - Erik
Meijer
• “You can write large programs in JavaScript. You just
can’t maintain them.” - Anders Hejlsberg
Hmmm
JavaScript benefits
• But JavaScript is a powerful language:
• Functional
• Object Oriented
• Dynamic
• Great runtimes
• Huge community
• Tools
Demo
Fun with dynamic typing
So what is TypeScript?
• TypeScript is one of many new JavaScript
front ends:
– DART
– CoffeeScript
– ClojureScript
• A JavaScript superset
• Introduces static typing for JavaScript
• Some ECMAScript 6 features
Key Features:
Support
standard
JavaScript
code
Provides
static
typing
Encapsulatio
n through
classes and
modules
Support for
constructors,
properties
and
functions
Interfaces
and enums
support
Lambda
support =>
Intellisense
and syntax
checking
Demo
Getting TypeScript
Demo
Fun with static typing
How good is the TypeScript output?
Demo
TypeScript and Node.js
Synchronous server operations
Client
DBServer
Client
Asynchronous server operations
Client
DBServer
Client
Express
• ExpressJS is a web application framework
inspired by Sinatra
• Minimal and flexible
• Provide a quasi-MVC server side
development
Demo
Doing cool things with Express
Summary
• Node.js is a powerful and lightweight out-
of-browser JavaScript environment
• JavaScript is a powerful language by itself
• TypeScript provides optional static typing
and cleaner syntax and tools, which can
be handy while developing large
applications and exposing APIs
Resources
• Node.js: http://nodejs.org/
• TypeScript: http://www.typescriptlang.org/
• Slides and Demos: http://sdrv.ms/152qU0b
• Definitely Typed:
https://github.com/borisyankov/DefinitelyT
yped
• Twitter: @YRodenski

Mais conteúdo relacionado

Mais procurados

Sqlite Introduction
Sqlite IntroductionSqlite Introduction
Sqlite Introduction
Praveen Nair
 
Windows communication foundation (part2) jaliya udagedara
Windows communication foundation (part2) jaliya udagedaraWindows communication foundation (part2) jaliya udagedara
Windows communication foundation (part2) jaliya udagedara
Jaliya Udagedara
 

Mais procurados (20)

Single page application
Single page applicationSingle page application
Single page application
 
Advance java session 2
Advance java session 2Advance java session 2
Advance java session 2
 
Single page application
Single page applicationSingle page application
Single page application
 
Basic method for Java EE Web Profile
Basic method for Java EE Web ProfileBasic method for Java EE Web Profile
Basic method for Java EE Web Profile
 
Continuous delivery by sergey seletsky
Continuous delivery by sergey seletskyContinuous delivery by sergey seletsky
Continuous delivery by sergey seletsky
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
Aws sys ops administrator
Aws sys ops administratorAws sys ops administrator
Aws sys ops administrator
 
Integrating Apache Syncope with Apache CXF
Integrating Apache Syncope with Apache CXFIntegrating Apache Syncope with Apache CXF
Integrating Apache Syncope with Apache CXF
 
JavaCro'15 - Secure Web Services Development - Askar Akhmerov
JavaCro'15 - Secure Web Services Development - Askar AkhmerovJavaCro'15 - Secure Web Services Development - Askar Akhmerov
JavaCro'15 - Secure Web Services Development - Askar Akhmerov
 
Sqlite Introduction
Sqlite IntroductionSqlite Introduction
Sqlite Introduction
 
Life of our small product
Life of our small productLife of our small product
Life of our small product
 
Windows communication foundation (part2) jaliya udagedara
Windows communication foundation (part2) jaliya udagedaraWindows communication foundation (part2) jaliya udagedara
Windows communication foundation (part2) jaliya udagedara
 
Gwt cdi jud_con_berlin
Gwt cdi jud_con_berlinGwt cdi jud_con_berlin
Gwt cdi jud_con_berlin
 
Using the Cascade Server Web Service API, by Artur Tomusiak
Using the Cascade Server Web Service API, by Artur TomusiakUsing the Cascade Server Web Service API, by Artur Tomusiak
Using the Cascade Server Web Service API, by Artur Tomusiak
 
Un problème 10 solutions : Azure Fighter
Un problème 10 solutions : Azure FighterUn problème 10 solutions : Azure Fighter
Un problème 10 solutions : Azure Fighter
 
Not your dad's h base new
Not your dad's h base newNot your dad's h base new
Not your dad's h base new
 
Hosting rails apps
Hosting rails appsHosting rails apps
Hosting rails apps
 
2019-06-12 aOS Aix Marseille - C4 - Un besoin 10 solutions Azure Fighter - Fé...
2019-06-12 aOS Aix Marseille - C4 - Un besoin 10 solutions Azure Fighter - Fé...2019-06-12 aOS Aix Marseille - C4 - Un besoin 10 solutions Azure Fighter - Fé...
2019-06-12 aOS Aix Marseille - C4 - Un besoin 10 solutions Azure Fighter - Fé...
 
SharePoint on Imaginary Hardware - IndyTechFest 2010
SharePoint on Imaginary Hardware - IndyTechFest 2010SharePoint on Imaginary Hardware - IndyTechFest 2010
SharePoint on Imaginary Hardware - IndyTechFest 2010
 
An Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspectiveAn Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspective
 

Destaque (6)

Fuente & suministro acumuladores automotrices - diciembre-enero 2013
Fuente & suministro   acumuladores automotrices - diciembre-enero 2013Fuente & suministro   acumuladores automotrices - diciembre-enero 2013
Fuente & suministro acumuladores automotrices - diciembre-enero 2013
 
Proyecto de ley penalización del cliente de trata
Proyecto de ley penalización del cliente de trataProyecto de ley penalización del cliente de trata
Proyecto de ley penalización del cliente de trata
 
El examen fisico del recien nacido
El examen fisico del recien nacidoEl examen fisico del recien nacido
El examen fisico del recien nacido
 
Examen fisico del_recien_nacido
Examen fisico del_recien_nacidoExamen fisico del_recien_nacido
Examen fisico del_recien_nacido
 
Guias de Practica Clinica para la atencion del Recien Nacido
Guias de Practica Clinica para la atencion del Recien NacidoGuias de Practica Clinica para la atencion del Recien Nacido
Guias de Practica Clinica para la atencion del Recien Nacido
 
Sant jordi
Sant jordiSant jordi
Sant jordi
 

Semelhante a Node ts1

Semelhante a Node ts1 (20)

Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentals
 
Top 10 frameworks of node js
Top 10 frameworks of node jsTop 10 frameworks of node js
Top 10 frameworks of node js
 
An introduction to Node.js
An introduction to Node.jsAn introduction to Node.js
An introduction to Node.js
 
Node.js for .NET Developers
Node.js for .NET DevelopersNode.js for .NET Developers
Node.js for .NET Developers
 
Varna conf nodejs-oss-microsoft-azure[final]
Varna conf nodejs-oss-microsoft-azure[final]Varna conf nodejs-oss-microsoft-azure[final]
Varna conf nodejs-oss-microsoft-azure[final]
 
Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++
 
Coding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applicationsCoding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applications
 
Node js installation steps.pptx slide share ppts
Node js installation steps.pptx slide share pptsNode js installation steps.pptx slide share ppts
Node js installation steps.pptx slide share ppts
 
Node.js In The Enterprise - A Primer
Node.js In The Enterprise - A PrimerNode.js In The Enterprise - A Primer
Node.js In The Enterprise - A Primer
 
SSJS, NoSQL, GAE and AppengineJS
SSJS, NoSQL, GAE and AppengineJSSSJS, NoSQL, GAE and AppengineJS
SSJS, NoSQL, GAE and AppengineJS
 
FULL stack -> MEAN stack
FULL stack -> MEAN stackFULL stack -> MEAN stack
FULL stack -> MEAN stack
 
Beginners Node.js
Beginners Node.jsBeginners Node.js
Beginners Node.js
 
Mean stack
Mean stackMean stack
Mean stack
 
Building Node.js Together | Radu Vunvulea
Building Node.js Together | Radu VunvuleaBuilding Node.js Together | Radu Vunvulea
Building Node.js Together | Radu Vunvulea
 
Mini-Training: Node.js
Mini-Training: Node.jsMini-Training: Node.js
Mini-Training: Node.js
 
Intro to Node.js
Intro to Node.jsIntro to Node.js
Intro to Node.js
 
APIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidadAPIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidad
 
SGCE 2015 REST APIs
SGCE 2015 REST APIsSGCE 2015 REST APIs
SGCE 2015 REST APIs
 
The tools & technologies behind Resin.io
The tools & technologies behind Resin.ioThe tools & technologies behind Resin.io
The tools & technologies behind Resin.io
 
.NET vs. Node.js: What to Choose for Web Development
.NET vs. Node.js: What to Choose for Web Development.NET vs. Node.js: What to Choose for Web Development
.NET vs. Node.js: What to Choose for Web Development
 

Último

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Node ts1