Dart 2.14 Sprooch a Flutter 2.5 Kader verfügbar

Google huet d'Verëffentlechung vun der Dart 2.14 Programméierungssprooch publizéiert, déi d'Entwécklung vun enger radikal ëmgebauter Branche vum Dart 2 weidergeet, déi sech vun der Originalversioun vun der Dart Sprooch ënnerscheet duerch d'Benotzung vu staarke statesche Schreifweis (Typen kënnen automatesch ofgeleet ginn, also Typen spezifizéieren ass net néideg, awer dynamesch Tippen gëtt net méi benotzt an ufanks berechent gëtt den Typ un d'Variabel zougewisen a strikt Typprüfung gëtt duerno ugewannt).

Features vun der Dart Sprooch:

  • Bekannt an einfach ze léieren Syntax, natierlech fir JavaScript, C an Java Programméierer.
  • Assuréiert séier Start an héich Leeschtung fir all modern Webbrowser a verschidden Aarte vun Ëmfeld, vu portablen Apparater bis mächteg Serveren.
  • D'Kapazitéit fir Klassen an Interfaces ze definéieren, déi d'Verkapselung an d'Wiederbenotzung vun existente Methoden an Daten erlaben.
  • Spezifizéieren Zorte mécht et méi einfach ze Debuggen an z'identifizéieren Feeler, mécht de Code méi kloer a méi liesbar, a vereinfacht seng Ännerung an Analyse vun Drëtt Partei Entwéckler.
  • Ënnerstëtzt Typen enthalen: verschidden Aarte vun Hashes, Arrays a Lëschten, Schlaangen, numeresch a Stringtypen, Aarte fir Datum an Zäit ze bestëmmen, reegelméisseg Ausdréck (RegExp). Et ass méiglech Är eege Zorten ze kreéieren.
  • Fir parallel Ausféierung z'organiséieren, gëtt proposéiert Klassen mat dem Attribut isoléieren ze benotzen, de Code vun deem ganz an isoléierte Raum an engem getrennten Erënnerungsberäich ausgefouert gëtt, interagéiert mam Haaptprozess andeems Dir Messagen schéckt.
  • Ënnerstëtzung fir d'Benotzung vu Bibliothéiken déi d'Ënnerstëtzung an d'Debugging vu grousse Webprojeten vereinfachen. Drëtt Partei Implementatioune vu Funktiounen kënnen a Form vu gemeinsame Bibliothéiken abegraff ginn. Uwendungen kënnen an Deeler opgedeelt ginn an d'Entwécklung vun all Deel un eng separat Team vu Programméierer uvertraut.
  • Eng Rei vu fäerdege Tools fir d'Entwécklung an der Dart Sprooch z'ënnerstëtzen, dorënner d'Ëmsetzung vun dynamescher Entwécklung an Debugging Tools mat Codekorrektur op der Flucht ("edit-and-continue").
  • Fir d'Entwécklung an der Dart Sprooch ze vereinfachen, kënnt et mat engem SDK, engem Package Manager Pub, engem statesche Code Analyser dart_analyzer, eng Rei vu Bibliothéiken, en integréierten Entwécklungsëmfeld DartPad an Dart-aktivéierte Plugins fir IntelliJ IDEA, WebStorm, Emacs, Sublime Text 2 a Vim.
  • Zousätzlech Packagen mat Bibliothéiken an Utilities ginn duerch de Pub-Repository verdeelt, dee méi wéi 20 Tausend Packagen huet.

Grouss Ännerungen am Dart 2.14 Verëffentlechung:

  • En neien Triple Shift Bedreiwer (>>>) ass dobäi komm, deen am Géigesaz zum Bedreiwer ">>" keng Rechnung ausféiert, mee eng logesch Verréckelung déi funktionnéiert ouni d'Zeechebit ze berücksichtegen (d'Verschiebung gëtt gemaach ouni opzedeelen an positiv an negativ Zuelen).
  • D'Restriktioun op Typ Argumenter geläscht, déi verhënnert hunn datt generesch Funktiounstypen als Typargument benotzt ginn. Zum Beispill, elo kënnt Dir uginn: spéit Lëscht (T)>idFunctions; var callback = [ (T Wäert) => Wäert]; spéit S Funktioun (T)> (S) f;
  • Erlaabt Argumenter mat Typen an Annotatiounen ze spezifizéieren wéi @Deprecated. Zum Beispill kënnt Dir elo uginn: @TypeHelper (42, "D'Bedeitung")
  • Déi statesch Methoden hash, hashAll an hashAllUordered goufen an d'Standardbibliothéik (Kär) an der Objektklass bäigefüügt. D'DateTime Klass huet d'Handhabung vun der lokaler Zäit verbessert wann d'Auer tëscht Summer a Wanterzäit ëmgewandelt gëtt, déi net vun enger Stonn deelbar sinn (zum Beispill, an Australien gëtt en Offset vun 30 Minuten benotzt). De ffi Package huet Ënnerstëtzung fir den Arena Memory Allocation Mechanismus bäigefüügt, deen automatesch Ressourcen verëffentlecht. De ffigen Package huet d'Fäegkeet bäigefüügt fir typedef Definitioune vun Dart Typen aus der C Sprooch ze generéieren.
  • Déi 250 beléifste Packagen aus dem Pub.dev Repository an 94% vun den Top-1000 goufen op den "Null Safety" Modus ëmgewandelt, wat Crashen vermeit verursaacht duerch Versuche Variabelen ze benotzen, deenen hire Wäert net definéiert ass an op "Null" gesat gëtt. "" De Modus implizéiert datt Variablen net null Wäerter kënnen hunn, ausser datt se explizit de Wäert null zougewisen ginn. De Modus respektéiert strikt variabelen Typen, wat de Compiler erlaabt zousätzlech Optimisatiounen z'applizéieren. Typ Konformitéit gëtt bei der Kompiléierungszäit iwwerpréift, zum Beispill, wann Dir probéiert de Wäert "Null" un eng Variabel mat engem Typ ze ginn, deen keen ondefinéierte Staat implizéiert, wéi "int", gëtt e Feeler ugewisen.
  • Vereenegt Sets vu Reegele fir de Code Analyser (Linter) ginn proposéiert, déi gläichzäiteg Ënnerstëtzung ubidden fir d'Konformitéit mat Code Stil Richtlinnen fir Dart an de Flutter Kader ze kontrolléieren. Aus historesche Grënn waren d'Kodéierungsregele fir Flutter an Dart anescht, zousätzlech waren et fir Dart zwee Sets vu Reegelen am Gebrauch - pedantesch vu Google a Reegele vun der Dart Entwéckler Gemeinschaft. Dart 2.14 stellt eng nei gemeinsam Rei vu Regele fir Linter vir, déi decidéiert gëtt als Standard an neien Dart Projeten an an der Flutter SDK benotzt ze ginn. De Set enthält Kärregelen (lints/core.yaml Package), recommandéiert zousätzlech Regelen (lints/recommended.yaml), a Flutter-spezifesch Empfehlungen (flutter_lints/flutter.yaml). D'Benotzer vu pedanteschen Reegele ginn ugeroden op en neie Kodéierungsstil ze wiesselen baséiert op Empfehlungen aus der Dart Dokumentatioun.
  • Am Formater sinn Optimisatiounen fir d'Formatéierung vu Kaskadcodeblocken gemaach ginn, wat d'Formatéierungsleeschtung wesentlech verbesseren kann an zweedeiteg Interpretatioun vum Besëtz vun Ausdrockelementer vermeiden. Zum Beispill, ruffen "..doIt" am Ausdrock "var result = errorState? foo : schlecht..doIt()" betrëfft net den bedingten Deel vum "schlechten" Block, mee de ganzen Ausdrock, also wann Dir Formatéiere gëtt et elo getrennt: var result = errorState ? foo : schlecht ..doIt();
  • Ënnerstëtzung fir Apple M1 (Silicon) Prozessoren gouf op d'SDK bäigefüügt, wat souwuel d'Fäegkeet implizéiert fir Dart VM, Utilities an SDK Komponenten op Systemer mat engem Apple Silicon Prozessor ze lafen, an Ënnerstëtzung fir ausführbar Dateien fir dës Chips ze kompiléieren.
  • De Kommando "Dart Pub" huet Ënnerstëtzung fir eng nei Servicedatei ".pubignore" bäigefüügt, wat Iech erlaabt eng Lëscht vu Dateien ze definéieren déi iwwersprangen ginn wann Dir e Package an de pub.dev Repository publizéiert. Dës Astellunge stéieren net mat der ".gitignore" ignoréieren Lëscht (an e puer Situatiounen, Pub.dev wëllt vläicht vermeide Dateien ze transferéieren déi am Git gebraucht ginn, zum Beispill intern Scripten déi während der Entwécklung benotzt ginn).
  • D'Aarbecht gouf gemaach fir d'Performance vum Kommando "Dart Test" ze verbesseren, deen elo keng Recompilatiounstester erfuerdert nodeems d'Pubspec geännert gëtt, wann d'Versiounsnummer net geännert huet.
  • Ënnerstëtzung fir d'Kompilatioun am ECMAScript 5 Kompatibilitéitsmodus gouf gestoppt (d'Ännerung wäert zu engem Verloscht vun der Kompatibilitéit mam IE11 Browser féieren).
  • Déi eenzel Utilities Stagehand, Dartfmt an Dart2native goufen als obsolet deklaréiert, ersat duerch agebaute Kommandoen, déi duerch den Dart Utility genannt ginn.
  • De VM Native Extensions Mechanismus gouf ofgeschaaft. Fir gebierteg Code vum Dart Code ze ruffen, ass et recommandéiert den neien Dart FFI (Auslännesch Funktioun Interface) ze benotzen.

Zur selwechter Zäit gouf eng bedeitend Verëffentlechung vum User Interface Kader Flutter 2.5 presentéiert, deen als Alternativ zu React Native ugesi gëtt an erlaabt, baséiert op enger Codebasis, Uwendungen fir iOS, Android, Windows, macOS a Linux ze verëffentlechen. Plattformen, wéi och Uwendungen erstellen fir a Browser ze lafen. Eng personaliséiert Shell fir de Fuchsia Mikrokernel Betribssystem entwéckelt vu Google ass op Basis vu Flutter gebaut.

Den Haaptdeel vum Flutter Code gëtt an der Dart Sprooch implementéiert, an de Runtime Engine fir Uwendungen auszeféieren ass an C++ geschriwwen. Wann Dir Uwendungen entwéckelt, nieft dem Flutter senger Mammesprooch Dart, kënnt Dir d'Dart Foreign Function Interface benotze fir C / C ++ Code ze ruffen. Héich Ausféierungsleistung gëtt erreecht andeems Applikatiounen op gebierteg Code fir Zilplattformen zesummegesat ginn. An dësem Fall brauch de Programm net no all Ännerung nei kompiléiert ze ginn - Dart bitt e waarme Reload-Modus, deen Iech erlaabt Ännerungen an enger lafender Applikatioun ze maachen an direkt d'Resultat ze evaluéieren.

Grouss Ännerungen am Flutter 2.5:

  • Huet bedeitend Leeschtungsoptimiséierunge gemaach. Op den iOS an macOS Plattformen ass d'Precompilatioun vu Shaders fir d'Metal graphics API implementéiert. Verbesserte Effizienz vun der Veraarbechtung vun asynchronen Eventer. Geléist e Problem mat Verspéidungen wann de Gerempels Sammelstécker Erënnerung vun onbenotzt Biller reclaimed (zum Beispill, während playback vun engem 20-zweet animéierten GIF, war d'Zuel vun Gerempels Sammelstécker Operatiounen reduzéiert aus 400 ze 4. Verspéidungen wann laanschtgoungen Messagen tëscht Dart an Objektiv- C / Swift goufen op 50% reduzéiert (iOS) oder Java / Kotlin (Android) Added native Build Support fir Systemer baséiert op dem Apple Silicon Chip.
    Dart 2.14 Sprooch a Flutter 2.5 Kader verfügbar
  • Fir d'Android Plattform ass Ënnerstëtzung fir Uwendungen am Vollbildmodus etabléiert. D'Ëmsetzung vum Designkonzept "Material You", presentéiert als eng nächst Generatioun Material Design Optioun, ass weidergaang. En neie Staat bäigefüügt MaterialState.scrolledUnder, implementéiert dynamesch Display vu Scrollbars beim Änneren, a proposéiert en neien Interface fir Notifikatiounsbanner ze weisen.
  • D'Fähigkeiten vum Kamera Plug-in sinn erweidert erweidert ginn, andeems Tools fir Autofokus, Beliichtung, Blitz, Zoom, Geräischerreduktioun a Resolutioun kontrolléieren.
  • Entwéckler Tools (DevTools) goufen verbessert fir en aktualiséierten Widget Inspektiounsmodus ze enthalen, souwéi Tools fir Rendering Verspéidungen z'identifizéieren an Shader Compilatioun ze verfolgen.
    Dart 2.14 Sprooch a Flutter 2.5 Kader verfügbar
  • Verbesserte Plugins fir Visual Studio Code an IntelliJ / Android Studio.

Source: opennet.ru

Setzt e Commentaire