Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TypeScript for Enterprise Scale JavaScript Apps


Published on

There is no denying the trend to deliver critical business apps through the browser using Single Page Application frameworks that rely heavily on JavaScript. Traditionally frowned upon as a loosely typed language not fit for large scale development or teams, JavaScript is rapidly evolving with the latest ECMAScript 2015/6 specifications. TypeScript is a technology that can help teams future proof their applications and build them at scale.

By serving as a superset of JavaScript and enabling definition files to describe existing JavaScript libraries, TypeScript can be integrated seamlessly into existing projects. It provides syntax that aligns with the current specifications and will compile to various versions of JavaScript and leverage different libraries that provide module support. Learn how TypeScript improves the development experience by providing development and compile-time checks, type safety, interfaces, true class inheritance, and other features that accelerate delivery and improve the quality and stability of Single Page Applications.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

TypeScript for Enterprise Scale JavaScript Apps

  1. 1. TypeScript For Enterprise Scale JavaScript Apps
  2. 2. Today’s Agenda 1. Intro With whom am I speaking? 2. JavaScript Wat?!!! 3. The Basics Types, Interfaces, Classes, and Modules 4. The Cool Stuff Functions and Lambdas, Complex Type Definitions, Generics, Mixins/Decorators 5. The Real World Library Definitions, Compiler Options, AMD
  3. 3. With whom am I speaking? Intro
  4. 4. Jeremy Likness • Wife, 2 children, vegan hiking 9-ball player • Started programming in the Commodore 64 days (yes, we had computers in the early 1980s) • Brief foray into game development with Quake in mid 1990s • Enterprise Developer for 20 years • Web Developer since, well, the web (1990s) • TypeScript Developer since beta in 2012 (six figures LOCs) • 7-time Microsoft MVP • Author of 4 technology books •
  5. 5. iVision
  6. 6. iVision App Dev
  7. 7. Wat?!!! JavaScript
  8. 8. Wat?!
  9. 9. JavaScript Isn’t Going Anywhere 1995 •Mocha becomes LiveScript •Written in 10 Days 1996 •JavaScript 1997 •ECMAScript 1.0 •Standards! 1999 •ECMAScript 3.0 2005 •jQuery •Normalize the DOM 2009 •NodeJS 2012 •TypeScript •Superset / Normalize JavaScript 2015 •ECMAScript 2015
  10. 10. • Popular Option • Introduces Classes, Lexical Scope, Lambda, etc. • Lacks: • Interfaces • Dynamic module affinity (SystemJS, RequireJS, etc.) • External library definitions • Generics • TypeScript = Superscript and is “future-proof” What About ECMAScript 6/2015 and Babel?
  11. 11. • Discovery: intent is more clear with types, interfaces, etc. • Documentation: libraries make it easy to discover how to use APIs • Development Time Security: “fat-finger” mistakes less likely, even through complex iterations of calls and callbacks, won’t compile • Scope Safety: Modules, Classes, and Lambdas manage concepts of scope and “this” context • Team Scale: components make it easier for multiple teams to work in parallel • 4x: Increased velocity for a team shifting from JavaScript to TypeScript with a data-binding framework (Angular) TypeScript in the Real World
  12. 12. • “I cannot say I have ever been a Microsoft fan but TypeScript has ‘softened’ me, it is easily one of the best web technologies to arrive in the past 3 years.” - • “Overall, TypeScript is wonderful to work with. It helps developers catch errors quickly, adds types and type-checking, and documents your progress so that if someone else wants to contribute, or you need to return to your work months later, you can easily pick up where you left off.” - • “… we use TypeScript not because we’re part of Microsoft, but because we find tremendous value by improving our productivity and keeping our quality high which together allow us to move much faster.” - What Are People Saying?
  13. 13. Types, Interfaces, Classes, and Modules The Basics
  14. 14. • Types • Interfaces • Classes • Modules The Basics
  15. 15. • Functions and Lambdas • Complex Type Definitions • Generics • Mixins and Decorators The Cool Stuff
  16. 16. • Library Definitions • Migrating JavaScript • Compiler Options • AMD The Real World
  17. 17. Questions?