TillgÀngliga sprÄk Dart 2.14 och ramverket Flutter 2.5

Google har publicerat en release av programmeringssprÄket Dart 2.14, som fortsÀtter utvecklingen av den radikalt omarbetade versionen av Dart 2, som skiljer sig frÄn den ursprungliga versionen av sprÄket Dart genom anvÀndningen av stark statisk typning (typer kan automatiskt hÀrledas, sÄ typangivelse Àr inte obligatorisk, men dynamisk typning anvÀnds inte lÀngre och den ursprungligen hÀrledda typen knyts till variabeln och tillÀmpas vidare med strikt typkontroll).

Egenskaper hos Dart-sprÄket:

  • Ett bekant och enkelt syntax, naturligt för programmerare som anvĂ€nder JavaScript, C och Java.
  • Ger snabb start och hög prestanda för alla moderna webblĂ€sare och olika typer av miljöer, frĂ„n bĂ€rbara enheter till kraftfulla. servrar.
  • Möjlighet att definiera klasser och grĂ€nssnitt, vilket möjliggör inkapsling och Ă„teranvĂ€ndning av befintliga metoder och data.
  • Typangivelse förenklar felsökning och felupptĂ€ckning, gör koden tydligare och mer lĂ€sbar, och förenklar vidare utveckling och analys av externa utvecklare.
  • Bland de stödda typerna finns olika typer av hash, arrayer och listor, köer, numeriska och strĂ€ngtyper, typer för att definiera datum och tid, samt reguljĂ€ra uttryck (RegExp). Det finns möjlighet att skapa egna typer.
  • För att organisera parallell exekvering rekommenderas att anvĂ€nda klasser med attributet isolate, vars kod körs helt i ett isolerat utrymme i ett separat minnesomrĂ„de och interagerar med huvudprocessen via meddelandeutskick.
  • Stöd för att anvĂ€nda bibliotek som underlĂ€ttar underhĂ„ll och felsökning av stora webprojekt. Tredjepartsimplementeringar av funktioner kan kopplas in som delade bibliotek. Applikationer kan delas upp i delar och utvecklingen av varje del kan överlĂ„tas till separata programmeringsteam.
  • Ett set av verktyg för att stödja utveckling med Dart-sprĂ„ket, inklusive implementeringen av medel för dynamisk utveckling och felsökning med möjlighet att rĂ€tta kod i realtid (‘edit-and-continue’).
  • För att underlĂ€tta utvecklingen med Dart-sprĂ„ket erbjuds SDK, paketförvaltaren pub, statiska kodanalysatorn dart_analyzer, en uppsĂ€ttning bibliotek, den integrerade utvecklingsmiljön DartPad och plugins för IntelliJ IDEA, WebStorm, Emacs, Sublime Text 2 och Vim.
  • Ytterligare paket med bibliotek och verktyg distribueras via pub-repositoriet, som har över 20 000 paket.

De viktigaste förÀndringarna i Dart 2.14:

  • En ny operator för tredubblad skiftning (>>>) har lagts till, som i motsats till operatorn (>>) utför en logisk skiftning, som fungerar utan att ta hĂ€nsyn till signeringsbit (skiftet görs utan att dela upp positiva och negativa tal).
  • BegrĂ€nsningen pĂ„ typargument har tagits bort, vilket tidigare hindrade anvĂ€ndningen av generiska typfunktioner som argument med typ. Till exempel kan man nu ange: late List<T Function(T)> idFunctions; var callback = [(T value) => value]; late S Function<S extends T Function(T)>(S) f;
  • Det Ă€r nu tillĂ„tet att ange argument med typer i anmĂ€rkningar, som @Deprecated. Till exempel kan man nu ange: @TypeHelper(42, "The meaning")
  • I det standardbiblioteket (core) har statiska metoder hash, hashAll och hashAllUnordered lagts till i klassen Object. I klassen DateTime har behandlingen av lokal tid förbĂ€ttrats nĂ€r man konverterar mellan sommar- och vintertid med tidsförskjutningar som inte Ă€r multipler av en timme (till exempel anvĂ€nds en förskjutning pĂ„ 30 minuter i Australien). I paketet ffi har stöd för minnesallokeringsmekanismen arena lagts till, som automatiskt frigör resurser. I paketet ffigen har möjligheten att generera typedef-definitioner av Dart-typer frĂ„n C-sprĂ„ket lagts till.
  • 250 av de mest populĂ€ra paketen frĂ„n pub.dev-repositoriet och 94 % av topp-1000 har översatts för att anvĂ€nda nullsĂ€kerhetslĂ€get, vilket förhindrar krascher som orsakas av försök att anvĂ€nda variabler vars vĂ€rde inte Ă€r definierat och som Ă€r instĂ€llt pĂ„ "null". LĂ€ge innebĂ€r att variabler inte kan ha odefinierade vĂ€rden om de inte uttryckligen tilldelas vĂ€rdet null. I lĂ€get beaktas variabeltyper strikt, vilket gör att kompilatorn kan tillĂ€mpa ytterligare optimeringar. TypöverensstĂ€mmelse kontrolleras vid kompilering, till exempel, försöker man tilldela vĂ€rdet "null" till en variabel av typ som inte tillĂ„ter odefinierat tillstĂ„nd, som "int", kommer ett fel att visas.
  • Ett enhetligt regelpaket för kodanalysatorn (linter) har föreslagits, vilket möjliggör samtidig stöd för att kontrollera efterlevnaden av stilrekommendationerna för kodformat i Dart och Flutter-ramverket. Av historiska skĂ€l har kodformatreglerna för Flutter och Dart varit olika, och dessutom har det funnits tvĂ„ uppsĂ€ttningar regler för Dart — de pedantiska frĂ„n Google och regler frĂ„n Dart-utvecklarsamhĂ€llet. I Dart 2.14 presenteras en ny gemensam uppsĂ€ttning regler för linter, som kommer att tillĂ€mpas som standard i nya Dart-projekt och i Flutter SDK. Paketet inkluderar grundlĂ€ggande regler (paket lints/core.yaml), rekommenderade ytterligare regler (lints/recommended.yaml) och specifika rekommendationer för Flutter (flutter_lints/flutter.yaml). AnvĂ€ndare av de pedantiska reglerna rekommenderas att övergĂ„ till den nya kodningsstilen, baserad pĂ„ rekommendationer frĂ„n Dart-dokumentationen.
  • Det har gjorts optimeringar i formatteraren för formateringen av kedjeblock av kod, vilket avsevĂ€rt ökar formatteringsprestandan och förhindrar dubbeltydighet nĂ€r det gĂ€ller tillhörigheten av uttryckselement. Till exempel Ă€r anropet "..doIt" i uttrycket "var result = errorState ? foo : bad..doIt()" relaterat till hela uttrycket snarare Ă€n den villkorliga delen av blocket "bad", sĂ„ vid formatering delas det nu upp: var result = errorState ? foo : bad ..doIt();
  • SDK:n har fĂ„tt stöd för Apple M1-processorer (Silicon), vilket omfattar bĂ„de möjligheten att köra Dart VM, verktyg och SDK-komponenter pĂ„ system med Apple Silicon-processorer samt stöd för kompilering av körbara filer för de angivna chipt.
  • Team "dart pub" har fĂ„tt stöd för den nya servicefilen ".pubignore", som gör det möjligt att definiera en lista över filer som ska utelĂ€mnas vid publicering av paket pĂ„ pub.dev. De angivna instĂ€llningarna överlappar inte med listan över ignorerade filer i ".gitignore" (i vissa situationer krĂ€vs det i pub.dev att filer som behövs i Git, exempelvis interna skript som anvĂ€nds under utveckling, inte skickas).
  • Arbetet med att förbĂ€ttra prestandan hos kommandot "dart test" har genomförts, vilket nu inte lĂ€ngre krĂ€ver ny kompilering av tester efter Ă€ndringar i pubspec om versionsnumret inte har Ă€ndrats.
  • Stödet för kompilering i lĂ€ge kompatibilitet med ECMAScript 5 har upphört (denna Ă€ndring kommer att leda till förlust av kompatibilitet med webblĂ€saren IE11).
  • De separata verktygen stagehand, dartfmt och dart2native har förklarats som förĂ„ldrade, ersatta av inbyggda kommandon som anropas via dart-verktyget.
  • VM Native Extensions har flyttats till kategorin förĂ„ldrat. För att anropa inhemsk kod frĂ„n Dart-kod rekommenderas att anvĂ€nda det nya grĂ€nssnittet Dart FFI (Foreign Function Interface).

Samtidigt presenterades en betydande version av ramverket för anvÀndargrÀnssnitt Flutter 2.5, som ses som ett alternativ till React Native och gör det möjligt att slÀppa appar för plattformar som iOS, Android, Windows, macOS och Linux baserat pÄ en och samma kodbas, samt att skapa appar som körs i webblÀsare. Flutter anvÀnds för att bygga anvÀndargrÀnssnittet för Googles mikrohjÀrnaoperativsystem Fuchsia.

Större delen av Flutter-koden Ă€r skriven i programmeringssprĂ„ket Dart, och runtime-motorn för att köra applikationer Ă€r skriven i C++. Vid apputveckling kan man förutom det inhemska sprĂ„ket Dart ocksĂ„ anvĂ€nda Dart Foreign Function Interface för att anropa C/C++-kod. Hög körprestanda uppnĂ„s genom att applikationer kompileras till maskinkod för de mĂ„lplattformar som anvĂ€nds. Programmet behöver inte kompileras om efter varje Ă€ndring – Dart erbjuder en funktion för snabb omstart som gör det möjligt att göra Ă€ndringar i en aktiv applikation och omedelbart se resultatet.

De huvudsakliga Àndringarna i Flutter 2.5:

  • Betydande prestandaoptimeringar har genomförts. För plattformarna iOS och macOS har förkompilering av shader för grafik-API:et Metal implementerats. Effektiviteten vid hantering av asynkrona hĂ€ndelser har ökat. Problemet med fördröjningar vid minnesfrisĂ€ttning frĂ„n icke-anvĂ€nda bilder i samband med skrĂ€pkörning har lösts (till exempel har antalet skrĂ€pkörningsoperationer under uppspelning av en 20 sekunder lĂ„ng animerad GIF minskat frĂ„n 400 till 4. Fördröjningarna vid meddelandeöverföring mellan Dart och Objective-C/Swift (iOS) eller Java/Kotlin (Android) har minskat med upp till 50%. Stöd för inhemsk kompilering för system baserade pĂ„ Apple Silicon-chip har lagts till.
    TillgÀngliga sprÄk Dart 2.14 och ramverket Flutter 2.5
  • För Android-plattformen har stöd för appar i helskĂ€rmslĂ€ge införts. Implementeringen av konceptet "Material You", som presenteras som en variant av nĂ€sta generations Material Design, har fortsatt. Ett nytt tillstĂ„nd, MaterialState.scrolledUnder, har lagts till och dynamisk visning av rullningsfĂ€lt vid storleksĂ€ndringar har genomförts, liksom ett nytt grĂ€nssnitt för visning av meddelandebanners.
  • Möjligheterna för kamerapluginet har betydligt utvidgats, vilket nu inkluderar verktyg för att styra autofokus, exponering, blixt, zoom, brusreducering och upplösning.
  • Utvecklarverktygen (DevTools) har förbĂ€ttrats med en uppdaterad widget-inspektionslĂ€ge, samt verktyg för att identifiera renderingsfördröjningar och spĂ„ra kompileringen av shadere.
    TillgÀngliga sprÄk Dart 2.14 och ramverket Flutter 2.5
  • Plugins för Visual Studio Code och IntelliJ/Android Studio har förbĂ€ttrats.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster