Guida Typescript
Capitolo 1° - Introduzione
Disclaimer: questa guida è basata sulla traduzione di "TypeScript Language Specification Version 1.0 April, 2014" di Microsoft. TypeScript è un marchio registrato della Microsoft Corporation. Questa guida presuppone che l'utente conosca già a fondo il linguaggio Javascript e sia familiare con i diversi concetti di programmazione OOP, moduli, enumerazioni, funzioni, eccetera. Questa guida non coprirà le basi della programmazione. Javascript sta diventando sempre più importante nello sviluppo di web-application moderne. Typescript è stato progettato per venire incontro alle esigenze dei programmatori Javascript che devono costruire e mantenere progetti di grandi dimensioni. Typescript aiuta a definire delle interfacce per i componenti di un'applicazione, aiuta a ridurre i conflitti di nomenclatura tramite moduli che possono essere caricati dinamicamente, e opzionalmente dà la possibilità di eseguire un controllo sui tipi (static type checking). Questo a sua volta permette di dare agli IDE funzionalità di autocompletamento, re-factoring e navigazione basata sui simboli. Typescript è uno zucchero semantico per Javascript (permette di scrivere codice più pulito, ma non aggiunge nulla che non è già possibile fare con Javascript). E' un superinsieme della versione 5 di Ecmascript ed ogni programma Javascript è già considerabile un programma Typescript. Il compilatore Typescript trasforma codice Typescript in Javascript, non rinonima le variabili o il loro ordine, permettendo di fare debugging direttamente sul codice Javascript, oppure tramite delle mappe, sul codice Typescript stesso. Esistono dei tools (ad esempio questo: https://typescript.codeplex.com/wikipage?title=Compile-on-Save) che permettono di compilare il codice da Typescript a Javascript automaticamente. La sintassi di Typescript include diverse funzionalità proposte nello standard Ecmascript 6, come ad esempio le classi e i moduli. Il compilatore Typescript permette di generare moduli che supportano il caricamento sia statico che dinamico dei contenuti. Il sistema opzionale di annotazione dei tipi è simile allo stile dei commenti JSDoc, ma in Typescript sono parte integrante del linguaggio. Quest'integrazione rende il codice più leggibile e riduce i costi di manutenzione. Un'altra caratteristica interessante del linguaggio è la sua abilità di dedurre i tipi. Per esempio, da questo codice: var i = 0; Typescript dedurrà che la variabile 'i' è di tipo numerico (number). Mentre questa funzione: function f() { return "hello"; } Ritorna un tipo string. Il beneficio di queste deduzioni è che un programmatore può usare un editor di codice per individuare facilmente quali membri sono a disposizione di un oggetto, come nell'immagine qui sotto: Alcune volte però il programmatore deve dare una mano al compilatore e specificare esplicitamente le annotazioni di tipo. In Typescript questo può essere fatto tramite: function f(s: string) { return s; } f({}); // Error f("hello"); // Ok Questo tipo di annotazione è opzionale, e serve al programmatore per specificare che la variabile 's' dev'essere di tipo string. Per la funzione qui sopra, il compilatore Typescript genera il seguente codice Javascript: function f(s) { return s; } Tutte le annotazioni di tipo sono state cancellate. In linea generale, Typescript elimina tutte le informazioni di tipo durante la compilazione.
E' un appassionato di programmazione con un particolare interesse per le tecnologie web e mobile. Da 11 anni gestisce il sito pierotofy.it e lavora negli Stati Uniti come consulente informatico tramite la sua azienda, MasseranoLabs LLC. Seguilo su Twitter: @pierotofy
|