Node ts1

  • 2,144 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,144
On Slideshare
0
From Embeds
0
Number of Embeds
12

Actions

Shares
Downloads
7
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Get Your Node.js Under Control with TypeScript Yaniv Rodenski Senior Architect Level: Intermediate - Advanced
  • 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. About 1997:
  • 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. Agenda: • Introduction to Node.js • Introduction to TypeScript • Getting Node.js under control
  • 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. The Node.js ecosystem • Web frameworks – Express.js – Socket.io • Database support – MongoDB – SQL Server • Hosting and Cloud environments – IIS, Azure – Forever, PM2
  • 8. Demo Hello Node.js
  • 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. Hmmm
  • 11. JavaScript benefits • But JavaScript is a powerful language: • Functional • Object Oriented • Dynamic • Great runtimes • Huge community • Tools
  • 12. Demo Fun with dynamic typing
  • 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. 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. Demo Getting TypeScript
  • 16. Demo Fun with static typing
  • 17. How good is the TypeScript output?
  • 18. Demo TypeScript and Node.js
  • 19. Synchronous server operations Client DBServer Client
  • 20. Asynchronous server operations Client DBServer Client
  • 21. Express • ExpressJS is a web application framework inspired by Sinatra • Minimal and flexible • Provide a quasi-MVC server side development
  • 22. Demo Doing cool things with Express
  • 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. 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