0
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...
About 1997:
About 1997:
Script-based server side
Shared hosting environment
Browser wars
New HTML standard that will
“Change the World...
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...
The Node.js ecosystem
• Web frameworks
– Express.js
– Socket.io
• Database support
– MongoDB
– SQL Server
• Hosting and Cl...
Demo
Hello Node.js
Wait! JavaScript on the server side?
• JavaScript is considered a second-class
language:
• "JavaScript is Assembly Languag...
Hmmm
JavaScript benefits
• But JavaScript is a powerful language:
• Functional
• Object Oriented
• Dynamic
• Great runtimes
• H...
Demo
Fun with dynamic typing
So what is TypeScript?
• TypeScript is one of many new JavaScript
front ends:
– DART
– CoffeeScript
– ClojureScript
• A Ja...
Key Features:
Support
standard
JavaScript
code
Provides
static
typing
Encapsulatio
n through
classes and
modules
Support f...
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...
Demo
Doing cool things with Express
Summary
• Node.js is a powerful and lightweight out-
of-browser JavaScript environment
• JavaScript is a powerful language...
Resources
• Node.js: http://nodejs.org/
• TypeScript: http://www.typescriptlang.org/
• Slides and Demos: http://sdrv.ms/15...
Node ts1
Upcoming SlideShare
Loading in...5
×

Node ts1

2,274

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,274
On Slideshare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Node ts1"

  1. 1. Get Your Node.js Under Control with TypeScript Yaniv Rodenski Senior Architect Level: Intermediate - Advanced
  2. 2. About me: • Senior Architect – Sela Group • Windows Azure MVP • Coauthor of Developing Windows Azure and Web Services (MOC 20487) • Developing software professionally since 1997
  3. 3. About 1997:
  4. 4. 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
  5. 5. Agenda: • Introduction to Node.js • Introduction to TypeScript • Getting Node.js under control
  6. 6. 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:
  7. 7. The Node.js ecosystem • Web frameworks – Express.js – Socket.io • Database support – MongoDB – SQL Server • Hosting and Cloud environments – IIS, Azure – Forever, PM2
  8. 8. Demo Hello Node.js
  9. 9. 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
  10. 10. Hmmm
  11. 11. JavaScript benefits • But JavaScript is a powerful language: • Functional • Object Oriented • Dynamic • Great runtimes • Huge community • Tools
  12. 12. Demo Fun with dynamic typing
  13. 13. 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
  14. 14. 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
  15. 15. Demo Getting TypeScript
  16. 16. Demo Fun with static typing
  17. 17. How good is the TypeScript output?
  18. 18. Demo TypeScript and Node.js
  19. 19. Synchronous server operations Client DBServer Client
  20. 20. Asynchronous server operations Client DBServer Client
  21. 21. Express • ExpressJS is a web application framework inspired by Sinatra • Minimal and flexible • Provide a quasi-MVC server side development
  22. 22. Demo Doing cool things with Express
  23. 23. 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
  24. 24. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×