Syntactic Superset
of JavaScript by
Meaning,
All JavaScript code is also valid TypeScript


While also,
adding many missing features
JavaScript with superpowers
— Anders Hejlsberg
author of TurboPascal
architect of Delphi and C#
core developer of TypeScript

But at the end,
compiles back to plain JavaScript

Why bother then?..
well, it actually eliminates the cost and compatibility problems

and it's Open Source
and more important, it follows Open Development

After all, even Steve Jobs
was against proprietary
platforms.
despite the irony...
Early Stages
Things were a lot different when the journey began around 2011
was the only thing
you would need to know for client-side development
K
CoffeeScript
Because people were so lazy about {curly braces}
It's indeed very hard to draw though
kind of made sense
at the time but never managed to become a superstar
Internet Explorer 8
was being used by nearly the half of all internet users

JavaScript engine race
different engines were getting mature




Which led to JS becoming fast enough
to be considered for larger apps

But, JS never intended for large apps
it didn't have classes, modules, types which was making really hard to maintain big projects
With all these in mind,
TypeScript brought in a set of new features to improve the situation.
Types
and why it's a big deal
- Implies intent
- Prevents a lot of simple errors
- Encourages API driven development

Type Declarations
a huge community driven project to support as many libraries
Compiler as a Service
tsserver makes it incredibly easy for IDE developers to support TypeScript
Strict Mode
Tony Hoare: I call it my billion-dollar mistake.

Interfaces & Generics
Opens up the possibility of using numerous design patterns
Adoption

Visual Studio Code
developed almost entirely in TypeScript
Angular 2
Google endorses TypeScript for the development of Angular platform

Dependency Injection
InversifyJS
A powerful and lightweight inversion of control container

ReactiveX
asynchronous programming
with observable streams
Thanks a lot for listening!
find me on github.com/koraytaylan

TypeScript Introduction
By Koray Taylan Davgana
TypeScript Introduction
- 53