Lingwa ta' programmar Dart 2.8 rilaxxata

seħħet rilaxx tal-lingwa ta 'programmar Dart 2.8, li tkompli l-iżvilupp ta 'fergħa Dart 2 ddisinjata radikalment mill-ġdid, iffokata mill-ġdid fuq l-iżvilupp għal sistemi tal-Web u mobbli u ottimizzata għall-ħolqien ta' komponenti fuq in-naħa tal-klijent.

Dart 2 huwa differenti mill-lingwa Dart oriġinali fl-użu tiegħu ta 'tajpjar statiku qawwi (it-tipi jistgħu jiġu dedotti awtomatikament, għalhekk l-ispeċifikazzjoni tat-tip hija fakultattiva, iżda l-ittajpjar dinamiku m'għadux jintuża u t-tip inizjalment ikkalkulat huwa assenjat għal verifika tat-tip varjabbli u stretta hija sussegwentement applikat). Għall-iżvilupp tal-applikazzjoni tal-web offruti sett ta’ libreriji speċifiċi, bħal dart:html, kif ukoll il-qafas tal-web Angular. Qed jiġi promoss qafas għall-ħolqien ta' applikazzjonijiet mobbli Aġitazzjoni, li fuq il-bażi tagħha, fost affarijiet oħra, tinbena l-qoxra tal-utent tas-sistema operattiva l-ġdida tal-mikrokernel li qed tiġi żviluppata fil-Google Fuchsia.

Fir-rilaxx il-ġdid:

  • Mezzi miżjuda biex tuża b'mod sikur il-valur Null, tkisser il-kompatibilità b'lura. Pereżempju, żball fil-ħin tal-kompilazzjoni issa se jintrema jekk isir tentattiv biex jiġi assenjat il-valur "Null" għal varjabbli ta 'tip mhux definit, bħal "int". Ġew introdotti wkoll restrizzjonijiet fuq il-kompatibilità ta' varjabbli ma' tipi Nullable u mhux Nullable, bħal "int?" u "int" (varjabbli bit-tip "int" tista' tiġi assenjata varjabbli bit-tip "int", iżda mhux viċi versa). L-istess japplika għall-varjabbli rritornati fid-dikjarazzjoni "ritorn" - jekk fil-korp tal-funzjoni varjabbli b'tip li ma jippermettix l-istat "Null" ma jiġix assenjat valur, il-kompilatur juri żball. Dawn il-bidliet jippermettulek tevita ħabtiet ikkawżati minn tentattivi biex tuża varjabbli li l-valur tagħhom mhuwiex definit u ssettjat għal "Null".
  • repożitorju pub.dev għadda mill-marka tal-10 elf pakkett. Bħala parti miċ-ċiklu ta' forniment ta' Dart 2.8, il-prestazzjoni tal-irkupru ta' pakketti minn pub.dev tjiebet b'mod sinifikanti billi appoġġa l-irkupru ta' pakketti f'ħjut paralleli multipli meta tesegwixxi l-kmand "pub get", kif ukoll precompilation għażżien meta tesegwixxi l-" kmand run pub. L-ittestjar tal-kmand "pub get" għal proġett ġdid ibbażat fuq Flutter wera tnaqqis fil-ħin tat-tħaddim minn 6.5 għal 2.5 sekondi, u għal applikazzjonijiet akbar bħall-gallarija Flutter, minn 15 għal 3 sekondi.
  • Żid kmand ġdid "pub skadut" biex iżżomm id-dipendenzi kollha fuq pakketti installati aġġornati. Bl-użu tal-kmand "pub skadut", tista' tevalwa, mingħajr ma tagħmel bidliet fil-fajl pubspec, jekk hemmx verżjonijiet ewlenin aktar ġodda tad-dipendenzi kollha assoċjati ma' pakkett speċifikat. B'differenza "pub upgrade", il-kmand il-ġdid jiċċekkja mhux biss verżjonijiet li jikkorrispondu għal pubspec, iżda wkoll fergħat ġodda. Pereżempju, għal pakkett b'dipendenzi ippinjat "foo: ^1.3.0" u "bar: ^2.0.0", it-tħaddim "pub antikwat" se juri l-preżenza taż-żewġ fergħat disponibbli u fergħat aktar ġodda:

    Dipendenzi Kurrenti Aġġornabbli Riżolvibbli Latest
    foo 1.3.0 1.3.1 1.3.1 1.3.1
    bar 2.0.1 2.1.0 3.0.3 3.0.3

Karatteristiċi tal-lingwa Dart:

  • Sintassi familjari u faċli biex titgħallem, naturali għal programmaturi JavaScript, C u Java.
  • L-iżgurar ta 'tnedija mgħaġġla u prestazzjoni għolja għall-web browsers moderni kollha u diversi tipi ta' ambjenti, minn tagħmir portabbli għal servers b'saħħithom;
  • Il-ħila li tiddefinixxi klassijiet u interfaces li jippermettu l-inkapsulament u l-użu mill-ġdid ta 'metodi u data eżistenti;
  • L-ispeċifikazzjoni tat-tipi tagħmilha aktar faċli biex tiddibaggja u tidentifika l-iżbalji, tagħmel il-kodiċi aktar ċar u aktar leġibbli, u tissimplifika l-modifika u l-analiżi tagħha minn żviluppaturi terzi.
  • Tipi appoġġjati jinkludu: diversi tipi ta 'hashes, arrays u listi, kjuwijiet, tipi numeriċi u string, tipi għad-determinazzjoni tad-data u l-ħin, espressjonijiet regolari (RegExp). Jista 'jkun toħloq tiegħek tipi;
  • Biex tiġi organizzata l-eżekuzzjoni parallela, huwa propost li jintużaw klassijiet bl-attribut iżolat, li l-kodiċi tagħhom huwa esegwit kompletament fi spazju iżolat f'żona ta 'memorja separata, li jinteraġixxu mal-proċess prinċipali billi jintbagħtu messaġġi;
  • Appoġġ għall-użu ta 'libreriji li jissimplifikaw l-appoġġ u d-debugging ta' proġetti kbar tal-web. Implimentazzjonijiet ta 'partijiet terzi ta' funzjonijiet jistgħu jiġu inklużi fil-forma ta 'libreriji kondiviżi. L-applikazzjonijiet jistgħu jinqasmu f'partijiet u jafdaw l-iżvilupp ta 'kull parti lil tim separat ta' programmaturi;
  • Sett ta' għodod lesti biex jappoġġaw l-iżvilupp fil-lingwa Dart, inkluża l-implimentazzjoni ta' żvilupp dinamiku u għodod ta' debugging b'korrezzjoni tal-kodiċi on-the-fly (“edit-and-continue”);
  • Biex tissimplifika l-iżvilupp fil-lingwa Dart, jiġi ma SDK, maniġer tal-pakketti pub, analizzatur tal-kodiċi statiku dart_analyzer, sett ta 'libreriji, ambjent ta' żvilupp integrat DartPad u plugins ppermettiet Dart għal IntelliJ IDEA, WebStorm, Emacs, Test Sublime 2 и vim;
  • Pakketti addizzjonali bil-libreriji u l-utilitajiet huma mqassma permezz tar-repożitorju pub, li għandha aktar minn 10 elf pakkett.

Sors: opennet.ru

Żid kumment