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
- 617