Programmiersprache Dart 2.8 veröffentlicht

fand statt Veröffentlichung einer Programmiersprache Dart 2.8, das die Entwicklung eines radikal neu gestalteten Dart 2-Zweigs fortsetzt, sich wieder auf die Entwicklung für Web- und mobile Systeme konzentriert und für die Erstellung clientseitiger Komponenten optimiert ist.

Dart 2 unterscheidet sich von der ursprünglichen Dart-Sprache durch die Verwendung einer starken statischen Typisierung (Typen können automatisch abgeleitet werden, daher ist die Typspezifikation optional, dynamische Typisierung wird jedoch nicht mehr verwendet und der ursprünglich berechnete Typ wird einer Variablen zugewiesen und eine strenge Typprüfung erfolgt nachträglich angewendet). Für die Entwicklung von Webanwendungen vorgeschlagen eine Reihe spezifischer Bibliotheken wie dart:html sowie das Angular-Webframework. Es wird ein Framework zur Erstellung mobiler Anwendungen gefördert Flutter, auf deren Grundlage unter anderem die Benutzer-Shell des neuen Mikrokernel-Betriebssystems aufgebaut ist, das bei Google entwickelt wird Fuchsia.

In der neuen Version:

  • Hinzugefügte Mittel zur sicheren Verwendung des Nullwerts, wodurch die Abwärtskompatibilität beeinträchtigt wird. Beispielsweise wird nun ein Kompilierungsfehler ausgegeben, wenn versucht wird, den Wert „Null“ einer Variablen eines nicht undefinierten Typs wie „int“ zuzuweisen. Außerdem wurden Einschränkungen hinsichtlich der Kompatibilität von Variablen mit Nullable- und Nicht-Nullable-Typen wie „int?“ eingeführt. und „int“ (einer Variablen vom Typ „int“ kann eine Variable vom Typ „int“ zugewiesen werden, aber nicht umgekehrt). Gleiches gilt für Variablen, die in der „return“-Anweisung zurückgegeben werden – wenn im Hauptteil der Funktion einer Variablen mit einem Typ, der den „Null“-Zustand nicht zulässt, kein Wert zugewiesen wird, zeigt der Compiler einen Fehler an. Mit diesen Änderungen können Sie Abstürze vermeiden, die durch Versuche verursacht werden, Variablen zu verwenden, deren Wert undefiniert und auf „Null“ gesetzt ist.
  • Repository pub.dev hat die Marke von 10 Paketen überschritten. Als Teil des Dart 2.8-Bereitstellungszyklus wurde die Leistung beim Abrufen von Paketen von pub.dev erheblich verbessert, indem das Abrufen von Paketen in mehrere parallele Threads beim Ausführen des Befehls „pub get“ sowie eine verzögerte Vorkompilierung beim Ausführen des Befehls „pub get“ unterstützt wurden. pub run“-Befehl. Das Testen des Befehls „pub get“ für ein neues Flutter-basiertes Projekt zeigte eine Verkürzung der Betriebszeit von 6.5 auf 2.5 Sekunden und bei größeren Anwendungen wie der Flutter-Galerie von 15 auf 3 Sekunden.
  • Ein neuer „pub outdated“-Befehl wurde hinzugefügt, um alle Abhängigkeiten von installierten Paketen auf dem neuesten Stand zu halten. Mit dem Befehl „pub outdated“ können Sie, ohne Änderungen an der Pubspec-Datei vorzunehmen, auswerten, ob es neuere Hauptversionen aller mit einem angegebenen Paket verknüpften Abhängigkeiten gibt. Im Gegensatz zu „pub upgrade“ überprüft der neue Befehl nicht nur Versionen, die Pubspec entsprechen, sondern auch neuere Zweige. Wenn Sie beispielsweise für ein Paket mit den angehefteten Abhängigkeiten „foo: ^1.3.0“ und „bar: ^2.0.0“ „pub outdated“ ausführen, wird das Vorhandensein sowohl verfügbarer als auch neuerer Zweige angezeigt:

    Abhängigkeiten aktuell aktualisierbar auflösbar aktuell
    foo 1.3.0 1.3.1 1.3.1 1.3.1
    Balken 2.0.1 2.1.0 3.0.3 3.0.3

Merkmale der Dart-Sprache:

  • Vertraute und leicht zu erlernende Syntax, selbstverständlich für JavaScript-, C- und Java-Programmierer.
  • Gewährleistung eines schnellen Starts und hoher Leistung für alle modernen Webbrowser und verschiedene Arten von Umgebungen, von tragbaren Geräten bis hin zu leistungsstarken Servern;
  • Die Fähigkeit, Klassen und Schnittstellen zu definieren, die die Kapselung und Wiederverwendung vorhandener Methoden und Daten ermöglichen;
  • Die Angabe von Typen erleichtert das Debuggen und Identifizieren von Fehlern, macht den Code klarer und lesbarer und vereinfacht seine Änderung und Analyse durch Drittentwickler.
  • Zu den unterstützten Typen gehören: verschiedene Arten von Hashes, Arrays und Listen, Warteschlangen, numerische und String-Typen, Typen zur Bestimmung von Datum und Uhrzeit, reguläre Ausdrücke (RegExp). Vielleicht Erstellen Sie Ihr eigenes Typen;
  • Um die parallele Ausführung zu organisieren, wird vorgeschlagen, Klassen mit dem Attribut „isolate“ zu verwenden, deren Code vollständig in einem isolierten Raum in einem separaten Speicherbereich ausgeführt wird und mit dem Hauptprozess durch das Senden von Nachrichten interagiert.
  • Unterstützung für die Verwendung von Bibliotheken, die die Unterstützung und das Debuggen großer Webprojekte vereinfachen. Implementierungen von Funktionen von Drittanbietern können in Form von gemeinsam genutzten Bibliotheken eingebunden werden. Anwendungen können in Teile unterteilt werden und die Entwicklung jedes Teils einem separaten Programmiererteam anvertrauen;
  • Eine Reihe vorgefertigter Tools zur Unterstützung der Entwicklung in der Dart-Sprache, einschließlich der Implementierung dynamischer Entwicklungs- und Debugging-Tools mit On-the-Fly-Codekorrektur („Edit-and-Continue“);
  • Um die Entwicklung in der Dart-Sprache zu vereinfachen, ist Folgendes enthalten: SDK, Paket-Manager Kneipe, statischer Code-Analysator dart_analyzer, Reihe von Bibliotheken, integrierte Entwicklungsumgebung DartPad und Dart-fähige Plugins für IntelliJ-IDEE, WebStorm, Emacs, Erhabener Text 2 и Vim;
  • Zusätzliche Pakete mit Bibliotheken und Dienstprogrammen werden über das Repository verteilt Kneipe, das mehr als 10 Pakete umfasst.

Source: opennet.ru

Kommentar hinzufügen