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.

Enterprise TypeScript


Published on

TypeScript is a superset of JavaScript. Designed to enable enterprise-scale application development, TypeScript compiles to pure JavaScript. It provides important features such as classes, modules, and interfaces. TypeScript helps improve the quality of code by generating well-known and widely accepted JavaScript patterns while providing powerful development-time type-checking and discovery. TypeScript runs side-by-side with existing JavaScript and supports the concept of type definition libraries that can describe existing libraries for use by TypeScript even if they are written in pure JavaScript.

In this talk, Jeremy Likness will explore the use of TypeScript in enterprise-scale applications. He’ll discuss not only the technological benefits of TypeScript but also explore the impact to the software development lifecycle overall. TypeScript enables a development workflow that helps scale development teams, improves quality and decreases ramp-up time. It also encourages a logical approach to software construction that results in more reusable and easily maintainable code.

Published in: Technology
  • Be the first to comment

Enterprise TypeScript

  1. 1. Consulting/Training Enterprise TypeScript
  2. 2. Consulting/Training consulting Wintellect helps you build better software, faster, tackling the tough projects and solving the software and technology questions that help you transform your business.  Architecture, Analysis and Design  Full lifecycle software development  Debugging and Performance tuning  Database design and development training Wintellect's courses are written and taught by some of the biggest and most respected names in the Microsoft programming industry.  Learn from the best. Access the same training Microsoft’s developers enjoy  Real world knowledge and solutions on both current and cutting edge technologies  Flexibility in training options – onsite, virtual, on demand Founded by top experts on Microsoft – Jeffrey Richter, Jeff Prosise, and John Robbins – we pull out all the stops to help our customers achieve their goals through advanced software-based consulting and training solutions. who we are About Wintellect
  3. 3. Consulting/Training  Long, long ago  Seriously, we’re talking decades  In a galaxy far, far away …  OK, so not that far away …  Someone got the bright idea that they would write a new language in just 10 days  “I shall call it … Mocha! No, wait … LiveScript … or, let’s make it even more confusing … JAVASCRIPT! Muwahahahahahahahah” Once Upon a Time …
  4. 4. Consulting/Training [] + [] = ? [] – [] = ? [] + {} = ? [] – {} = ? Array(5).join("Cool"); Array(5).join("Cool" + 1); Array(5).join("Cool" – 1); Here’s What We Were Left With …
  5. 5. Consulting/Training  Lightweight Scripting Language  Easy to Learn  Runs in Every Browser  Dynamic by Nature  Object-based  Built from day one to understand JSON  Just making sure you were awake The Pros of JavaScript
  6. 6. Consulting/Training  Lightweight Scripting Language … asked to do heavyweight work on the client  Easy to Learn think you’ve learned it  Runs differently in Every Browser  Dynamic by Nature  Object-based … prototypical, which is a con when you are expecting object-oriented  Let’s go back to pros … it thankfully doesn’t do well with SOAP The Cons of JavaScript
  7. 7. Consulting/Training  Now we have to learn another language that behaves completely differently. Hoisting just doesn’t make sense and is only useful for JavaScript show-offs to stump their C#-loving enemies.  Once you finally learn to use === instead of == some API returns “2” instead of 2 and everything breaks  It’s tough to trust an API that takes any number of parameters without complaining  It insists on a camel-case convention and then doesn’t complain when you accidently use Pascal case  Function scope. Really? If I have to write another self-invoking function …  What is this?  I now need a Mac and Windows with 12 Virtual Machines just to test every combination of platform and browser we’re going to support The Enterprise at War
  8. 8. Consulting/Training  JavaScript is here to stay  You can probably thank smart phones  HTML5 isn’t helping things either  Not even the servers are safe with Node.js  It’s OK, things are better … It’s Time to Bury the Hatchet
  9. 9. Consulting/Training  1995 – JavaScript ships  1995 – 2005 – Weeping and Gnashing of Teeth (although AJAX was available in 1999, it wasn’t even called that until 2005)  2006 – John releases jQuery and $ will never be the same  2008 – Engine gets a V8 (Google)  2009 – Jeremy releases CoffeeScript  2009 – Ryan releases Node.js  2010 – v1 of Knockout.js released  2011 – ECMAScript 5.1 provides hope for standards  2012 – TypeScript released (Microsoft)  2012 – v1 of Angular.js is released (after 3 years of development)  2013ish – asm.js (Mozilla) Important Milestones
  10. 10. Consulting/Training function (e) { return e.idx; } e => e.idx; for (var x = 0; x < 5; x++) { var y = x*2; } for (var x = 0; x < 5; x++) { let y = x*2; } const pi = "delicious."; class MyClass { constructor(a,b) { public a = a; private b = b; } get factor () { return private(this).b * a; } } // generators // modules // … and much, much more … ES6 – Living in Harmony
  11. 11. Consulting/Training  Types  Enumerations  Generics  Interfaces and Interface Extension, Implementation  Optional Properties  Classes with Inheritance  Static and instance types  Private and Public Modifiers  Accessors  Modules  External Modules (node.js, require.js)  Ambient Declarations Introducing TypeScript “Say hello to my little friend.”
  12. 12. Consulting/Training  Immediate reduction in defect rates  Faster ramp-up for new developers  Shorter time to learn new APIs  Accelerated rate to get from “file -> new” to “story done”  C# developers spend less time asking themselves, “What is this?”  Code is easier to understand and maintain  Saying “refactor” no longer results in weird stares and people trying to usher you into a back room  Bottom line: Estimated 2 – 4x improved productivity.  Before: Eight 2-Week Sprints. After: Four 2-Week Sprints.  Before: 100 points / sprint. After: 250 points / sprint. Case Study
  13. 13. Consulting/Training TypeScript in Action Types, Generics, Functions, Modules, and a lot of other stuff too!
  14. 14. Consulting/Training Questions? best-practices javascript-eventually