Avevamo JavaScript, poi Flash, poi Silverlight e HTML5 li possedevamo tutti.
Quindi qual è la motivazione dietro TypeScript? Quali problemi verranno affrontati e quali miglioramenti otteniamo con TypeScript?
Avevamo JavaScript, poi Flash, poi Silverlight e HTML5 li possedevamo tutti.
Quindi qual è la motivazione dietro TypeScript? Quali problemi verranno affrontati e quali miglioramenti otteniamo con TypeScript?
Risposte:
Mi sembra che sia un linguaggio di tipo statico e basato su classi che si compila in JavaScript. È una buona idea, e anche quella che hanno avuto anche altri.
I vantaggi dovrebbero essere ovvi per chiunque sia sviluppato in linguaggi di tipo statico, basati su classi e in JavaScript:
Quindi, come vediamo, l'idea di base è ottima. Detto questo, non posso dire nulla sulla lingua stessa perché non ho esperienza con essa. Ma ho usato Smart (collegato sopra) e l'ho trovato uno strumento incredibilmente potente e utile per lo sviluppo web.
Ci sono alcuni buoni motivi per usare TypeScript, per quanto posso vedere. Innanzitutto, come diceva Mason Wheeler, un compilatore . O meglio tutto il controllo di un compilatore. JSLint e altri strumenti sono utili, ma mancano alcuni problemi e talvolta sono semplicemente sbagliati. Accolgo con favore questa "innovazione".
Quindi esiste un sistema di tipi reale , che migliora la leggibilità e impone i tipi corretti. Dopotutto, questo aumenta la velocità di sviluppo.
Per me, una delle grandi cose è il supporto degli utensili . Questo è probabilmente un effetto collaterale del sistema di tipi, ma comunque eccezionale. E davvero necessario, poiché l'attuale supporto degli strumenti JavaScript è assolutamente utile.
TypeScript tenta di estendere JavaScript . Il compilatore genera JavaScript davvero piacevole. Inoltre, segue le proposte ECMAScript 6 . (Ad esempio sintassi della funzione freccia , valori predefiniti dei parametri , moduli e così via.
Semplifica il lavoro con moduli e classi . In realtà è possibile e abbastanza comune lavorare con classi e moduli in JavaScript, ma richiede una certa quantità di codice boilerplate. E non è davvero facile da leggere. TypeScript consente di scrivere istruzioni di classe, interfaccia e modulo proprio come in Java o C #, il che è di gran lunga più semplice se me lo chiedi.
Ma dopo tutto, è ancora solo JavaScript . Non è necessario imparare una nuova lingua o sintassi. L'unica cosa che aggiunge è il sistema di tipi opzionale (che è eccezionale e in ritardo).
Poi c'è la "libreria delle definizioni" , il che significa che posso usare tutte le mie librerie JavaScript senza riscriverle, o persino correggerle. Tuttavia, ora ho il sistema di tipi aggiuntivo.
Ci proverò sicuramente!
Un'ultima cosa, non c'è competizione tra HTML5 e TypeScript. Ma questa è un'altra storia.
Avevamo JavaScript, poi Flash, poi Silverlight e HTML5 li possedevamo tutti.
Questo semplicemente NON è vero . Html5 non li possiede, introduce nuovi markup che semplificano l'utilizzo dei contenuti multimediali ed esplora i vantaggi dei browser della nuova era (come l'utilizzo dell'accelerazione hardware durante il rendering di html).
Quindi qual è la motivazione dietro TypeScript?
Le motivazioni potrebbero essere guidate da ragioni per usarlo. Tutte le funzionalità di TypeScript come: controllo statico, navigazione basata su simboli, completamento delle istruzioni e refactoring del codice sono ragioni molto valide per considerarlo.
Inoltre, offre classi, moduli e interfacce per aiutarti a costruire componenti robusti. Queste funzionalità sono disponibili al momento dello sviluppo per lo sviluppo di applicazioni ad alta affidabilità, ma sono compilate in un semplice JavaScript.
Può essere trattato come uno strumento per gestire lo sviluppo di JavaScript piuttosto che un linguaggio completamente nuovo che viene compilato in JS. Non vuole essere un linguaggio di sviluppo lato server come Dart e non avere una sintassi diversa come CoffeeScript. Non voleva prendere un linguaggio popolare (ed è la sua libreria principale) e compilarlo in JS come GWT o script #. TypeScript segue anche la stessa sintassi di "classe" proposta per la prossima versione di JS.
Penso che la maggior parte dello sviluppo web sia fatto oggi utilizza JavaScript reale, solo nel lato client. Linguaggi o framework come Dart, GWT non sono adatti a questo. Se scegli coffeescript, viene visualizzata una nuova sintassi. E devi capire sia coffeescript che JS. Mentre TypeScript sta solo aggiungendo alcune funzionalità orientate al tipo extra, unite in JS, che salva gli sviluppatori da errori specifici del tipo (che è una grande porzione di errori JS) e fornisce agli strumenti di sviluppo maggiori informazioni sulle intenzioni degli sviluppatori.
Questo approccio non è nuovo. Vai alla sezione "Digitazione statica" di
Questo articolo indirizza la tua query- http://www.eweek.com/developer/microsoft-delivers-typescript-a-better-javascript-for-big-apps/
Penso che sia uno sforzo per trasformare un pezzo di merda (javascript) condiviso e inaffidabile in un linguaggio proprietario che può effettivamente essere utilizzato per progetti sostanziali.
Dovrebbe essere paragonato a GWT, che ha una serie di obiettivi simili ma ha adottato un approccio più pulito rendendo javascript non parte del linguaggio; e con applet Java o Flash, che adottano un approccio molto pulito per la definizione di un ambiente di runtime completo indipendente dal browser.
La tua opinione può variare, ma penso che sia condannata a condizione che dipenda dai browser che forniscono nativamente le implementazioni javascript (variabili, incoerenti) e i modelli DOM.