Megjelent a Dart 2.8 programozási nyelv

került sor programozási nyelv kiadása Dart 2.8, amely egy radikálisan újratervezett Dart 2 ág fejlesztését folytatja, a webes és mobilrendszerek fejlesztésére összpontosítva, és kliensoldali komponensek létrehozására optimalizálva.

A Dart 2 abban különbözik az eredeti Dart nyelvtől, hogy erős statikus gépelést alkalmaz (a típusok automatikusan következtethetők, így a típusspecifikáció nem kötelező, de a dinamikus gépelés már nem használatos, és az eredetileg kiszámított típus változóhoz van rendelve, és szigorú típusellenőrzés később alkalmazzák). Webes alkalmazások fejlesztéséhez felajánlott meghatározott könyvtárak készlete, például a dart:html, valamint az Angular webes keretrendszer. A mobilalkalmazások létrehozására szolgáló keretrendszert támogatják Csapkod, amelyre többek között a Google-nál fejlesztés alatt álló új mikrokernel operációs rendszer felhasználói shellje épül Fukszia.

Az új kiadásban:

  • A hozzáadott eszköz a Null érték biztonságos használatához, megszakítva a visszafelé kompatibilitást. Például fordítási idejű hiba jelenik meg, ha a „Null” értéket próbálják hozzárendelni egy nem meghatározott típusú változóhoz, például „int”. Korlátozásokat vezettek be a változók Nullable és nem Nullable típusokkal való kompatibilitására is, mint például az „int?” és "int" (az "int" típusú változóhoz hozzárendelhető egy "int" típusú változó, de fordítva nem). Ugyanez vonatkozik a „return” utasításban visszaadott változókra is - ha a függvény törzsében a „Null” állapotot nem engedélyező típusú változóhoz nincs hozzárendelve érték, a fordító hibát jelez. Ezek a változtatások lehetővé teszik az olyan összeomlások elkerülését, amelyeket olyan változók használatának kísérletei okoznak, amelyek értéke nem definiált és „Null”-ra van állítva.
  • adattár pub.dev átlépte a 10 ezres csomag határt. A Dart 2.8 kiépítési ciklusának részeként a pub.dev-ből származó csomagok visszakeresésének teljesítménye jelentősen javult azáltal, hogy támogatja a csomagok több párhuzamos szálba történő visszakeresését a "pub get" parancs végrehajtásakor, valamint a lusta előfordítást a " pub run" parancsot. A „pub get” parancs tesztelése egy új, Flutter-alapú projektnél azt mutatta, hogy a működési idő 6.5 másodpercről 2.5 másodpercre, nagyobb alkalmazásoknál, például a Flutter galéria esetében pedig 15 másodpercről 3 másodpercre csökkent.
  • Új "pub outdated" parancs került hozzáadásra, hogy a telepített csomagokkal kapcsolatos összes függőséget naprakészen tartsa. A "pub outdated" paranccsal a pubspec fájl módosítása nélkül kiértékelheti, hogy van-e egy adott csomaghoz társított összes függőség újabb fő verziója. A "pub upgrade"-től eltérően az új parancs nem csak a pubspec-nek megfelelő verziókat ellenőrzi, hanem az újabb ágakat is. Például egy „foo: ^1.3.0” és „bar: ^2.0.0” rögzített függőséggel rendelkező csomag esetén a „pub outdated” futtatása megjeleníti az elérhető és újabb ágak jelenlétét:

    Függőségek Jelenlegi frissíthető Megoldható legújabb
    foo 1.3.0 1.3.1 1.3.1 1.3.1
    bár 2.0.1 2.1.0 3.0.3 3.0.3

A Dart nyelv jellemzői:

  • Ismerős és könnyen megtanulható szintaxis, természetes a JavaScript, C és Java programozók számára.
  • Gyors indítás és nagy teljesítmény biztosítása minden modern webböngésző és különféle környezet számára, a hordozható eszközöktől a nagy teljesítményű szerverekig;
  • Osztályok és interfészek meghatározásának képessége, amelyek lehetővé teszik a meglévő módszerek és adatok beágyazását és újrafelhasználását;
  • A típusok megadása megkönnyíti a hibakeresést és a hibák azonosítását, világosabbá és olvashatóbbá teszi a kódot, valamint leegyszerűsíti a külső fejlesztők általi módosítását és elemzését.
  • A támogatott típusok a következők: különböző típusú hash-ek, tömbök és listák, sorok, numerikus és karakterlánc-típusok, dátum és idő meghatározására szolgáló típusok, reguláris kifejezések (RegExp). Talán saját létrehozása típusok;
  • A párhuzamos végrehajtás megszervezéséhez javasolt az isolate attribútummal rendelkező osztályok használata, amelyek kódja teljes egészében izolált térben, külön memóriaterületen fut, üzenetek küldésével kölcsönhatásba lépve a fő folyamattal;
  • A nagy webes projektek támogatását és hibakeresését leegyszerűsítő könyvtárak használatának támogatása. A funkciók harmadik féltől származó implementációi megosztott könyvtárak formájában is szerepelhetnek. Az alkalmazások részekre oszthatók, és az egyes részek fejlesztését külön programozói csapatra bízhatjuk;
  • Kész eszközök a Dart nyelven történő fejlesztés támogatására, beleértve a dinamikus fejlesztési és hibakereső eszközök megvalósítását menet közbeni kódjavítással ("szerkesztés és folytatás");
  • A fejlesztés leegyszerűsítése érdekében a Dart nyelven a következővel jár SDK, csomagkezelő kocsma, statikus kódelemző dart_analyzer, könyvtárak halmaza, integrált fejlesztői környezet DartPad és Dart-képes bővítmények a IntelliJ ÖTLET, WebStorm, Emacs, Fenséges szöveg 2 и életkedv;
  • A tárolón keresztül további, könyvtárakat és segédprogramokat tartalmazó csomagok kerülnek terjesztésre kocsma, amely több mint 10 ezer csomagot tartalmaz.

Forrás: opennet.ru

Hozzászólás