La breve risposta a "Qual è lo stato di Dart?" è: è in anteprima tecnologica. Questo è un modo speciale per dire: "siamo partiti presto per poter aprire tutto e lavorare all'open source". "Anteprima della tecnologia" significa anche "non siamo nemmeno in Alpha, abbiamo molto lavoro da fare, ma c'è abbastanza da farti giocare e dare feedback."
Il tempo di Internet può funzionare per le notizie o le iterazioni dei prodotti di consumo, ma probabilmente non per qualcosa di così ambizioso e ampio come lo sforzo del Dart. Ricorda, Dart è più di una semplice lingua. È anche un set di librerie, un'interfaccia DOM migliore, una macchina virtuale, un editor e integrazione con Chrome. Il team sta lavorando duramente su molti thread paralleli, ma personalmente mi aspetto che ci vorranno sei mesi prima che la maggior parte dei pezzi sia a posto.
Non è vero che Dart funziona solo su Chrome. Dart compila su JavaScript e si rivolge ai browser moderni. Certo, Chrome sarà il primo ad essere lanciato con il supporto Dart nativo, ma garantire la compilazione di Dart su JavaScript performante ed efficace è un vincolo principale e una funzionalità del progetto.
Il quadro generale è che Dart diventerà un "ambiente di sviluppo delle batterie" per le moderne app web. L'obiettivo principale di Dart è quello di contribuire a garantire che il Web rimanga una piattaforma produttiva e piacevole per lo sviluppo e l'implementazione delle app. Ciò significa che molti pezzi devono essere installati: linguaggio, librerie, editor, macchine virtuali e integrazione con il browser. Metti tutti insieme, crediamo che Dart sarà un'opzione convincente per gli sviluppatori di applicazioni web moderne.
Il grande grande quadro BIG è che vogliamo portare gli sviluppatori di app sul Web e vogliamo che gli sviluppatori web scrivano app web più complesse. Se usano Dart, è grandioso. Ma alla fine della giornata, la lingua non ha importanza. L'unica cosa che conta è che si costruiscono complesse applicazioni web moderne, ad alta fedeltà, a bassa latenza e belle.
La lingua è in uno stato di sviluppo. Vediamo nuove versioni delle specifiche circa una volta al mese. Mancano caratteristiche importanti, come la riflessione, ma continuiamo a ripetere. Ad esempio, abbiamo appena aggiunto il supporto map () alla collezione. Gilad Bracha, un ragazzo che conosce i suoi linguaggi (avendo creato NewSpeak e lavorato su Java Lang Spec) e Josh Bloch, un uomo che conosce le sue librerie (avendo scritto Effective Java e lavorato alle librerie della Collezione Java) sta lavorando sul linguaggio e librerie, insieme alla squadra più grande.
Le persone considerano altamente dart difficile da generalizzare, e probabilmente non ha importanza per te. Dovresti trarre le tue conclusioni dopo aver giocato con Dart. La mia esperienza è che gli sviluppatori di app di altre piattaforme come Java, C # o Flex trovano Dart attraente e familiare. La mia esperienza con gli sviluppatori JavaScript è divisa. Se lo sviluppatore di JavaScript ha anche creato app su altre piattaforme, sono cautamente ottimisti riguardo a Dart (o, almeno, la soluzione che sta tentando di fornire). Se lo sviluppatore di JavaScript è cresciuto in JavaScript e ha programmato solo in JavaScript, c'è più esitazione. Questa potrebbe essere una preoccupazione fondamentale per la lingua, o un'esitazione nel lasciare una zona di comfort, o semplicemente non entrare nei casi limite con JavaScript. Questa è solo generalizzazione, ma ho visto molte persone diventare produttive in Dart estremamente rapidamente.
Per quanto riguarda la quota di mercato, è estremamente presto nel gioco. Probabilmente non è la domanda giusta da chiedere, dato che Dart non sta nemmeno spedendo. Una domanda più interessante sarebbe: "Qual è la quota di mercato delle app sul Web?" e poi vai a capire come possiamo affrontarlo.
Per quanto riguarda la vetrina di un'app Web, il team Dart ha creato Swarm, un lettore di news slick. Purtroppo, lo abbiamo solo nel codice sorgente in questo momento: link
Per quanto riguarda alcune funzionalità "killer", direi che ce ne sono alcune molto interessanti:
- i tipi facoltativi sono chiari, aggiungono annotazioni e documenti per umani e macchine.
- Isolare è un ottimo modo per raggiungere la concorrenza in modo sicuro.
- Le librerie (modularità) sono decisamente necessarie per lo stack web e Dart ha librerie e classi.
- Le istantanee consentiranno un avvio estremamente rapido
- Le librerie in bundle (come raccolte, cronometro, ecc.) unificheranno le basi di codice e ridurranno il codice spedibile
- Bella nuova interfaccia DOM, che rende il lavoro con DOM molto più piacevole. Sembra un codice Dart nativo.
Spero di aver risposto alle tue domande. Penso che l'unica domanda importante sia: "Il mio linguaggio mi aiuta a creare applicazioni web complesse, ad alta fedeltà, a bassa latenza, modulari e moderne?" Lo stato finale di tutto questo è semplicemente quello di aiutare più sviluppatori di app a fornire app di maggior successo al Web moderno.