Pubblicazione del linguaggio di programmazione Dart 2.8

Si è svolto rilascio del linguaggio di programmazione Dart 2.8, in cui continua lo sviluppo della branca totalmente rivisitata di Dart 2, focalizzata sulla creazione di sistemi Web e mobili e ottimizzata per la generazione di componenti eseguiti lato client.

Dart 2 si differenzia dalla versione originale del linguaggio Dart per l'uso di una forte tipizzazione statica (i tipi possono essere dedotti automaticamente, quindi specificare i tipi non è obbligatorio, ma la tipizzazione dinamica non è più utilizzata e il tipo calcolato inizialmente è fissato alla variabile e in seguito è applicato un rigoroso controllo del tipo). Per lo sviluppo di applicazioni Web si propone sono disponibili set di librerie specifiche, come dart:html, oltre al framework web Angular. Per la creazione di applicazioni mobili, viene promosso il framework Flutter, su cui si basa anche l'interfaccia utente della nuova microkernel operating system in sviluppo presso Google Fuchsia.

Nel nuovo rilascio:

  • Aggiunti strumenti per un utilizzo sicuro del valore "Null", che compromettono la retrocompatibilità. Ad esempio, durante la fase di compilazione verrà ora restituito un errore se si tenta di assegnare un valore "Null" a una variabile di un tipo che non prevede uno stato indefinito, come "int". Sono state anche introdotte restrizioni sulla compatibilità delle variabili con i tipi che consentono o meno il Null, come "int?" e "int" (a una variabile di tipo "int?" può essere assegnata una variabile di tipo "int", ma non viceversa). Lo stesso vale per le variabili restituite nell'operatore "return": se in un corpo di funzione una variabile di un tipo che non consente lo stato "Null" non ha ricevuto valore, il compilatore genererà un errore. Le modifiche indicate mirano a prevenire i crash causati dal tentativo di utilizzo di variabili il cui valore non è definito e impostato a "Null".
  • Repository pub.dev ha superato il traguardo di 10.000 pacchetti. Nel ciclo di preparazione di Dart 2.8 è stata notevolmente aumentata l'efficienza nel recupero dei pacchetti da pub.dev grazie al supporto per il recupero di pacchetti attraverso più flussi paralleli quando si esegue il comando "pub get", e anche grazie alla precompilazione posticipata quando si esegue il comando "pub run". I test del comando "pub get" per un nuovo progetto basato su Flutter hanno mostrato una riduzione dei tempi di esecuzione dell'operazione da 6,5 a 2,5 secondi, e per applicazioni più grandi, come la Flutter gallery, da 15 a 3 secondi.
  • È stato aggiunto il nuovo comando "pub outdated" per mantenere aggiornate tutte le dipendenze dei pacchetti installati. Utilizzando il comando "pub outdated", è possibile valutare senza modifiche al file pubspec la presenza di versioni significative più recenti per tutte le dipendenze associate al pacchetto specificato. A differenza di "pub upgrade", il nuovo comando controlla non solo le versioni corrispondenti al pubspec, ma anche le ramificazioni più recenti. Ad esempio, per un pacchetto con dipendenze fissate "foo: ^1.3.0" e "bar: ^2.0.0", l'esecuzione di "pub outdated" mostrerà la presenza sia delle versioni disponibili per l'aggiornamento che delle ramificazioni più recenti:

    Dipendenze Corrente Aggiornabile Risolvibile Ultimo
    foo 1.3.0 1.3.1 1.3.1 1.3.1
    bar 2.0.1 2.1.0 3.0.3 3.0.3

Caratteristiche del linguaggio Dart:

  • Sintassi familiare e semplice da apprendere, naturale per programmatori in JavaScript, C e Java.
  • Garantire un avvio rapido e prestazioni elevate per tutti i moderni web browser e vari tipi di ambienti, dai dispositivi portatili ai server potenti;
  • Possibilità di definire classi e interfacce che consentono di utilizzare l'incapsulamento e riutilizzare metodi e dati esistenti;
  • L'indicazione dei tipi semplifica il debug e l'individuazione degli errori, rende il codice più chiaro e leggibile, facilitando ulteriormente le modifiche e l'analisi da parte di sviluppatori esterni.
  • Tra i tipi supportati: vari tipi di hash, array e liste, code, tipi numerici e stringhe, tipi per la definizione di date e orari, espressioni regolari (RegExp). È possibile creare i propri tipi;
  • Per organizzare l'esecuzione parallela, si suggerisce di utilizzare classi con l'attributo isolate, il cui codice viene eseguito completamente in uno spazio isolato in un'area di memoria separata, interagendo con il processo principale tramite l'invio di messaggi;
  • Supporto per l'uso di librerie che semplificano la manutenzione e il debug di grandi progetti web. Le implementazioni di funzioni di terze parti possono essere collegate come librerie condivise. Le applicazioni possono essere suddivise in parti e lo sviluppo di ciascuna di esse può essere assegnato a team di programmatori separati;
  • Un insieme di strumenti pronti per supportare lo sviluppo nel linguaggio Dart, inclusa l'implementazione di strumenti per la modifica e il debug dinamico con correzione del codice in tempo reale ('edit-and-continue');
  • Per semplificare lo sviluppo nel linguaggio Dart è fornito SDK, un gestore di pacchetti pub, un analizzatore di codice statico dart_analyzer, un insieme di librerie, un ambiente di sviluppo integrato DartPad e plugin con supporto per Dart per IntelliJ IDEA, WebStorm, Emacs, Sublime Text 2 e Vim;
  • Pacchetti aggiuntivi con librerie e strumenti sono distribuiti attraverso un repository pub, che conta oltre 10.000 pacchetti.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster