SlideShare uma empresa Scribd logo
1 de 77
Baixar para ler offline
A brief class that introduces the benefits
TypeScript provides to large scale projects.
Prerequisites: JavaScript 202
TypeScript 101
🎓 Professor Frances Coronel
@fvcproductions
fvcproductions
in/fvcproductions
Syllabus
(1) TypeScript vs JavaScript 🎭
(2) The Rise of TypeScript’s
Popularity 📈
(3) Homework Assignments 📚
@fvcproductions
W8, what is TypeScript? 🤔
@fvcproductions
60 million6 million
• strict syntactical superset of JavaScript
• programming language developed & maintained
by Microsoft that is completely open-source
• eases development of large scale applications
written in JS with less boilerplate code & better
tooling
• extends JS by adding optional typing, static
analysis, & interfaces to create code that's easier
to maintain
📆 October 2012
@fvcproductions
(1) TypeScript vs JavaScript 🎭
.ts .js
@fvcproductions
@fvcproductions
The Nitty Gritty 💻
npm i -g typescript
Installing TypeScript
Compiling our file to JS
tsc multiplication.ts
Configuring options
touch tsconfig.json
npm i -g tslint
Optional Installing TSLint
@fvcproductions
@fvcproductions
JavaScript is TypeScript but
TypeScript is not JavaScript.
Superset vs
Subset 🔘
@fvcproductions
Pros of TypeScript
✔ scalability
✔ less runtime errors
✔ zero overhead
Cons of TypeScript
✗ small learning curve
✗ extra tooling needed
✗ extra step - compilation
To Type or
Not To Type
Pros of JavaScript
✔ EVERYWHERE
✔ awesome libraries
✔ flexible
Cons of JavaScript
✗ dynamic typing
✗ lack of modularity
✗ verbose patterns
@fvcproductions
To Be
is
To Type
@fvcproductions
(2) The Rise of TypeScript’s Popularity 📈
@fvcproductions
@fvcproductions
Companies ❤ TypeScript
@fvcproductions
Developers ❤ TypeScript
@fvcproductions
@fvcproductions
9
1
@fvcproductions
@fvcproductions
11
3
"The platform
no developer
should live
without"
- me
@fvcproductions
@fvcproductions
15 Most Popular Languages
On GitHub by Opened Pull Requests
With Percentage Change from Previous Year
@fvcproductions
@fvcproductions
@fvcproductions
@fvcproductions
@fvcproductions
*+,
@fvcproductions
(3) Homework Assignments 📚
Option 1. 🎓 Finish the Google Codelab
@fvcproductions
@fvcproductions
@fvcproductions
Option 2. 🎙 Podcasts!
@fvcproductions
Option 3. 🎥 Watch the creator of TypeScript talk about
TypeScript at the #MSBuild Conference
“What’s New In TypeScript” by Anders Hejlsberg
@fvcproductions
Bonus Option. 🎮 Screw homework and go play instead!
typescriptlang.org/play
@fvcproductions
Thanks for listening! 🍫🍓
@fvcproductions
fvcproductions
in/fvcproductions
Slides will be uploaded ASAP to
slideshare.net/fvcproductions
Credits
1. Mathematical Finn Photo: https://glarbinator.deviantart.com/art/Mathematical-Finn-417768395
2. TypeScript Official Website: http://www.typescriptlang.org/
3. Severus Snape Video: https://www.youtube.com/watch?v=PnOyBLT07R8
4. GitHub Icon: https://www.iconfinder.com/iconsets/ionicons
5. Twitter & LinkedIn Icons: https://www.iconfinder.com/iconsets/free-social-icons
6. Fonts: Segoe UI, SF Pro Text, Input Mono
7. Google Trends: https://g.co/trends/2M11R
8. TypeScript and JavaScript Logos: egghead.io
9. Stack Overflow 2017 Survey: https://insights.stackoverflow.com/survey/2017
10. TypeScript GIFs: http://twittervideodownloader.com/ & @typescriptlang
11. EdX Course: https://www.edx.org/course/introduction-typescript-2-microsoft-dev273x-0#!
12. List of Editors: https://www.wikiwand.com/en/TypeScript
@fvcproductions
My somewhat morbid dog analogy 🐾
> @fvcproductions
THE TODAY
@fvcproductions
Option 1. 🎥 Watch the creator of TypeScript talk about
TypeScript at the #MSBuild Conference
“What’s New In TypeScript” by Anders Hejlsberg
Option 2. 🎓 Enroll in an edX course on TypeScript
created by Microsoft that starts tomorrow
Option 3. 🎮 Screw homework and go play instead!
typescriptlang.org/play
Thanks for listening! ☺
@fvcproductions
fvcproductions
in/fvcproductions
Slides will be uploaded ASAP at
speakerdeck.com/fvcproductions
Credits
1. Mathematical Finn Photo: https://glarbinator.deviantart.com/art/Mathematical-Finn-417768395
2. TypeScript Official Website: http://www.typescriptlang.org/
3. Severus Snape Video: https://www.youtube.com/watch?v=PnOyBLT07R8
4. GitHub Icon: https://www.iconfinder.com/iconsets/ionicons
5. Twitter & LinkedIn Icons: https://www.iconfinder.com/iconsets/free-social-icons
6. Fonts: Segoe UI, SF Pro Text, Input Mono
7. Google Trends: https://g.co/trends/2M11R
8. TypeScript and JavaScript Logos: egghead.io
9. Stack Overflow 2017 Survey: https://insights.stackoverflow.com/survey/2017
10. TypeScript GIFs: http://twittervideodownloader.com/ & @typescriptlang
11. EdX Course: https://www.edx.org/course/introduction-typescript-2-microsoft-dev273x-0#!
12. List of Editors: https://www.wikiwand.com/en/TypeScript
Appendix
Why all the love?
1. Modular structure
2. Friendly with all editors
3. Scalable
4. Easy to learn
5. Easy to debug so less bugs!
1. Has Types
2. Good tooling and library support
3. Powers major production apps
4. Devs can be onboard fairly quickly
5. Should work on both client and
server
😍
Evaluating the Popularity of a Programming Language 🤓
15 Most Popular Languages
On GitHub by Opened Pull Requests
With Percentage Change from Previous Year
Bonus Chapter -
Jingle Time! 🎵
• You know that one part of class
you weren’t really expecting but
that you ended up enjoying
anyways?
• This is that part.
TypeScript 101
We just had so much fun
ECMAScript was not enough
We want JavaScript that scales
And with types and transpilation
There is no way we can fail
TypeScript is super anal
Plus we get way less bugs
Just useeeee TypeScript.
Abstract Syntax Trees (AST)
Extracting
Functions
My somewhat morbid dog analogy
>

Mais conteúdo relacionado

Mais procurados

Go for Mobile Games
Go for Mobile GamesGo for Mobile Games
Go for Mobile GamesTakuya Ueda
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersDeepikaRana30
 
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line BotEvan Lin
 
Contributing to Open Source #Hacktoberfest
Contributing to Open Source #HacktoberfestContributing to Open Source #Hacktoberfest
Contributing to Open Source #HacktoberfestCheah Eng Soon
 
Let's Git Together! - Hacktoberfest 2020
Let's Git Together! - Hacktoberfest 2020Let's Git Together! - Hacktoberfest 2020
Let's Git Together! - Hacktoberfest 2020EqraKhattak
 
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人Evan Lin
 
Running jenkins in a public cloud - common issues and some solutions
Running jenkins in a public cloud - common issues and some solutionsRunning jenkins in a public cloud - common issues and some solutions
Running jenkins in a public cloud - common issues and some solutionsAndrey Devyatkin
 
Write microservice in golang
Write microservice in golangWrite microservice in golang
Write microservice in golangBo-Yi Wu
 
Documenting apps ti confnyc
Documenting apps   ti confnycDocumenting apps   ti confnyc
Documenting apps ti confnycJamil Spain
 
Golang taipei #45 10th birthday
Golang taipei #45 10th birthdayGolang taipei #45 10th birthday
Golang taipei #45 10th birthdayEvan Lin
 
Understanding pseudo-version and Go1.14+ with notes
Understanding pseudo-version and Go1.14+ with notesUnderstanding pseudo-version and Go1.14+ with notes
Understanding pseudo-version and Go1.14+ with notesMitali Bisht
 
Introduction to the Kotlin programming language - Andrzej Jóźwiak - JUG Łódź ...
Introduction to the Kotlin programming language - Andrzej Jóźwiak - JUG Łódź ...Introduction to the Kotlin programming language - Andrzej Jóźwiak - JUG Łódź ...
Introduction to the Kotlin programming language - Andrzej Jóźwiak - JUG Łódź ...Andrzej Jóźwiak
 

Mais procurados (18)

Go for Mobile Games
Go for Mobile GamesGo for Mobile Games
Go for Mobile Games
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginners
 
The Awesomeness of Go
The Awesomeness of GoThe Awesomeness of Go
The Awesomeness of Go
 
Android developing in a wrong way
Android developing in a wrong wayAndroid developing in a wrong way
Android developing in a wrong way
 
Ploneide
PloneidePloneide
Ploneide
 
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
 
Contributing to Open Source #Hacktoberfest
Contributing to Open Source #HacktoberfestContributing to Open Source #Hacktoberfest
Contributing to Open Source #Hacktoberfest
 
Kivy for you
Kivy for youKivy for you
Kivy for you
 
Let's Git Together! - Hacktoberfest 2020
Let's Git Together! - Hacktoberfest 2020Let's Git Together! - Hacktoberfest 2020
Let's Git Together! - Hacktoberfest 2020
 
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
 
Running jenkins in a public cloud - common issues and some solutions
Running jenkins in a public cloud - common issues and some solutionsRunning jenkins in a public cloud - common issues and some solutions
Running jenkins in a public cloud - common issues and some solutions
 
Write microservice in golang
Write microservice in golangWrite microservice in golang
Write microservice in golang
 
Gitting better
Gitting betterGitting better
Gitting better
 
Documenting apps ti confnyc
Documenting apps   ti confnycDocumenting apps   ti confnyc
Documenting apps ti confnyc
 
Git intro fajar muslim
Git intro fajar muslimGit intro fajar muslim
Git intro fajar muslim
 
Golang taipei #45 10th birthday
Golang taipei #45 10th birthdayGolang taipei #45 10th birthday
Golang taipei #45 10th birthday
 
Understanding pseudo-version and Go1.14+ with notes
Understanding pseudo-version and Go1.14+ with notesUnderstanding pseudo-version and Go1.14+ with notes
Understanding pseudo-version and Go1.14+ with notes
 
Introduction to the Kotlin programming language - Andrzej Jóźwiak - JUG Łódź ...
Introduction to the Kotlin programming language - Andrzej Jóźwiak - JUG Łódź ...Introduction to the Kotlin programming language - Andrzej Jóźwiak - JUG Łódź ...
Introduction to the Kotlin programming language - Andrzej Jóźwiak - JUG Łódź ...
 

Semelhante a TypeScript 101 - We RISE Tech Conference

TypeScript 101 - Studio Session - Accenture Liquid Studio
TypeScript 101 - Studio Session - Accenture Liquid StudioTypeScript 101 - Studio Session - Accenture Liquid Studio
TypeScript 101 - Studio Session - Accenture Liquid StudioFrances Coronel
 
TypeScript 101 - Beer City Code
TypeScript 101 - Beer City CodeTypeScript 101 - Beer City Code
TypeScript 101 - Beer City CodeFrances Coronel
 
Scenic City Summit 2018 - TypeScript 101
Scenic City Summit 2018 - TypeScript 101Scenic City Summit 2018 - TypeScript 101
Scenic City Summit 2018 - TypeScript 101Frances Coronel
 
2020 [pweb] 13 typescript
2020 [pweb] 13 typescript2020 [pweb] 13 typescript
2020 [pweb] 13 typescriptVICTOR JATOBÁ
 
[Google I/O 2018 Highlights] Flutter / WearOS
[Google I/O 2018 Highlights] Flutter / WearOS[Google I/O 2018 Highlights] Flutter / WearOS
[Google I/O 2018 Highlights] Flutter / WearOSKenichi Kambara
 
One language to rule them all type script
One language to rule them all type scriptOne language to rule them all type script
One language to rule them all type scriptGil Fink
 
JavaScript - The Universal Platform?
JavaScript - The Universal Platform?JavaScript - The Universal Platform?
JavaScript - The Universal Platform?Jonas Bandi
 
Hands On With OpenSocial and Embedded Experiences
Hands On With OpenSocial and Embedded ExperiencesHands On With OpenSocial and Embedded Experiences
Hands On With OpenSocial and Embedded ExperiencesRyan Baxter
 
Lunch and learn as3_frameworks
Lunch and learn as3_frameworksLunch and learn as3_frameworks
Lunch and learn as3_frameworksYuri Visser
 
Continuous delivery of embedded systems embedded meetup
Continuous delivery of embedded systems   embedded meetupContinuous delivery of embedded systems   embedded meetup
Continuous delivery of embedded systems embedded meetupMike Long
 
Javascript Apps at Build Artifacts
Javascript Apps at Build ArtifactsJavascript Apps at Build Artifacts
Javascript Apps at Build ArtifactsClay Smith
 
TypeScript - Javascript done right
TypeScript - Javascript done rightTypeScript - Javascript done right
TypeScript - Javascript done rightWekoslav Stefanovski
 
Introductory session flutter festival
Introductory session   flutter festivalIntroductory session   flutter festival
Introductory session flutter festivalApoorveGoyal2
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Jody Garnett
 
Rome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat botsRome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat botsCisco DevNet
 
Full stack-web-design
Full stack-web-designFull stack-web-design
Full stack-web-designKevin Conboy
 
really really really awesome php application with bdd behat and iterfaces
really really really awesome php application with bdd behat and iterfacesreally really really awesome php application with bdd behat and iterfaces
really really really awesome php application with bdd behat and iterfacesGiulio De Donato
 
API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015Tom Johnson
 

Semelhante a TypeScript 101 - We RISE Tech Conference (20)

TypeScript 101 - Studio Session - Accenture Liquid Studio
TypeScript 101 - Studio Session - Accenture Liquid StudioTypeScript 101 - Studio Session - Accenture Liquid Studio
TypeScript 101 - Studio Session - Accenture Liquid Studio
 
TypeScript 101 - Beer City Code
TypeScript 101 - Beer City CodeTypeScript 101 - Beer City Code
TypeScript 101 - Beer City Code
 
Scenic City Summit 2018 - TypeScript 101
Scenic City Summit 2018 - TypeScript 101Scenic City Summit 2018 - TypeScript 101
Scenic City Summit 2018 - TypeScript 101
 
2020 [pweb] 13 typescript
2020 [pweb] 13 typescript2020 [pweb] 13 typescript
2020 [pweb] 13 typescript
 
[Google I/O 2018 Highlights] Flutter / WearOS
[Google I/O 2018 Highlights] Flutter / WearOS[Google I/O 2018 Highlights] Flutter / WearOS
[Google I/O 2018 Highlights] Flutter / WearOS
 
One language to rule them all type script
One language to rule them all type scriptOne language to rule them all type script
One language to rule them all type script
 
JavaScript - The Universal Platform?
JavaScript - The Universal Platform?JavaScript - The Universal Platform?
JavaScript - The Universal Platform?
 
Hands On With OpenSocial and Embedded Experiences
Hands On With OpenSocial and Embedded ExperiencesHands On With OpenSocial and Embedded Experiences
Hands On With OpenSocial and Embedded Experiences
 
Lunch and learn as3_frameworks
Lunch and learn as3_frameworksLunch and learn as3_frameworks
Lunch and learn as3_frameworks
 
Continuous delivery of embedded systems embedded meetup
Continuous delivery of embedded systems   embedded meetupContinuous delivery of embedded systems   embedded meetup
Continuous delivery of embedded systems embedded meetup
 
Resume
ResumeResume
Resume
 
Javascript Apps at Build Artifacts
Javascript Apps at Build ArtifactsJavascript Apps at Build Artifacts
Javascript Apps at Build Artifacts
 
TypeScript - Javascript done right
TypeScript - Javascript done rightTypeScript - Javascript done right
TypeScript - Javascript done right
 
Introductory session flutter festival
Introductory session   flutter festivalIntroductory session   flutter festival
Introductory session flutter festival
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...
 
Rome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat botsRome 2017: Building advanced voice assistants and chat bots
Rome 2017: Building advanced voice assistants and chat bots
 
MaxGrosshandlerResume
MaxGrosshandlerResumeMaxGrosshandlerResume
MaxGrosshandlerResume
 
Full stack-web-design
Full stack-web-designFull stack-web-design
Full stack-web-design
 
really really really awesome php application with bdd behat and iterfaces
really really really awesome php application with bdd behat and iterfacesreally really really awesome php application with bdd behat and iterfaces
really really really awesome php application with bdd behat and iterfaces
 
API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015
 

Mais de Frances Coronel

Conexión y Cultura con Asana
Conexión y Cultura con AsanaConexión y Cultura con Asana
Conexión y Cultura con AsanaFrances Coronel
 
Stories from Latinas in Engineering with KeepTruckin
Stories from Latinas in Engineering with KeepTruckinStories from Latinas in Engineering with KeepTruckin
Stories from Latinas in Engineering with KeepTruckinFrances Coronel
 
Uncharted Territories: On Being the First in Tech
Uncharted Territories: On Being the First in TechUncharted Territories: On Being the First in Tech
Uncharted Territories: On Being the First in TechFrances Coronel
 
Pride Month Event with Blend: Intersecting Identities in Tech
Pride Month Event with Blend: Intersecting Identities in TechPride Month Event with Blend: Intersecting Identities in Tech
Pride Month Event with Blend: Intersecting Identities in TechFrances Coronel
 
My State of Work | MS&E 184 - Spring 2020
My State of Work | MS&E 184 - Spring 2020My State of Work | MS&E 184 - Spring 2020
My State of Work | MS&E 184 - Spring 2020Frances Coronel
 
Engineering Mentorship with Asana
Engineering Mentorship with AsanaEngineering Mentorship with Asana
Engineering Mentorship with AsanaFrances Coronel
 
Pluralsight LIVE 2019 | Progressive Web Apps 101
Pluralsight LIVE 2019 | Progressive Web Apps 101Pluralsight LIVE 2019 | Progressive Web Apps 101
Pluralsight LIVE 2019 | Progressive Web Apps 101Frances Coronel
 
Welcome to Slack, Mindot!
Welcome to Slack, Mindot!Welcome to Slack, Mindot!
Welcome to Slack, Mindot!Frances Coronel
 
RevolutionConf 2019 - Progressive Web Apps 101
RevolutionConf 2019 - Progressive Web Apps 101RevolutionConf 2019 - Progressive Web Apps 101
RevolutionConf 2019 - Progressive Web Apps 101Frances Coronel
 
JSConf EU 2019 - Being a Unicorn Working for Another Unicorn
JSConf EU 2019 - Being a Unicorn Working for Another UnicornJSConf EU 2019 - Being a Unicorn Working for Another Unicorn
JSConf EU 2019 - Being a Unicorn Working for Another UnicornFrances Coronel
 
Welcome to Slack, Diablo Valley College!
Welcome to Slack, Diablo Valley College!Welcome to Slack, Diablo Valley College!
Welcome to Slack, Diablo Valley College!Frances Coronel
 
Welcome to Slack, Coro Fellows!
Welcome to Slack, Coro Fellows!Welcome to Slack, Coro Fellows!
Welcome to Slack, Coro Fellows!Frances Coronel
 
Telegraph Track - Progressive Web Apps 101
Telegraph Track - Progressive Web Apps 101Telegraph Track - Progressive Web Apps 101
Telegraph Track - Progressive Web Apps 101Frances Coronel
 
Side Hustle: Techqueria.org
Side Hustle: Techqueria.orgSide Hustle: Techqueria.org
Side Hustle: Techqueria.orgFrances Coronel
 
General Assembly - So You Want To Be A Wizard
General Assembly - So You Want To Be A WizardGeneral Assembly - So You Want To Be A Wizard
General Assembly - So You Want To Be A WizardFrances Coronel
 
GDG DevFest 2018 - Progressive Web Apps 101
GDG DevFest 2018 - Progressive Web Apps 101GDG DevFest 2018 - Progressive Web Apps 101
GDG DevFest 2018 - Progressive Web Apps 101Frances Coronel
 
Scenic City Summit 2018 - Progressive Web Apps 101
Scenic City Summit 2018 - Progressive Web Apps 101Scenic City Summit 2018 - Progressive Web Apps 101
Scenic City Summit 2018 - Progressive Web Apps 101Frances Coronel
 
GDG SF Meetup - Progressive Web Apps 101
GDG SF Meetup - Progressive Web Apps 101GDG SF Meetup - Progressive Web Apps 101
GDG SF Meetup - Progressive Web Apps 101Frances Coronel
 
A Fullstack Future - Progressive Web Apps
A Fullstack Future - Progressive Web AppsA Fullstack Future - Progressive Web Apps
A Fullstack Future - Progressive Web AppsFrances Coronel
 

Mais de Frances Coronel (20)

Conexión y Cultura con Asana
Conexión y Cultura con AsanaConexión y Cultura con Asana
Conexión y Cultura con Asana
 
Stories from Latinas in Engineering with KeepTruckin
Stories from Latinas in Engineering with KeepTruckinStories from Latinas in Engineering with KeepTruckin
Stories from Latinas in Engineering with KeepTruckin
 
Uncharted Territories: On Being the First in Tech
Uncharted Territories: On Being the First in TechUncharted Territories: On Being the First in Tech
Uncharted Territories: On Being the First in Tech
 
Pride Month Event with Blend: Intersecting Identities in Tech
Pride Month Event with Blend: Intersecting Identities in TechPride Month Event with Blend: Intersecting Identities in Tech
Pride Month Event with Blend: Intersecting Identities in Tech
 
My State of Work | MS&E 184 - Spring 2020
My State of Work | MS&E 184 - Spring 2020My State of Work | MS&E 184 - Spring 2020
My State of Work | MS&E 184 - Spring 2020
 
Engineering Mentorship with Asana
Engineering Mentorship with AsanaEngineering Mentorship with Asana
Engineering Mentorship with Asana
 
Pluralsight LIVE 2019 | Progressive Web Apps 101
Pluralsight LIVE 2019 | Progressive Web Apps 101Pluralsight LIVE 2019 | Progressive Web Apps 101
Pluralsight LIVE 2019 | Progressive Web Apps 101
 
Welcome to Slack, Mindot!
Welcome to Slack, Mindot!Welcome to Slack, Mindot!
Welcome to Slack, Mindot!
 
RevolutionConf 2019 - Progressive Web Apps 101
RevolutionConf 2019 - Progressive Web Apps 101RevolutionConf 2019 - Progressive Web Apps 101
RevolutionConf 2019 - Progressive Web Apps 101
 
JSConf EU 2019 - Being a Unicorn Working for Another Unicorn
JSConf EU 2019 - Being a Unicorn Working for Another UnicornJSConf EU 2019 - Being a Unicorn Working for Another Unicorn
JSConf EU 2019 - Being a Unicorn Working for Another Unicorn
 
Welcome to Slack, Diablo Valley College!
Welcome to Slack, Diablo Valley College!Welcome to Slack, Diablo Valley College!
Welcome to Slack, Diablo Valley College!
 
Welcome to Slack, Coro Fellows!
Welcome to Slack, Coro Fellows!Welcome to Slack, Coro Fellows!
Welcome to Slack, Coro Fellows!
 
Telegraph Track - Progressive Web Apps 101
Telegraph Track - Progressive Web Apps 101Telegraph Track - Progressive Web Apps 101
Telegraph Track - Progressive Web Apps 101
 
JSConf Hawaiʻi 2019
JSConf Hawaiʻi 2019JSConf Hawaiʻi 2019
JSConf Hawaiʻi 2019
 
Side Hustle: Techqueria.org
Side Hustle: Techqueria.orgSide Hustle: Techqueria.org
Side Hustle: Techqueria.org
 
General Assembly - So You Want To Be A Wizard
General Assembly - So You Want To Be A WizardGeneral Assembly - So You Want To Be A Wizard
General Assembly - So You Want To Be A Wizard
 
GDG DevFest 2018 - Progressive Web Apps 101
GDG DevFest 2018 - Progressive Web Apps 101GDG DevFest 2018 - Progressive Web Apps 101
GDG DevFest 2018 - Progressive Web Apps 101
 
Scenic City Summit 2018 - Progressive Web Apps 101
Scenic City Summit 2018 - Progressive Web Apps 101Scenic City Summit 2018 - Progressive Web Apps 101
Scenic City Summit 2018 - Progressive Web Apps 101
 
GDG SF Meetup - Progressive Web Apps 101
GDG SF Meetup - Progressive Web Apps 101GDG SF Meetup - Progressive Web Apps 101
GDG SF Meetup - Progressive Web Apps 101
 
A Fullstack Future - Progressive Web Apps
A Fullstack Future - Progressive Web AppsA Fullstack Future - Progressive Web Apps
A Fullstack Future - Progressive Web Apps
 

Último

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

TypeScript 101 - We RISE Tech Conference

  • 1. A brief class that introduces the benefits TypeScript provides to large scale projects. Prerequisites: JavaScript 202 TypeScript 101
  • 2. 🎓 Professor Frances Coronel @fvcproductions fvcproductions in/fvcproductions
  • 3. Syllabus (1) TypeScript vs JavaScript 🎭 (2) The Rise of TypeScript’s Popularity 📈 (3) Homework Assignments 📚 @fvcproductions
  • 4. W8, what is TypeScript? 🤔 @fvcproductions
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 14. • strict syntactical superset of JavaScript • programming language developed & maintained by Microsoft that is completely open-source • eases development of large scale applications written in JS with less boilerplate code & better tooling • extends JS by adding optional typing, static analysis, & interfaces to create code that's easier to maintain 📆 October 2012 @fvcproductions
  • 15. (1) TypeScript vs JavaScript 🎭 .ts .js @fvcproductions
  • 16.
  • 18. The Nitty Gritty 💻 npm i -g typescript Installing TypeScript Compiling our file to JS tsc multiplication.ts Configuring options touch tsconfig.json npm i -g tslint Optional Installing TSLint @fvcproductions
  • 20. JavaScript is TypeScript but TypeScript is not JavaScript. Superset vs Subset 🔘 @fvcproductions
  • 21. Pros of TypeScript ✔ scalability ✔ less runtime errors ✔ zero overhead Cons of TypeScript ✗ small learning curve ✗ extra tooling needed ✗ extra step - compilation To Type or Not To Type Pros of JavaScript ✔ EVERYWHERE ✔ awesome libraries ✔ flexible Cons of JavaScript ✗ dynamic typing ✗ lack of modularity ✗ verbose patterns @fvcproductions
  • 23. (2) The Rise of TypeScript’s Popularity 📈 @fvcproductions
  • 25.
  • 28.
  • 32. "The platform no developer should live without" - me @fvcproductions
  • 33.
  • 34.
  • 36. 15 Most Popular Languages On GitHub by Opened Pull Requests With Percentage Change from Previous Year @fvcproductions
  • 41.
  • 42.
  • 44. Option 1. 🎓 Finish the Google Codelab @fvcproductions
  • 47.
  • 48. Option 2. 🎙 Podcasts! @fvcproductions
  • 49. Option 3. 🎥 Watch the creator of TypeScript talk about TypeScript at the #MSBuild Conference “What’s New In TypeScript” by Anders Hejlsberg @fvcproductions
  • 50. Bonus Option. 🎮 Screw homework and go play instead! typescriptlang.org/play @fvcproductions
  • 51.
  • 52.
  • 53.
  • 54.
  • 55. Thanks for listening! 🍫🍓 @fvcproductions fvcproductions in/fvcproductions Slides will be uploaded ASAP to slideshare.net/fvcproductions
  • 56. Credits 1. Mathematical Finn Photo: https://glarbinator.deviantart.com/art/Mathematical-Finn-417768395 2. TypeScript Official Website: http://www.typescriptlang.org/ 3. Severus Snape Video: https://www.youtube.com/watch?v=PnOyBLT07R8 4. GitHub Icon: https://www.iconfinder.com/iconsets/ionicons 5. Twitter & LinkedIn Icons: https://www.iconfinder.com/iconsets/free-social-icons 6. Fonts: Segoe UI, SF Pro Text, Input Mono 7. Google Trends: https://g.co/trends/2M11R 8. TypeScript and JavaScript Logos: egghead.io 9. Stack Overflow 2017 Survey: https://insights.stackoverflow.com/survey/2017 10. TypeScript GIFs: http://twittervideodownloader.com/ & @typescriptlang 11. EdX Course: https://www.edx.org/course/introduction-typescript-2-microsoft-dev273x-0#! 12. List of Editors: https://www.wikiwand.com/en/TypeScript @fvcproductions
  • 57. My somewhat morbid dog analogy 🐾 > @fvcproductions
  • 60. Option 1. 🎥 Watch the creator of TypeScript talk about TypeScript at the #MSBuild Conference “What’s New In TypeScript” by Anders Hejlsberg
  • 61. Option 2. 🎓 Enroll in an edX course on TypeScript created by Microsoft that starts tomorrow
  • 62. Option 3. 🎮 Screw homework and go play instead! typescriptlang.org/play
  • 63. Thanks for listening! ☺ @fvcproductions fvcproductions in/fvcproductions Slides will be uploaded ASAP at speakerdeck.com/fvcproductions
  • 64. Credits 1. Mathematical Finn Photo: https://glarbinator.deviantart.com/art/Mathematical-Finn-417768395 2. TypeScript Official Website: http://www.typescriptlang.org/ 3. Severus Snape Video: https://www.youtube.com/watch?v=PnOyBLT07R8 4. GitHub Icon: https://www.iconfinder.com/iconsets/ionicons 5. Twitter & LinkedIn Icons: https://www.iconfinder.com/iconsets/free-social-icons 6. Fonts: Segoe UI, SF Pro Text, Input Mono 7. Google Trends: https://g.co/trends/2M11R 8. TypeScript and JavaScript Logos: egghead.io 9. Stack Overflow 2017 Survey: https://insights.stackoverflow.com/survey/2017 10. TypeScript GIFs: http://twittervideodownloader.com/ & @typescriptlang 11. EdX Course: https://www.edx.org/course/introduction-typescript-2-microsoft-dev273x-0#! 12. List of Editors: https://www.wikiwand.com/en/TypeScript
  • 66.
  • 67. Why all the love? 1. Modular structure 2. Friendly with all editors 3. Scalable 4. Easy to learn 5. Easy to debug so less bugs! 1. Has Types 2. Good tooling and library support 3. Powers major production apps 4. Devs can be onboard fairly quickly 5. Should work on both client and server 😍
  • 68. Evaluating the Popularity of a Programming Language 🤓
  • 69.
  • 70. 15 Most Popular Languages On GitHub by Opened Pull Requests With Percentage Change from Previous Year
  • 71. Bonus Chapter - Jingle Time! 🎵 • You know that one part of class you weren’t really expecting but that you ended up enjoying anyways? • This is that part. TypeScript 101 We just had so much fun ECMAScript was not enough We want JavaScript that scales And with types and transpilation There is no way we can fail TypeScript is super anal Plus we get way less bugs Just useeeee TypeScript.
  • 74.
  • 75.
  • 76.
  • 77. My somewhat morbid dog analogy >