A Dart 2.15 izolált csoportokkal, futásidejű fejlesztésekkel és még sok mással érkezik

A Google nemrégiben mutatta be a bevezetését a programozási nyelv új verziója Dart 2.15, amely a Dart 2 gyökeresen újratervezett ágának fejlesztését folytatja és amely eltér a Dart nyelv eredeti verziójától erős statikus gépelés használatával (a típusok automatikusan következtethetők, így a típusok megadása nem szükséges, de a dinamikus gépelés már nem használatos és kezdetben kiszámításra kerül, a típus hozzá van rendelve a változót, majd szigorú típusellenőrzést alkalmazunk).

Ebben az új verzióban különféle fejlesztéseket hajtottak végre, és mindenekelőtt néhány új funkciót vezettek be, például elszigetelt csoportokat, valamint megoldásokat néhány észlelt sebezhetőségre.

A Dart 2.15 főbb újdonságai

A Dart 2.15 új verziójában eszközök biztosítják a feladatok gyors párhuzamos végrehajtását a vezérlő leválasztásával.

Amellett, hogy többmagos rendszerekben a futásidő Dart alapértelmezés szerint alkalmazáskódot futtat a CPU magon, és más magokat használ a rendszerfeladatok végrehajtására például aszinkron I/O, fájlok írása vagy hálózati hívások kezdeményezése.

A Dart 2.15 másik újdonsága egy új koncepció, elszigetelt csoportok, (csoportok elkülönítése) lehetővé teszi a megosztott hozzáférést a különböző belső adatstruktúrákhoz azonos csoportba tartozó izolátumokban, ami jelentősen csökkentheti a többletköltséget a csoport ügynökeivel való kommunikáció során. Például egy további elkülönítés elindítása egy meglévő készleten 100-szor gyorsabb, és 10-100-szor kevesebb memóriát igényel, mint egy külön elkülönítés kezdeményezése, így nincs szükség a program adatstruktúráinak inicializálására.

Annak ellenére, hogy egy csoportban elszigetelt blokkban, A változtatható objektumokhoz való megosztott hozzáférés továbbra is tilos, a csoportok megosztott dinamikus memóriát használnak, jelentősen felgyorsítva az objektumok egyik blokkból a másikba való átvitelét anélkül, hogy erőforrásigényes másolási műveletekre lenne szükség.

Az új verzióban az Isolate.exit () meghívásakor is megengedett a vezérlőmunka eredményének átadása adatok átadása a fő elkülönítési blokknak másolási műveletek végrehajtása nélkül. Emellett az üzenetátviteli mechanizmus optimalizálása is megtörtént: a kis és közepes üzenetek feldolgozása immár hozzávetőleg 8-szor gyorsabb. Az izolátumok között a SendPort.send () hívás segítségével átadható objektumok különféle típusú függvényeket, lezárásokat és veremnyomokat tartalmaznak.

A mutatók létrehozására szolgáló eszközökben más objektumok egyedi funkcióihoz, Az ilyen mutatók létrehozására vonatkozó korlátozások megszűntek a konstruktor kódban, amely hasznos lehet könyvtár alapú interfészek létrehozásakor Csapkod.

Könyvtár dart: core továbbfejlesztett enum támogatással, Például most már generálhat egy karakterlánc értéket minden felsorolási értékből a ".name" metódussal, lekérheti az értékeket név szerint, vagy egyeztetheti az értékpárokat.

Azt is kiemelik mutatótömörítési technikát valósítottak megHogy lehetővé teszi a mutatók kompaktabb megjelenítését 64 bites környezetben ha a 32 bites címtér elegendő a címzéshez (4 GB-nál több memória nem használható). A tesztek kimutatták, hogy az ilyen optimalizálás körülbelül 10%-kal csökkenti a kupac méretét. A Flutter SDK-ban az új mód már alapértelmezés szerint engedélyezve van az Android számára, és a tervek szerint egy jövőbeli kiadásban engedélyezni fogják az iOS-re is.

Szintén meg kell jegyezni, hogy a pub.dev adattár most már képes visszavonni egy már közzétett verziót egy csomagról, például veszélyes hibák vagy sebezhetőségek esetén.

A egyéb változások amelyek kiemelkednek:

  • További védelem a sebezhetőség (CVE-2021-22567) ellen, amelyet a kódban a megjelenítési sorrendet megváltoztató Unicode-karakterek használata okoz.
  • Kijavítottunk egy biztonsági rést (CVE-2021-22568), amely egy másik pub.dev-felhasználónak adja ki magát, amikor olyan külső kiszolgálón tesz közzé csomagokat, amely elfogadja a pub.dev oauth2 hozzáférési jogkivonatait.
  • A Dart SDK hibakereső és teljesítményelemző eszközöket (DevTools) tartalmaz, amelyeket korábban külön csomagban szállítottak.
  • A „dart pub” parancshoz és a pub.dev csomagtárolókhoz olyan eszközöket adtunk, amelyek nyomon követhetik az érzékeny információk véletlenszerű kiadását, például a csomagon belüli folyamatos integrációs rendszerekhez és felhőkörnyezetekhez szükséges hitelesítő adatokat hagyva.
  • Ha ilyen szivárgást talál, a „dart pub publish” parancs hibaüzenettel leáll. Téves riasztás esetén lehetőség van az ellenőrzés kihagyására a fehér listán keresztül.

forrás: https://medium.com/


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.