typescript : application scale javascript

20

Upload: lowri

Post on 22-Feb-2016

68 views

Category:

Documents


0 download

DESCRIPTION

TypeScript : Application scale JavaScript. Anders Hejlsberg Technical Fellow 3-314. Application scale JavaScript development is hard. TypeScript : A language for application scale JavaScript development. TypeScript : A typed superset of JavaScript that compiles to plain JavaScript. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TypeScript : Application  scale JavaScript
Page 2: TypeScript : Application  scale JavaScript

TypeScript: Application scale JavaScript

Anders HejlsbergTechnical Fellow3-314

Page 3: TypeScript : Application  scale JavaScript

Application scale JavaScriptdevelopment is hard.

Page 4: TypeScript : Application  scale JavaScript

TypeScript: A language for application scale JavaScript development.

Page 5: TypeScript : Application  scale JavaScript

TypeScript: A typed superset of JavaScript that compiles to plain JavaScript.

Page 6: TypeScript : Application  scale JavaScript

Any browser. Any host. Any OS.

Page 7: TypeScript : Application  scale JavaScript

Open Source.

Page 8: TypeScript : Application  scale JavaScript

Starts with JavaScriptAll JavaScript code is TypeScript code, simply copy and pasteAll JavaScript libraries work with TypeScript

Optional Static Types, Classes, ModulesEnable scalable application development and excellent toolingZero cost: Static types completely disappear at run-time

Ends with JavaScriptCompiles to idiomatic JavaScriptRuns in any browser or host, on any OS

An Open Source language for application scale JavaScript development.

TypeScript

Page 9: TypeScript : Application  scale JavaScript

Demo: TypeScript in Action

Page 10: TypeScript : Application  scale JavaScript

Type inference and structural typingIn practice very few type annotations are necessary

GenericsEnables more accurate expression of flow of types

Works with existing JavaScript librariesDeclaration files can be written and maintained separately

Types enable toolingProvide verification and assistance, but not hard guarantees

TypeScript’s static compile-time type system accurately models the dynamic run-time type system of JavaScript

Type System

Page 11: TypeScript : Application  scale JavaScript

Scalable application structuringClasses, Modules, Interfaces enable clear contracts between components

Aligned with emerging standardsClass, Module, Lambda syntax aligns with ECMAScript 6 proposals

Supports popular module systemsCommonJS and AMD modules in any ECMAScript 3 environment

TypeScript’s static compile-time type system accurately models the dynamic run-time type system of JavaScript

Classes and Modules

Page 12: TypeScript : Application  scale JavaScript

LanguageGeneric classes, interfaces, and methodsOverloading on constantsEnum types‘export =‘Function/class/module mergingMethods in object literals

CompilerIncremental parserPull-model type checkerScaling to 100K+ line projects

This release represents the largest update to TypeScript to date, bringing significant changes to the language, compiler and tools.

TypeScript 0.9

Page 13: TypeScript : Application  scale JavaScript

TypeScript Adoption

Page 14: TypeScript : Application  scale JavaScript

Xbox Music and TypeScript

Page 15: TypeScript : Application  scale JavaScript

FrameworksDefinitely Typed has 150+ community curated library typingsOver 90% of top 20 JavaScript frameworks covered

ToolsRich IDEs: Visual Studio, WebStorm, Cloud9, BracketsText Editors: SublimeText, vi, Emacs, JSBinBuild Integration: ASP.NET, node.js, compile-in-client, Ruby, grunt

ProcessActive Open Source development on CodePlexThousands of discussion posts and tracked issues

“TypeScript is quite a good piece of work for Visual Studio users, and smartly aligned with ES6.”

- Brendan Eich

TypeScript Ecosystem

Page 16: TypeScript : Application  scale JavaScript

http://typescriptlang.org

Page 17: TypeScript : Application  scale JavaScript

ResourcesUse this slide to list resources, white papers, videos and links.

Page 18: TypeScript : Application  scale JavaScript

Device distribution starts after sessions conclude today (approximately 6:00pm) in the Big Room, Hall D. If you choose not to pick up your devices tonight, distribution will continue for the duration of the conference at Registration in the North Lobby.

Get your goodies

Acer Iconia W3, Surface Pro, and Surface Type Cover

Page 19: TypeScript : Application  scale JavaScript

Evaluate this session

Scan this QR code to evaluate this session and be automatically entered in a drawing to win a prize!

Page 20: TypeScript : Application  scale JavaScript

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.