Dart 2.8 программалоо тили чыгарылды

болуп өттү программалоо тили чыгаруу Дарт 2.8, түп-тамырынан бери кайра иштелип чыккан Dart 2 бутагын өнүктүрүүнү улантып, Веб жана мобилдик системаларды өнүктүрүүгө көңүл бурган жана кардар тараптын компоненттерин түзүү үчүн оптималдаштырылган.

Dart 2 түпнуска Dart тилинен күчтүү статикалык терүүнү колдонуу менен айырмаланат (түрлөр автоматтык түрдө чыгарылат, андыктан типтин спецификациясы милдеттүү эмес, бирок динамикалык терүү мындан ары колдонулбайт жана алгач эсептелген түрү өзгөрмөгө дайындалат жана катуу типти текшерүү кийин колдонулат). Веб тиркемелерди иштеп чыгуу үчүн сунуш кылган dart:html сыяктуу белгилүү китепканалардын жыйындысы, ошондой эле Angular веб алкагында. Мобилдик тиркемелерди түзүү үчүн негиз алдыга жылдырылууда Flutter, анын негизинде, башка нерселер менен катар, Google иштеп жаткан жаңы микро ядролук операциялык тутумдун колдонуучу кабыгы курулган. Фуксия.

Жаңы чыгарылышта:

  • Кошумча, артка карай шайкештикти бузуп, Null маанисин коопсуз колдонууну билдирет. Мисалы, "Int" сыяктуу аныкталбаган түрдөгү өзгөрмөгө "Null" маанисин ыйгаруу аракети жасалса, компиляция убактысынын катасы чыгарылат. Чектөөлөр ошондой эле "int?" жана "int" ("int" түрүндөгү өзгөрмө "int" түрүндөгү өзгөрмө ыйгарылышы мүмкүн, бирок тескерисинче эмес). Ошол эле нерсе "кайтаруу" операторунда кайтарылган өзгөрмөлөргө да тиешелүү - эгерде функциянын денесинде "Null" абалына жол бербеген түрдөгү өзгөрмө маани берилбесе, компилятор катаны көрсөтөт. Бул өзгөртүүлөр мааниси аныкталбаган жана "Нул" деп коюлган өзгөрмөлөрдү колдонуу аракетинен улам келип чыккан кыйроодон качууга мүмкүндүк берет.
  • репозиторий pub.dev 10 миң пакеттик белгиден өттү. Dart 2.8 камсыздоо циклинин бир бөлүгү катары, "pub get" буйругун аткарууда пакеттерди бир нече параллелдүү жиптерге издөөнү колдоо менен, pub.devден топтомдорду алуу көрсөткүчтөрү кыйла жакшырды, ошондой эле " pub run" буйругу. Flutter негизиндеги жаңы долбоор үчүн "pub get" буйругун тестирлөө иш убактысынын 6.5 секунддан 2.5 секундага чейин, ал эми Flutter галереясы сыяктуу чоңураак тиркемелер үчүн 15тен 3 секундага чейин кыскарганын көрсөттү.
  • Орнотулган пакеттерге көз карандылыкты жаңыртуу үчүн жаңы "паб эскирген" буйругу кошулду. "pub outdated" буйругун колдонуу менен, сиз pubspec файлына өзгөртүүлөрдү киргизбестен, көрсөтүлгөн пакет менен байланышкан бардык көз карандылыктардын жаңы негизги версиялары бар же жок экенин баалай аласыз. "Паб жаңыртуудан" айырмаланып, жаңы буйрук pubspecге туура келген версияларды гана эмес, жаңы бутактарды да текшерет. Мисалы, "foo: ^1.3.0" жана "бар: ^2.0.0" кадалган көз карандылыктары бар пакет үчүн "pub outdated" иштетүү жеткиликтүү филиалдардын да, жаңыраак бутактардын да бар экенин көрсөтөт:

    Көз карандылыктар Учурдагы жаңылануучу Чечилүүчү Акыркы
    foo 1.3.0 1.3.1 1.3.1 1.3.1
    тилке 2.0.1 2.1.0 3.0.3 3.0.3

Дарт тилинин өзгөчөлүктөрү:

  • Тааныш жана үйрөнүүгө оңой синтаксис, JavaScript, C жана Java программисттери үчүн табигый.
  • Бардык заманбап веб-браузерлер жана портативдик түзүлүштөрдөн күчтүү серверлерге чейин ар кандай типтеги чөйрөлөр үчүн тез ишке киргизүүнү жана жогорку өндүрүмдүүлүктү камсыз кылуу;
  • Учурдагы ыкмаларды жана маалыматтарды инкапсуляциялоого жана кайра колдонууга мүмкүндүк берген класстарды жана интерфейстерди аныктоо мүмкүнчүлүгү;
  • Типтерди көрсөтүү каталарды оңдоону жана аныктоону жеңилдетет, кодду ачык-айкын жана окула турган кылып, үчүнчү тараптын иштеп чыгуучулары тарабынан аны өзгөртүүнү жана талдоону жөнөкөйлөтөт.
  • Колдоого алынган түрлөрүнө төмөнкүлөр кирет: хэштердин ар кандай түрлөрү, массивдер жана тизмелер, кезектер, сандык жана саптык типтер, дата менен убакытты аныктоо үчүн типтер, регулярдуу туюнтмалар (RegExp). Болушу мүмкүн өзүңүздүн түзүү түрлөрү;
  • Параллелдүү аткарууну уюштуруу үчүн изолят атрибуту бар класстарды колдонуу сунушталат, алардын коду толугу менен өзүнчө эстутумдун аймагында обочолонгон мейкиндикте аткарылат, билдирүүлөрдү жөнөтүү аркылуу негизги процесс менен өз ара аракеттенет;
  • Чоң веб-долбоорлорду колдоону жана мүчүлүштүктөрдү оңдоону жөнөкөйлөштүрүүчү китепканаларды колдонууну колдоо. Үчүнчү тараптын функцияларды ишке ашыруулары жалпы китепканалар түрүндө киргизилиши мүмкүн. Тиркемелер бөлүктөргө бөлүнүп, ар бир бөлүктүн иштеп чыгуусун программисттердин өзүнчө командасына тапшырса болот;
  • Дарт тилинде иштеп чыгууну колдоо үчүн даяр инструменттердин жыйындысы, анын ичинде динамикалык иштеп чыгуу жана каталарды оңдоо инструменттерин тез арада кодду оңдоо («түзөтүү жана улантуу»);
  • Дарт тилинде өнүктүрүүнү жөнөкөйлөтүү үчүн, ал менен келет SDK, пакет менеджери араккана, статикалык код анализатору dart_analyzer, китепканалардын топтому, интеграцияланган өнүктүрүү чөйрөсү DartPad жана Dart иштетилген плагиндер үчүн IntelliJ IDEA, WebStorm, emacs, Улуу Text 2 и vim;
  • Китепканалар жана коммуналдык кызматтар менен кошумча пакеттер репозиторий аркылуу таратылат араккана, анда 10 миңден ашык пакет бар.

Source: opennet.ru

Комментарий кошуу