Node ts1

2,558 views

Published on

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

No Downloads
Views
Total views
2,558
On SlideShare
0
From Embeds
0
Number of Embeds
340
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

×