Lingua di prugrammazione Dart 2.8 liberata

hè accadutu liberazione di lingua di prugrammazione Darts 2.8, chì cuntinueghja u sviluppu di un ramu Dart 2 radicalmente riprogettatu, rifocused in u sviluppu per i sistemi Web è mobile è ottimizzati per creà cumpunenti di u cliente.

Dart 2 difiere da a lingua originale Dart in u so usu di una forte tipografia statica (i tipi ponu esse inferiti automaticamente, cusì a specificazione di u tipu hè facultativa, ma a tipografia dinamica ùn hè più usata è u tippu calculatu inizialmente hè assignatu à una variabile è a verificazione di tippu strettu hè applicata successivamente). Per u sviluppu di l'applicazioni web hè prupostu un inseme di biblioteche specifiche, cum'è dart:html, è ancu u quadru web Angular. Un quadru hè prumuvutu per creà applicazioni mobili Flutter, nantu à a basa di quale, frà altre cose, u shell d'utilizatore di u novu sistema operatore microkernel sviluppatu in Google hè custruitu Fuchsia.

In a nova versione:

  • Added means to safely use the Null value, breaking backward compatibility. Per esempiu, un errore in tempu di compilazione serà avà ghjittatu se un tentativu hè fattu per assignà u valore "Null" à una variàbile di un tipu micca definitu, cum'è "int". E restrizioni sò state ancu introdutte nantu à a cumpatibilità di variàbili cù i tipi Nullable è non Nullable, cum'è "int?" è "int" (una variabile cù u tipu "int" pò esse attribuita una variàbbili cù u tipu "int", ma micca vice versa). U stessu s'aplica à e variàbili riturnati in a dichjarazione "return" - se in u corpu di a funzione una variabile cù un tipu chì ùn permettenu micca u statu "Null" ùn hè micca attribuitu un valore, u compilatore mostrarà un errore. Questi cambiamenti vi permettenu di evità i crashes causati da i tentativi di utilizà variabili chì u valore ùn hè micca definitu è ​​stabilitu à "Null".
  • repository pub.dev hà passatu a marca di 10 mila pacchetti. Cum'è parte di u ciculu di fornitura di Dart 2.8, a prestazione di ricuperazione di pacchetti da pub.dev hè stata significativamente migliurata supportendu a ricuperazione di pacchetti in parechje fili paralleli durante l'esecuzione di u cumandamentu "pub get", è ancu una precompilazione lazy quandu eseguisce " cumandamentu pub run". A prova di u cumandamentu "pub get" per un novu prughjettu basatu in Flutter hà dimustratu una diminuzione di u tempu di operazione da 6.5 ​​à 2.5 seconde, è per applicazioni più grande cum'è a galeria Flutter, da 15 à 3 seconde.
  • Aggiuntu un novu cumandamentu "pub obsoleto" per mantene tutte e dipendenze nantu à i pacchetti installati aghjurnati. Utilizendu u cumandamentu "pub obsoleto", pudete valutà, senza fà cambiamenti à u schedariu pubspec, s'ellu ci sò versioni maiò più recenti di tutte e dependenzii assuciati cù un pacchettu specificatu. A cuntrariu di "upgrade di pub", u novu cumandamentu cuntrolla micca solu e versioni chì currispondenu à pubspec, ma ancu e rami più novi. Per esempiu, per un pacchettu cù dipendenze pinnate "foo: ^ 1.3.0" è "bar: ^ 2.0.0", l'esecuzione di "pub obsoleto" mostrarà a presenza di e rami dispunibuli è di rami più novi:

    Dipendenze Current Upgradable Resolvable Ultime
    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 di a lingua Dart:

  • Sintassi familiare è faciule d'amparà, naturali per i programatori JavaScript, C è Java.
  • Assicurendu un lanciu rapidu è un altu rendiment per tutti i navigatori web muderni è diversi tipi di ambienti, da i dispositi portatili à i servitori putenti;
  • A capacità di definisce classi è interfacce chì permettenu l'incapsulazione è a reutilizazione di metudi è dati esistenti;
  • A specificazione di i tipi facilita a debug è l'identificazione di l'errori, rende u codice più chjaru è più leggibile, è simplifica a so mudificazione è l'analisi da i sviluppatori di terzu.
  • Tipi supportati includenu: vari tipi di hash, array è listi, file, tipi numerichi è di stringa, tipi per a determinazione di data è ora, espressioni regulare (RegExp). Forse creendu u vostru propiu tipi;
  • Per urganizà l'esekzione parallela, hè pruposta di utilizà classi cù l'attributu isolatu, u codice di quale hè eseguitu sanu sanu in un spaziu isolatu in una zona di memoria separata, interagisce cù u prucessu principale mandendu missaghji;
  • Supportu per l'usu di biblioteche chì simplificà u supportu è u debugging di grandi prughjetti web. L'implementazioni di e funzioni di terze parti ponu esse incluse in forma di biblioteche spartute. L'applicazioni ponu esse divise in parte è affidate u sviluppu di ogni parte à una squadra separata di programatori;
  • Un inseme di strumenti pronti per sustene u sviluppu in a lingua Dart, cumpresa l'implementazione di u sviluppu dinamicu è l'arnesi di debugging cù correzione di codice in u volu ("edit-and-continue");
  • Per simplificà u sviluppu in a lingua Dart, vene cun SDK, gestore di pacchetti francese pub, analizzatore di codice staticu dart_analyzer, inseme di biblioteche, ambiente di sviluppu integratu DartPad e plugins abilitati per Dart per IntelliJ IDEA, WebStorm, Emacs, Testu Sublime 2 и Vim;
  • Pacchetti supplementari cù biblioteche è utilità sò distribuiti attraversu u repository francese pub, chì hà più di 10 mila pacchetti.

Source: opennet.ru

Add a comment