Gipagawas ang Dart 2.8 programming language

nahitabo pagpagawas sa programming language Darts 2.8, nga nagpadayon sa pagpalambo sa usa ka radically redesigned Dart 2 branch, refocused on development for Web and mobile systems and optimized for making client-side components.

Ang Dart 2 lahi sa orihinal nga Dart nga lengguwahe sa paggamit niini sa kusog nga static nga pag-type (ang mga tipo mahimong awtomatik nga mahibal-an, mao nga ang espesipikasyon sa tipo kay opsyonal, apan ang dinamikong pag-type wala na gigamit ug ang una nga gikalkula nga tipo gi-assign sa usa ka variable ug estrikto nga pagsusi sa tipo mao ang unya gi-apply). Alang sa pagpalambo sa aplikasyon sa web gitanyag usa ka hugpong sa mga piho nga librarya, sama sa dart:html, ingon man ang Angular web framework. Usa ka balangkas ang gipasiugda alang sa paghimo og mga mobile application Pag-ula, pinasukad niini, taliwala sa ubang mga butang, ang kabhang sa tiggamit sa bag-ong microkernel operating system nga gihimo sa Google gitukod Fuchsia.

Sa bag-ong pagpagawas:

  • Gidugang nagpasabot sa luwas nga paggamit sa Null nga bili, paglapas sa atras nga pagkaangay. Pananglitan, ang usa ka sayup nga oras sa pag-compile ilabay na kung ang usa ka pagsulay gihimo aron itudlo ang kantidad nga "Null" sa usa ka variable nga dili matino nga tipo, sama sa "int". Gipaila usab ang mga pagdili sa pagkaangay sa mga variable nga adunay Nullable ug non-Nullable nga mga tipo, sama sa "int?" ug "int" (usa ka variable nga adunay tipo nga "int" mahimong ma-assign sa usa ka variable nga adunay tipo nga "int", apan dili vice versa). Ang parehas nga magamit sa mga variable nga gibalik sa pahayag nga "pagbalik" - kung sa lawas sa function ang usa ka variable nga adunay usa ka tipo nga wala magtugot nga ang "Null" nga estado wala gihatagan usa ka kantidad, ang compiler magpakita usa ka sayup. Kini nga mga pagbag-o magtugot kanimo sa paglikay sa mga pag-crash nga gipahinabo sa mga pagsulay sa paggamit sa mga variable kansang kantidad wala matino ug gibutang sa "Null".
  • tipiganan pub.dev nakapasar sa 10 ka libo nga marka sa pakete. Isip kabahin sa Dart 2.8 provisioning cycle, ang performance sa pagkuha sa mga package gikan sa pub.dev napauswag pag-ayo pinaagi sa pagsuporta sa pagkuha sa mga package ngadto sa daghang parallel threads sa dihang gipatuman ang "pub get" command, ingon man ang tapolan nga precompilation sa dihang gipatuman ang " pub run" nga sugo. Ang pagsulay sa "pub get" nga sugo alang sa bag-ong Flutter-based nga proyekto nagpakita sa pagkunhod sa oras sa operasyon gikan sa 6.5 ngadto sa 2.5 segundos, ug alang sa mas dagkong mga aplikasyon sama sa Flutter gallery, gikan sa 15 ngadto sa 3 segundos.
  • Gidugang ang usa ka bag-ong "pub outdated" nga mando aron mapadayon ang tanan nga mga dependency sa na-install nga mga pakete hangtod sa petsa. Gamit ang "pub outdated" nga mando, mahimo nimong susihon, nga wala maghimo mga pagbag-o sa pubspec file, kung adunay bag-o nga mga mayor nga bersyon sa tanan nga mga dependency nga adunay kalabotan sa usa ka piho nga pakete. Dili sama sa "pag-upgrade sa pub", ang bag-ong command nagsusi dili lamang sa mga bersyon nga katumbas sa pubspec, apan usab sa mas bag-ong mga sanga. Pananglitan, alang sa usa ka pakete nga adunay mga naka-pin nga dependency nga "foo: ^1.3.0" ug "bar: ^2.0.0", ang pagpadagan sa "pub outdated" magpakita sa presensya sa duha nga magamit nga mga sanga ug mas bag-ong mga sanga:

    Mga Dependency Kasamtanga nga Ma-upgrade nga Masulbad Pinakabag-o
    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 bahin sa Dart nga pinulongan:

  • Pamilyar ug dali nga makat-on nga syntax, natural alang sa JavaScript, C ug Java nga mga programmer.
  • Pagsiguro sa paspas nga paglansad ug taas nga pasundayag alang sa tanan nga modernong mga web browser ug lainlaing mga lahi sa palibot, gikan sa madaladala nga mga aparato hangtod sa kusgan nga mga server;
  • Ang abilidad sa paghubit sa mga klase ug mga interface nga nagtugot sa encapsulation ug paggamit pag-usab sa kasamtangan nga mga pamaagi ug datos;
  • Ang pagtino sa mga tipo makapasayon ​​sa pag-debug ug pag-ila sa mga sayop, paghimo sa code nga mas tin-aw ug mas mabasa, ug gipasayon ​​ang pag-usab ug pagtuki niini sa mga third-party nga developers.
  • Ang gisuportahan nga mga tipo naglakip sa: lain-laing mga matang sa hash, arrays ug mga lista, pila, numeric ug string type, tipo para sa pagtino sa petsa ug oras, regular nga mga ekspresyon (RegExp). Tingali paghimo sa imong kaugalingon matang;
  • Aron maorganisar ang parallel execution, gisugyot nga gamiton ang mga klase nga adunay isolate attribute, ang code nga gipatuman sa hingpit sa hilit nga wanang sa usa ka bulag nga lugar sa panumduman, nga nakig-uban sa panguna nga proseso pinaagi sa pagpadala mga mensahe;
  • Suporta alang sa paggamit sa mga librarya nga nagpayano sa suporta ug pag-debug sa dagkong mga proyekto sa web. Ang mga pagpatuman sa ikatulo nga partido sa mga gimbuhaton mahimong maapil sa porma sa gipaambit nga mga librarya. Ang mga aplikasyon mahimong bahinon sa mga bahin ug itugyan ang pagpauswag sa matag bahin sa usa ka lahi nga grupo sa mga programmer;
  • Usa ka hugpong sa andam nga mga himan aron pagsuporta sa pagpalambo sa Dart nga pinulongan, lakip ang pagpatuman sa dinamikong pag-uswag ug pag-debug nga mga himan nga adunay on-the-fly code correction ("edit-and-continue");
  • Aron pasimplehon ang pag-uswag sa pinulongang Dart, kini adunay SDK, tagdumala sa pakete pub, static code analyzer dart_analyzer, set sa mga librarya, integrated development environment DartPad ug Dart-enabled plugins alang sa IntelliJ IDEA, WebStorm, Emacs, Talagsaong teksto 2 ΠΈ Vim;
  • Ang dugang nga mga pakete nga adunay mga librarya ug mga gamit giapod-apod pinaagi sa repository pub, nga adunay labaw pa sa 10 ka libo nga mga pakete.

Source: opennet.ru

Idugang sa usa ka comment