SlideShare a Scribd company logo
1 of 17
TypeScript
For Enterprise Scale JavaScript Apps
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
With whom am I speaking?
Intro
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
• http://bit.ly/coderblog
iVision
iVision App Dev
http://bit.ly/ivisionappdev
Wat?!!!
JavaScript
Wat?!
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
• 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?
• 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
• “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.” - https://tedpatrick.com/2013/06/25/7-months-with-typescript/
• “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.” - http://www.livetiles.nyc/blog/typescript-a-digital-workplace-success-story/
• “… 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.” -
https://medium.com/@delveeng/why-we-love-typescript-bec2df88d6c2#.pzp9xp7an
What Are People Saying?
Types, Interfaces, Classes, and Modules
The Basics
• Types
• Interfaces
• Classes
• Modules
The Basics
• Functions and Lambdas
• Complex Type Definitions
• Generics
• Mixins and Decorators
The Cool Stuff
• Library Definitions
• Migrating JavaScript
• Compiler Options
• AMD
The Real World
https://github.com/jeremylikness
http://bit.ly/coderblog
jlikness@ivision.com
Questions?

More Related Content

Recently uploaded

Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 

Recently uploaded (20)

FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 

Featured

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

TypeScript for Enterprise Scale JavaScript Apps

  • 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. With whom am I speaking? Intro
  • 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 • http://bit.ly/coderblog
  • 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. • 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. • 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. • “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.” - https://tedpatrick.com/2013/06/25/7-months-with-typescript/ • “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.” - http://www.livetiles.nyc/blog/typescript-a-digital-workplace-success-story/ • “… 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.” - https://medium.com/@delveeng/why-we-love-typescript-bec2df88d6c2#.pzp9xp7an What Are People Saying?
  • 13. Types, Interfaces, Classes, and Modules The Basics
  • 14. • Types • Interfaces • Classes • Modules The Basics
  • 15. • Functions and Lambdas • Complex Type Definitions • Generics • Mixins and Decorators The Cool Stuff
  • 16. • Library Definitions • Migrating JavaScript • Compiler Options • AMD The Real World