Rilasciato il linguaggio di programmazione Dart 2.8

ha avuto luogo rilascio del linguaggio di programmazione Dart 2.8, che prosegue lo sviluppo di un ramo Dart 2 radicalmente ridisegnato, rifocalizzato sullo sviluppo per sistemi Web e mobile e ottimizzato per la realizzazione di componenti lato client.

Dart 2 differisce dal linguaggio Dart originale per l'uso di una forte tipizzazione statica (i tipi possono essere dedotti automaticamente, quindi la specifica del tipo è facoltativa, ma la tipizzazione dinamica non viene più utilizzata e il tipo inizialmente calcolato viene assegnato a una variabile e il controllo rigoroso del tipo è successivamente applicato). Per lo sviluppo di applicazioni web offerta un insieme di librerie specifiche, come dart:html, nonché il framework web Angular. Viene promosso un framework per la creazione di applicazioni mobili Flutter, sulla base della quale viene costruita, tra l'altro, la shell utente del nuovo sistema operativo microkernel sviluppato da Google Fucsia.

Nella nuova versione:

  • Aggiunti mezzi per utilizzare in modo sicuro il valore Null, interrompendo la compatibilità con le versioni precedenti. Ad esempio, verrà ora generato un errore in fase di compilazione se si tenta di assegnare il valore "Null" a una variabile di tipo non definito, come "int". Sono state inoltre introdotte restrizioni sulla compatibilità delle variabili con tipi Nullable e non Nullable, come "int?" e "int" (ad una variabile di tipo "int" può essere assegnata una variabile di tipo "int", ma non viceversa). Lo stesso vale per le variabili restituite nell'istruzione “return”: se nel corpo della funzione non viene assegnato un valore a una variabile con un tipo che non consente lo stato “Null”, il compilatore visualizzerà un errore. Queste modifiche ti permetteranno di evitare arresti anomali causati dai tentativi di utilizzare variabili il cui valore non è definito e impostato su "Null".
  • deposito pub.dev superato la soglia dei 10mila pacchi. Nell'ambito del ciclo di provisioning di Dart 2.8, le prestazioni di recupero dei pacchetti da pub.dev sono state notevolmente migliorate supportando il recupero dei pacchetti in più thread paralleli durante l'esecuzione del comando "pub get", nonché la precompilazione lenta durante l'esecuzione del comando " comando "esecuzione pub". Il test del comando “pub get” per un nuovo progetto basato su Flutter ha mostrato una diminuzione del tempo di operazione da 6.5 ​​a 2.5 secondi e per applicazioni più grandi come Flutter Gallery, da 15 a 3 secondi.
  • Aggiunto un nuovo comando "pub obsoleto" per mantenere aggiornate tutte le dipendenze sui pacchetti installati. Utilizzando il comando "pub outdated", è possibile valutare, senza apportare modifiche al file pubspec, se esistono versioni principali più recenti di tutte le dipendenze associate a un pacchetto specificato. A differenza di "pub upgrade", il nuovo comando controlla non solo le versioni corrispondenti a pubspec, ma anche i rami più recenti. Ad esempio, per un pacchetto con dipendenze bloccate "foo: ^1.3.0" e "bar: ^2.0.0", l'esecuzione di "pub obsoleto" mostrerà la presenza sia di rami disponibili che di rami più recenti:

    Dipendenze Attuali Aggiornabili Risolvibili Ultime
    foo 1.3.0 1.3.1 1.3.1 1.3.1
    barra 2.0.1 2.1.0 3.0.3 3.0.3

Caratteristiche del linguaggio Dart:

  • Sintassi familiare e facile da apprendere, naturale per i programmatori JavaScript, C e Java.
  • Garantire avvio rapido e prestazioni elevate per tutti i browser Web moderni e vari tipi di ambienti, dai dispositivi portatili ai server potenti;
  • La capacità di definire classi e interfacce che consentono l'incapsulamento e il riutilizzo di metodi e dati esistenti;
  • La specifica dei tipi semplifica il debug e l'identificazione degli errori, rende il codice più chiaro e leggibile e ne semplifica la modifica e l'analisi da parte di sviluppatori di terze parti.
  • I tipi supportati includono: vari tipi di hash, matrici ed elenchi, code, tipi numerici e di stringa, tipi per determinare data e ora, espressioni regolari (RegExp). Forse creando il tuo tipi;
  • Per organizzare l'esecuzione parallela si propone di utilizzare classi con l'attributo isolate, il cui codice viene eseguito interamente in uno spazio isolato in un'area di memoria separata, interagendo con il processo principale inviando messaggi;
  • Supporto per l'utilizzo di librerie che semplificano il supporto e il debug di progetti web di grandi dimensioni. È possibile includere implementazioni di funzioni di terze parti sotto forma di librerie condivise. Le applicazioni possono essere divise in parti e affidare lo sviluppo di ciascuna parte a un team separato di programmatori;
  • Una serie di strumenti già pronti per supportare lo sviluppo nel linguaggio Dart, inclusa l'implementazione di strumenti di sviluppo dinamico e debug con correzione del codice al volo ("modifica e continua");
  • Per semplificare lo sviluppo nel linguaggio Dart, viene fornito con SDK, gestore pacchetti pub, analizzatore di codice statico dart_analyzer, insieme di librerie, ambiente di sviluppo integrato DartPad e plugin abilitati per Dart per IntelliJ IDEA, WebStorm, Emacs, Sublime testo 2 и Vim;
  • Pacchetti aggiuntivi con librerie e utilità vengono distribuiti tramite il repository pub, che conta più di 10mila pacchi.

Fonte: opennet.ru

Aggiungi un commento