Թողարկվել է Dart 2.8 ծրագրավորման լեզուն

տեղի ունեցավ ծրագրավորման լեզվի թողարկում Dart 2.8, որը շարունակում է արմատապես վերափոխված Dart 2 մասնաճյուղի զարգացումը, որը կենտրոնացած է վեբ և բջջային համակարգերի զարգացման վրա և օպտիմիզացված է հաճախորդի կողմից բաղադրիչներ ստեղծելու համար:

Dart 2-ը տարբերվում է սկզբնական Dart լեզվից իր ուժեղ ստատիկ մուտքագրման կիրառմամբ (տեսակները կարող են ենթադրվել ավտոմատ կերպով, ուստի տիպի ճշգրտումը կամընտիր է, բայց դինամիկ մուտքագրումն այլևս չի օգտագործվում, և սկզբնական հաշվարկված տեսակը վերագրվում է փոփոխականին և խիստ տեսակի ստուգումը կատարվում է: հետագայում կիրառվել): Վեբ հավելվածների մշակման համար առաջարկվել է մի շարք հատուկ գրադարաններ, ինչպիսիք են dart:html, ինչպես նաև Angular վեբ շրջանակը: Խթանում է շարժական հավելվածների ստեղծման շրջանակը Հարթել, որի հիման վրա, ի թիվս այլ բաների, կառուցվում է Google-ում մշակվող միկրոմիջուկի նոր օպերացիոն համակարգի օգտատերերի կեղևը։ Fuchsia.

Նոր թողարկումում.

  • Ավելացվել է Null արժեքը անվտանգ օգտագործելու միջոց՝ խախտելով հետընթաց համատեղելիությունը: Օրինակ, կոմպիլյացիայի ժամանակի սխալը այժմ կուղարկվի, եթե փորձ արվի վերագրել «Null» արժեքը չսահմանված տիպի փոփոխականին, ինչպիսին է «int»: Սահմանափակումներ են մտցվել նաև փոփոխականների համատեղելիության վերաբերյալ Nullable և non Nullable տեսակների հետ, ինչպիսիք են «int?» և «int» («int» տիպով փոփոխականին կարելի է վերագրել «int» տեսակի փոփոխական, բայց ոչ հակառակը): Նույնը վերաբերում է «return» հայտարարության մեջ վերադարձված փոփոխականներին. եթե ֆունկցիայի մարմնում «Null» վիճակ չթույլատրող տիպով փոփոխականին արժեք չի վերագրվում, կոմպիլյատորը կցուցադրի սխալ: Այս փոփոխությունները թույլ կտան խուսափել խափանումներից, որոնք առաջացել են փոփոխականներ օգտագործելու փորձերից, որոնց արժեքը սահմանված չէ և դրված է «Null»:
  • պահոց pub.dev անցել է 10 հազար փաթեթի շեմը։ Որպես Dart 2.8-ի տրամադրման ցիկլի մի մաս, pub.dev-ից փաթեթների առբերման կատարումը զգալիորեն բարելավվել է՝ աջակցելով փաթեթների որոնմանը մի քանի զուգահեռ շղթաների մեջ «pub get» հրամանը կատարելիս, ինչպես նաև ծույլ նախնական կոմպիլյացիա՝ «Pub.»-ի կատարման ժամանակ: pub run» հրամանը։ Flutter-ի վրա հիմնված նոր նախագծի համար «pub get» հրամանի փորձարկումը ցույց տվեց շահագործման ժամանակի նվազում 6.5-ից մինչև 2.5 վայրկյան, իսկ ավելի մեծ ծրագրերի համար, ինչպիսիք են Flutter պատկերասրահը, 15-ից մինչև 3 վայրկյան:
  • Ավելացվեց նոր «pub հնացած» հրաման՝ տեղադրված փաթեթներից բոլոր կախվածությունները թարմացնելու համար: Օգտագործելով «pub հնացած» հրամանը, դուք կարող եք գնահատել, առանց pubspec ֆայլում փոփոխություններ կատարելու, արդյոք կան բոլոր կախվածությունների նոր հիմնական տարբերակները, որոնք կապված են նշված փաթեթի հետ: Ի տարբերություն «pub upgrade»-ի՝ նոր հրամանը ստուգում է ոչ միայն pubspec-ին համապատասխան տարբերակները, այլև ավելի նոր ճյուղերը։ Օրինակ՝ «foo: ^1.3.0» և «bar: ^2.0.0» կապակցված կախվածություններ ունեցող փաթեթի համար «pub-ը հնացած» գործարկելը ցույց կտա ինչպես հասանելի մասնաճյուղերի, այնպես էլ ավելի նոր մասնաճյուղերի առկայությունը.

    Կախվածություններ Ընթացիկ բարելավվող լուծելի Վերջին
    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

Dart լեզվի առանձնահատկությունները.

  • Ծանոթ և հեշտ սովորվող շարահյուսություն, բնական JavaScript, C և Java ծրագրավորողների համար:
  • Արագ գործարկում և բարձր կատարողականության ապահովում բոլոր ժամանակակից վեբ բրաուզերների և տարբեր տեսակի միջավայրերի համար՝ շարժական սարքերից մինչև հզոր սերվերներ.
  • Դասեր և ինտերֆեյսներ սահմանելու ունակություն, որոնք թույլ են տալիս ներառել և վերօգտագործել գոյություն ունեցող մեթոդներն ու տվյալները.
  • Տիպերի հստակեցումը հեշտացնում է վրիպազերծումը և սխալների հայտնաբերումը, ծածկագիրը դարձնում է ավելի պարզ և ընթեռնելի, ինչպես նաև հեշտացնում է դրա փոփոխությունն ու վերլուծությունը երրորդ կողմի մշակողների կողմից:
  • Աջակցվող տեսակները ներառում են՝ տարբեր տեսակի հեշեր, զանգվածներ և ցուցակներ, հերթեր, թվային և տողերի տեսակներ, ամսաթվի և ժամի որոշման տեսակներ, կանոնավոր արտահայտություններ (RegExp): Միգուցե ստեղծելով ձեր սեփականը տեսակներ;
  • Զուգահեռ կատարումը կազմակերպելու համար առաջարկվում է օգտագործել isolate հատկանիշով դասեր, որոնց ծածկագիրը ամբողջությամբ կատարվում է մեկուսացված տարածքում առանձին հիշողության տարածքում՝ փոխազդելով հիմնական գործընթացի հետ՝ ուղարկելով հաղորդագրություններ.
  • Աջակցություն գրադարանների օգտագործմանը, որոնք հեշտացնում են մեծ վեբ նախագծերի աջակցությունն ու վրիպազերծումը: Երրորդ կողմի գործառույթների իրականացումը կարող է ներառվել ընդհանուր գրադարանների տեսքով: Հավելվածները կարելի է բաժանել մասերի և յուրաքանչյուր մասի մշակումը վստահել ծրագրավորողների առանձին թիմին;
  • Պատրաստի գործիքների մի շարք, որոնք աջակցում են Dart լեզվի զարգացմանը, ներառյալ դինամիկ մշակման և վրիպազերծման գործիքների ներդրումը կոդերի շտկումով («խմբագրել և շարունակել»);
  • Դարտ լեզվով զարգացումը պարզեցնելու համար այն գալիս է SDK, փաթեթի կառավարիչ գինետուն, ստատիկ կոդի անալիզատոր dart_analyzer, գրադարանների հավաքածու, ինտեգրված զարգացման միջավայր DartPad և Dart-ով միացված պլագիններ համար IntelliJ IDEA, WebStorm, Emacs, Ներկայացված տեքստ 2 и եռանդ;
  • Գրադարաններով և կոմունալ ծառայություններով լրացուցիչ փաթեթներ բաշխվում են պահեստի միջոցով գինետուն, որն ունի ավելի քան 10 հազար փաթեթ։

Source: opennet.ru

Добавить комментарий