$30 off During Our Annual Pro Sale. View Details »

[meet.js] TypeScript - what is new any why you are not using it

[meet.js] TypeScript - what is new any why you are not using it

What is new in TypeScript 1.7 and why it is becoming more and more popular.
meet.js meetup meeting. Gdańsk, Poland

Michał Michalczuk

February 01, 2016
Tweet

More Decks by Michał Michalczuk

Other Decks in Programming

Transcript

  1. Co nowego w TypeScript
    i dlaczego go nie używasz?
    Michał Michalczuk
    .Net Developer |

    View Slide

  2. ?

    View Slide

  3. Zmiany podano do stołu
    TypeScript 1.4 TypeScript 1.7

    View Slide

  4. Poprzednie podejście - v. 1.4
    Ręczne linkowanie
    referencji dla kompilatora
    bardziej alias niż import

    View Slide

  5. Poprzednie podejście - v. 1.4
    Import. Dosyć Python
    Brak ręcznego deklarowania referencji

    View Slide

  6. Konfiguracja projektu
    tsconfig.json
    {
    "compilerOptions": {...},
    "filesGlob": [...],
    "files": [...],
    "atom": {
    "rewriteTsconfig": true
    }
    }
    [show example]

    View Slide

  7. Kompilacja
    ECMAScript 5
    ECMAScript 6
    "target": "es5",
    [show example]

    View Slide

  8. Kompilacja
    AMD
    CommonJS
    "module": "commonjs",

    View Slide

  9. Zarządzanie modułami
    Module
    Namespace
    require vs module
    require.js

    View Slide

  10. Typings
    Definetely Typed
    tsd

    View Slide

  11. Typings

    View Slide

  12. Typings fragment Q.d.ts

    View Slide

  13. Typings
    {
    "version": "v4",
    "repo": "borisyankov/DefinitelyTyped",
    "ref": "master",
    "path": "typings",
    "bundle": "typings/tsd.d.ts",
    "installed": {
    "node/node.d.ts": {
    "commit": "6a6ad7068..."
    },
    "mocha/mocha.d.ts": {
    "commit": "e57df787f..."
    },

    }
    [show example]

    View Slide

  14. Typings
    ///
    ///
    ///
    Jeden plik … w końcu automatycznie
    [show example]

    View Slide

  15. Nowe formy
    Nowy syntax
    Nowe elementy
    Obiektowo tak bardzo

    View Slide

  16. Nowe formy | Klasy abstrakcyjne
    Wait .. what?
    [show example]

    View Slide

  17. Nowe formy | Annotacje
    Gdzieś już to
    widziałem...
    @Component({
    selector: 'tabs'
    })
    export class Tabs {
    ...
    }
    @View({
    template: `

    Tab 1
    Tab 2

    })

    View Slide

  18. Nowe formy | Annotacje

    View Slide

  19. Nowe formy | Dekoratory
    [show example]
    Nie tak dawno temu był sobie adapter do klienta redis-a...

    View Slide

  20. Stare formy | Wiele konstruktorów

    View Slide

  21. Nowe formy | Promises
    Tak, od 1.7
    Ale inaczej

    View Slide

  22. Nowe formy | Promises
    Async / Await === new Promise(...)
    [show example]

    View Slide

  23. Nowe formy | Class expressions
    [show example]

    View Slide

  24. Wsparcie narzędzi | IDE i edytory
    WebStorm
    Atom + Atom-Typescript
    Visual Studio
    Visual Studio Code

    View Slide

  25. Wsparcie narzędzi | Budowanie
    gulp-typescript
    gulp-tsd
    gulp-tslint
    odpowiedniki w grunt
    wiele paczek na yeoman ma wybór

    View Slide

  26. Wsparcie narzędzi | Budowanie
    ❤ gulp-typescript

    View Slide

  27. Wsparcie narzędzi | Typings in JS
    ❤ WebStorm

    View Slide

  28. Fakty i mity | Tylko .net
    nie tylko .net developers friendly

    View Slide

  29. Fakty i mity | Albo TS albo nic
    Migruj się
    stopniowo
    [show example]

    View Slide

  30. Słowem podsumowania

    View Slide

  31. Pytania?
    michalczukm

    View Slide