Inilabas ang Dart 2.8 programming language

naganap paglabas ng programming language Dart 2.8, na nagpapatuloy sa pagbuo ng isang branch ng Dart 2 na binago nang radikal, muling nakatuon sa pag-unlad para sa mga Web at mobile system at na-optimize para sa paglikha ng mga bahagi sa panig ng kliyente.

Naiiba ang Dart 2 sa orihinal na wika ng Dart sa paggamit nito ng malakas na static na pag-type (maaaring awtomatikong mahinuha ang mga uri, kaya opsyonal ang pagtutukoy ng uri, ngunit hindi na ginagamit ang dynamic na pag-type at ang unang na-compute na uri ay itinalaga sa isang variable at ang mahigpit na pagsusuri ng uri ay kasunod na inilapat). Para sa pagbuo ng web application inaalok isang set ng mga partikular na library, gaya ng dart:html, pati na rin ang Angular web framework. Isang framework ang isinusulong para sa paglikha ng mga mobile application Mag-flutter, batay sa kung saan, bukod sa iba pang mga bagay, ang user shell ng bagong microkernel operating system na binuo sa Google ay binuo Pusiya.

Sa bagong release:

  • Ang idinagdag ay nangangahulugan na ligtas na gamitin ang Null na halaga, na sinisira ang pabalik na pagkakatugma. Halimbawa, ang isang error sa compile-time ay itatapon na ngayon kung ang isang pagtatangka ay ginawa upang italaga ang halaga na "Null" sa isang variable ng isang hindi natukoy na uri, tulad ng "int". Ipinakilala rin ang mga paghihigpit sa pagiging tugma ng mga variable sa mga Nullable at non-Nullable na uri, gaya ng β€œint?” at "int" (isang variable na may uri ng "int" ay maaaring magtalaga ng isang variable na may uri na "int", ngunit hindi kabaligtaran). Ang parehong naaangkop sa mga variable na ibinalik sa "return" na pahayag - kung sa katawan ng function ang isang variable na may isang uri na hindi pinapayagan ang "Null" na estado ay hindi nakatalaga ng isang halaga, ang compiler ay magpapakita ng isang error. Ang mga pagbabagong ito ay magbibigay-daan sa iyong maiwasan ang mga pag-crash na dulot ng mga pagtatangka na gumamit ng mga variable na ang halaga ay hindi natukoy at nakatakda sa "Null".
  • imbakan pub.dev pumasa sa 10 thousand packages mark. Bilang bahagi ng Dart 2.8 provisioning cycle, ang pagganap ng pagkuha ng mga package mula sa pub.dev ay lubos na napabuti sa pamamagitan ng pagsuporta sa pagkuha ng mga package sa maraming parallel na thread kapag isinasagawa ang command na "pub get", pati na rin ang tamad na precompilation kapag isinasagawa ang " pub run" na utos. Ang pagsubok sa command na "pub get" para sa isang bagong Flutter-based na proyekto ay nagpakita ng pagbaba sa oras ng operasyon mula 6.5 hanggang 2.5 segundo, at para sa mas malalaking application gaya ng Flutter gallery, mula 15 hanggang 3 segundo.
  • Nagdagdag ng bagong "pub outdated" na utos para panatilihing napapanahon ang lahat ng dependency sa mga naka-install na package. Gamit ang "pub outdated" na utos, maaari mong suriin, nang hindi gumagawa ng mga pagbabago sa pubspec file, kung may mga mas bagong pangunahing bersyon ng lahat ng dependency na nauugnay sa isang tinukoy na package. Hindi tulad ng "pag-upgrade ng pub", sinusuri ng bagong command hindi lamang ang mga bersyon na nauugnay sa pubspec, kundi pati na rin ang mga mas bagong sangay. Halimbawa, para sa isang package na may mga naka-pin na dependency na "foo: ^1.3.0" at "bar: ^2.0.0", ang pagpapatakbo ng "pub outdated" ay magpapakita ng presensya ng parehong available na branch at mas bagong branch:

    Mga Dependency Kasalukuyang Naa-upgrade na Nareresolba Pinakabago
    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

Mga tampok ng wikang Dart:

  • Pamilyar at madaling matutunan ang syntax, natural para sa JavaScript, C at Java programmer.
  • Tinitiyak ang mabilis na paglulunsad at mataas na pagganap para sa lahat ng modernong web browser at iba't ibang uri ng kapaligiran, mula sa mga portable na device hanggang sa makapangyarihang mga server;
  • Ang kakayahang tukuyin ang mga klase at interface na nagpapahintulot sa encapsulation at muling paggamit ng mga umiiral na pamamaraan at data;
  • Ang pagtukoy ng mga uri ay nagpapadali sa pag-debug at pagtukoy ng mga error, ginagawang mas malinaw at mas nababasa ang code, at pinapasimple ang pagbabago at pagsusuri nito ng mga third-party na developer.
  • Kasama sa mga sinusuportahang uri ang: iba't ibang uri ng mga hash, array at listahan, mga pila, numeric at mga uri ng string, mga uri para sa pagtukoy ng petsa at oras, mga regular na expression (RegExp). Siguro paglikha ng iyong sarili mga uri;
  • Upang ayusin ang parallel execution, iminungkahi na gumamit ng mga klase na may nakahiwalay na katangian, ang code na kung saan ay ganap na naisakatuparan sa nakahiwalay na espasyo sa isang hiwalay na lugar ng memorya, na nakikipag-ugnayan sa pangunahing proseso sa pamamagitan ng pagpapadala ng mga mensahe;
  • Suporta para sa paggamit ng mga aklatan na nagpapasimple sa suporta at pag-debug ng malalaking proyekto sa web. Maaaring isama ang mga third-party na pagpapatupad ng mga function sa anyo ng mga shared library. Maaaring hatiin ang mga aplikasyon sa mga bahagi at ipagkatiwala ang pagbuo ng bawat bahagi sa isang hiwalay na pangkat ng mga programmer;
  • Isang hanay ng mga handa na tool upang suportahan ang pagbuo sa wikang Dart, kabilang ang pagpapatupad ng mga dynamic na pag-develop at mga tool sa pag-debug na may on-the-fly na pagwawasto ng code (β€œi-edit-at-magpatuloy”);
  • Upang pasimplehin ang pag-unlad sa wikang Dart, kasama ito SDK, tagapamahala ng pakete pub, static code analyzer dart_analyzer, hanay ng mga aklatan, pinagsama-samang kapaligiran sa pag-unlad DartPad at Dart-enabled na mga plugin para sa IntelliJ IDEA, WebStorm, Emacs, Ang kahanga-hangang teksto 2 ΠΈ kalakasan;
  • Ang mga karagdagang pakete na may mga aklatan at kagamitan ay ipinamamahagi sa pamamagitan ng imbakan pub, na mayroong higit sa 10 libong mga pakete.

Pinagmulan: opennet.ru

Magdagdag ng komento