Disponohen gjuha Dart 2.14 dhe framework-u Flutter 2.5

Kompania Google publikoi versionin e ri të gjuhës së programimit Dart 2.14, e cila vazhdon zhvillimin e degës së rishikuar të Dart 2, e cila ndryshon nga varianti origjinal i gjuhës Dart me implementimin e tipizimit të fortë statik (tipet mund të nxirren automatikisht, prandaj tregimi i tipeve nuk është i detyrueshëm, por tipizimi dinamik nuk përdoret më dhe tipi fillestar i llogaritur lidhet me variablin dhe më pas aplikohet një kontroll rigoroz i tipit).

Karakteristikat e gjuhës Dart:

  • SintaksĂ« e njohur dhe e thjeshtĂ« pĂ«r t'u mĂ«suar, natyrale pĂ«r programuesit nĂ« JavaScript, C dhe Java.
  • Sigurimi i nisjes sĂ« shpejtĂ« dhe performancĂ«s sĂ« lartĂ« pĂ«r tĂ« gjithĂ« shfletuesit modernĂ« dhe llojet e ndryshme tĂ« ambientit, nga pajisjet portative deri te ato tĂ« fuqishme. servera.
  • MundĂ«sia pĂ«r tĂ« pĂ«rcaktuar klasa dhe interface, duke lejuar pĂ«rdorimin e kapsulimit dhe rikthimin e metodave dhe tĂ« dhĂ«nave ekzistuese.
  • PĂ«rcaktimi i tipeve ndihmon nĂ« lehtĂ«simin e debugging-ut dhe identifikimin e gabimeve, e bĂ«n kodin mĂ« tĂ« qartĂ« dhe mĂ« tĂ« lexueshĂ«m, e lehtĂ«son pĂ«rmirĂ«simin dhe analizĂ«n nga zhvillues tĂ« tjerĂ«.
  • Mes tipeve tĂ« mbĂ«shtetura janĂ«: lloje tĂ« ndryshme hash-e, arrays dhe lista, radhĂ«, tipet numerike dhe string, tipet pĂ«r pĂ«rcaktimin e datĂ«s dhe orĂ«s, shprehjet e rregullta (RegExp). Ka mundĂ«si pĂ«r tĂ« krijuar llojet e tua.
  • PĂ«r organizimin e ekzekutimit paralel, propozohet pĂ«rdorimi i klasave me atributin isolate, ku kodi ekzekutohet plotĂ«sisht nĂ« njĂ« hapĂ«sirĂ« tĂ« izoluar nĂ« njĂ« zonĂ« tĂ« veçantĂ« memorie, duke ndĂ«rvepruar me procesin kryesor pĂ«rmes dĂ«rgimit tĂ« mesazheve.
  • MbĂ«shtetje pĂ«r pĂ«rdorimin e biblioteka qĂ« lehtĂ«sojnĂ« mbĂ«shtetje dhe debugging tĂ« projekteve tĂ« mĂ«dha web. Zhvillime tĂ« jashtme funksionesh mund tĂ« lidhen si biblioteka tĂ« ndara. Aplikacionet mund tĂ« copĂ«tohen nĂ« pjesĂ« dhe caktimi i zhvillimit tĂ« çdo pjese mund t'i jepet njĂ« ekipi tĂ« veçantĂ« programuesish.
  • NjĂ« grup mjetesh tĂ« gatshme pĂ«r mbĂ«shtetje zhvillimi nĂ« gjuhĂ«n Dart, duke pĂ«rfshirĂ« implementimin e mjeteve pĂ«r zhvillim dinamik dhe debugging me korrigjimin e kodit nĂ« fluks (‘edit-and-continue’).
  • PĂ«r lehtĂ«simin e zhvillimit nĂ« gjuhĂ«n Dart vjen njĂ« SDK, njĂ« menaxher paketash pub, njĂ« analizues statik kodi dart_analyzer, njĂ« grup bibliotekash, mjedisi i integruar i zhvillimit DartPad dhe plugin-e qĂ« mbĂ«shtesin Dart pĂ«r IntelliJ IDEA, WebStorm, Emacs, Sublime Text 2 dhe Vim.
  • Pakete shtesĂ« me biblioteka dhe mjete shpĂ«rndahen pĂ«rmes repozitorit pub, i cili pĂ«rmban mĂ« shumĂ« se 20 mijĂ« paketa.

Ndryshimet kryesore në lëshimin e Dart 2.14:

  • Shtohet operatori i ri i zgjatimit tĂ« trefishtĂ« (>>>), i cili, ndryshe nga operatori «>>», kryen njĂ« zgjatim logjik dhe jo aritmetik, duke funksionuar pa marrĂ« parasysh bitin nĂ«nshkrues (zgjatimi bĂ«het pa ndarjen nĂ« numra pozitivĂ« dhe negativĂ«).
  • U hiqet kufizimi mbi argumentet e tipeve, i cili nuk lejonte pĂ«rdorimin e tipeve tĂ« pĂ«rgjithshĂ«m tĂ« funksioneve si argument me tip. PĂ«r shembull, tani mund tĂ« tregoni: late List<T Function(T)> idFunctions; var callback = [(T value) => value]; late S Function<S extends T Function(T)>(S) f;
  • Lejohet tregimi i argumenteve me tipe nĂ« annotacione si @Deprecated. PĂ«r shembull, tani mund tĂ« tregoni: @TypeHelper(42, «Kuptimi»)
  • NĂ« bibliotekĂ«n standarde (core), nĂ« klasĂ«n Object janĂ« shtuar metodat statike hash, hashAll dhe hashAllUnordered. NĂ« klasĂ«n DateTime Ă«shtĂ« pĂ«rmirĂ«suar trajtimi i kohĂ«s lokale gjatĂ« kalimit tĂ« orĂ«ve ndĂ«rmjet verĂ«s dhe dimrit qĂ« nuk janĂ« shumĂ« herĂ« njĂ« orĂ« (p.sh., nĂ« Australi pĂ«rdoret tĂ«rheqja prej 30 minutash). NĂ« paketĂ«n ffi Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r mekanizmin e alokimit tĂ« memories arena, e cila çliron automatikisht burimet. NĂ« paketĂ«n ffigen Ă«shtĂ« shtuar mundĂ«sia e gjenerimit tĂ« definimeve tĂ« typedef-eve tĂ« tipeve Dart nga gjuha C.
  • 250 paketat mĂ« tĂ« njohura nga repozitori pub.dev dhe 94% e top-1000 janĂ« transformuar pĂ«r tĂ« pĂ«rdorur modalitetin e sigurt pĂ«r vlerĂ«n 'Null' (sigurisht), i cili do t’i ndihmojĂ« tĂ« shmangin krasitjet qĂ« shkaktohen nga pĂ«rpjekja pĂ«r tĂ« pĂ«rdorur variablat, vlera e tĂ« cilĂ«ve nuk Ă«shtĂ« e pĂ«rcaktuar dhe Ă«shtĂ« vendosur nĂ« 'Null'. Modaliteti parashikon qĂ« variablat nuk mund tĂ« kenĂ« vlera tĂ« papĂ«rcaktuara, nĂ«se atyre nuk u jepet shprehimisht vlera null. NĂ« modalitetin e rreptĂ«, janĂ« tĂ« dhĂ«na llogaritĂ«se tĂ« tipit, qĂ« lejon kompiluesin tĂ« aplikojĂ« optimizime tĂ« tjera. PĂ«rputhshmĂ«ria e tipeve kontrollohet nĂ« fazĂ«n e kompilimit, p.sh., nĂ« rastin e njĂ« pĂ«rpjekjeje pĂ«r tĂ« caktuar vlerĂ«n 'Null' njĂ« varianti me tip tĂ« cilin nuk e parashikon njĂ« qĂ«ndrim tĂ« papĂ«rcaktuar, si 'int', do tĂ« del njĂ« gabim.
  • JanĂ« propozuar grupe tĂ« unifikuara rregullash pĂ«r analizuesin e kodit (linter), tĂ« cilat sigurojnĂ« mbĂ«shtetje tĂ« njĂ«kohshme pĂ«r kontrollin e pĂ«rputhshmĂ«risĂ« sĂ« rekomandimeve pĂ«r stilin e kodit pĂ«r Dart dhe framework-un Flutter. PĂ«r arsye historike, rregullat e stilit tĂ« kodit pĂ«r Flutter dhe Dart kanĂ« qenĂ« tĂ« ndryshme, pĂ«r mĂ« tepĂ«r pĂ«r Dart ishin nĂ« pĂ«rdorim dy grupe rregullash — ato pedante nga Google dhe rregullat e komunitetit tĂ« zhvilluesve Dart. NĂ« Dart 2.14 Ă«shtĂ« paraqitur njĂ« grup i ri i zakonshĂ«m rregullash pĂ«r linter-in, i cili Ă«shtĂ« vendosur tĂ« aplikohet si standard nĂ« projektet e reja Dart dhe nĂ« Flutter SDK. Grupi pĂ«rfshin rregulla tĂ« bazuara (paketi lints/core.yaml), rregulla shtesĂ« tĂ« rekomanduara (lints/recommended.yaml) dhe rekomandime specifike pĂ«r Flutter (flutter_lints/flutter.yaml). PĂ«rdoruesve tĂ« rregullave pedante u rekomandohet tĂ« kalojnĂ« nĂ« stilin e ri tĂ« kodimit, tĂ« bazuar nĂ« rekomandimet e dokumentacionit Dart.
  • NĂ« formatter janĂ« bĂ«rĂ« optimizime nĂ« formatimin e blloqeve tĂ« kodit tĂ« kaskadĂ«s, duke lejuar njĂ« pĂ«rmirĂ«sim tĂ« dukshĂ«m tĂ« performancĂ«s sĂ« formatimit dhe duke shmangur interpretimin e paqartĂ« tĂ« pĂ«rkatĂ«sisĂ« sĂ« elementeve tĂ« shprehjes. PĂ«r shembull, thirrja «..doIt» nĂ« shprehjen «var result = errorState ? foo : bad..doIt()» i referohet jo pjesĂ«s kushtore tĂ« bllokut «bad» por gjithĂ« shprehjes, prandaj gjatĂ« formatimit tani ndahen: var result = errorState ? foo : bad ..doIt();
  • NĂ« SDK Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r procesorĂ«t Apple M1 (Silicon), duke pĂ«rfshirĂ« mundĂ«sinĂ« e ekzekutimit tĂ« Dart VM, mjeteve dhe komponenteve tĂ« SDK nĂ« sisteme me procesor Apple Silicon, si dhe mbĂ«shtetje pĂ«r kompilimin e skedave ekzekutiv pĂ«r kĂ«to çipe.
  • NĂ« komandĂ«n «dart pub» Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r skedarin e ri shĂ«rbim «.pubignore», i cili lejon pĂ«rcaktimin e njĂ« listen tĂ« skedarĂ«ve qĂ« do tĂ« injorohen gjatĂ« publikimit tĂ« paketĂ«s nĂ« repozitorin pub.dev. CilĂ«simet e caktuara nuk pĂ«rputhen me listĂ«n e injorimit «.gitignore» (nĂ« disa raste nĂ« pub.dev kĂ«rkohet qĂ« tĂ« mos dĂ«rgohen skedarĂ« qĂ« janĂ« tĂ« nevojshĂ«m nĂ« Git, pĂ«r shembull, skenaret e brendshme tĂ« pĂ«rdorura gjatĂ« zhvillimit).
  • ËshtĂ« bĂ«rĂ« punĂ« pĂ«r tĂ« rritur performancĂ«n e ekipit "dart test", i cili tani nuk kĂ«rkon kompilim tĂ« pĂ«rsĂ«ritur tĂ« testeve pas ndryshimit tĂ« pubspec, nĂ«se numri i versionit nuk Ă«shtĂ« ndryshuar.
  • ÄshtĂ« ndĂ«rprerĂ« mbĂ«shtetja pĂ«r kompilim nĂ« modin pĂ«rshtatshmĂ«risĂ« me ECMAScript 5 (ndryshimi do tĂ« çojĂ« nĂ« humbjen e mbĂ«shtetjes pĂ«r shfletuesin IE11).
  • JanĂ« shpallur tĂ« vjetra disa utilitete tĂ« veçanta stagehand, dartfmt dhe dart2native, tĂ« cilat janĂ« zĂ«vendĂ«suar nga komanda tĂ« ndĂ«rtuara, tĂ« thirrura pĂ«rmes utilitetit dart.
  • ËshtĂ« kaluar nĂ« kategorinĂ« e vjetra mekanizmi VM Native Extensions. PĂ«r thirrjen e kodit natyror nga kodi nĂ« gjuhĂ«n Dart rekomandohet pĂ«rdorimi i interfesĂ«s sĂ« re Dart FFI (Foreign Function Interface).

Njëherësh është prezantuar një version i rëndësishëm i kornizës për ndërtimin e ndërfaqeve të përdoruesit Flutter 2.5, i cili konsiderohet si një alternativë për React Native dhe lejon lëshimin e aplikacioneve për platformat iOS, Android, Windows, macOS dhe Linux nga një bazë e vetme koduese, si dhe krijimin e aplikacioneve për të drejtuar në shfletues. Flutter është baza për ndërfaqen e përdoruesit të sistemit operativ mikro-fshikë i zhvilluar nga Google, Fuchsia.

Pjesa kryesore e kodit Flutter Ă«shtĂ« realizuar nĂ« gjuhĂ«n Dart, ndĂ«rsa motori runtime pĂ«r ekzekutimin e aplikacioneve Ă«shtĂ« shkruar nĂ« C++. NĂ« zhvillimin e aplikacioneve, pĂ«rveç gjuhĂ«s Dart, qĂ« Ă«shtĂ« natyrale pĂ«r Flutter, mund tĂ« pĂ«rdoret ndĂ«rfaqja Dart Foreign Function pĂ«r tĂ« thirrur kod nĂ« C/C++. Performanca e lartĂ« e ekzekutimit arrihet pĂ«rmes kompilimit tĂ« aplikacioneve nĂ« kod makinor pĂ«r platformat e synuara. NĂ« tĂ« njĂ«jtĂ«n kohĂ«, programi nuk ka nevojĂ« tĂ« rikompilohet pas çdo ndryshimi — Dart ofron njĂ« mod tĂ« ngarkesĂ«s sĂ« nxehtĂ«, qĂ« lejon tĂ« bĂ«hen ndryshime nĂ« aplikacionin nĂ« punĂ« dhe tĂ« vlerĂ«sohet menjĂ«herĂ« rezultati.

Ndryshimet kryesore në Flutter 2.5:

  • JanĂ« bĂ«rĂ« optimizime tĂ« rĂ«ndĂ«sishme tĂ« performancĂ«s. NĂ« platformat iOS dhe macOS Ă«shtĂ« realizuar para-kompilimi i shenjuesve pĂ«r API-nĂ« grafike Metal. ËshtĂ« rritur efikasiteti i pĂ«rpunimit tĂ« ngjarjeve asinkrone. ËshtĂ« zgjidhur problemi me vonesat gjatĂ« lirimit tĂ« memories nga mbledhĂ«si i plehĂ«rave pĂ«r imazhet e pakĂ«naqura (p.sh., gjatĂ« riprodhimit tĂ« njĂ« GIF-i animuar tĂ« gjatĂ« 20 sekondash, numri i operacioneve tĂ« mbledhjes sĂ« plehĂ«rave Ă«shtĂ« zvogĂ«luar nga 400 nĂ« 4. DĂ«mtohen vonesat me deri nĂ« 50% gjatĂ« transmetimit tĂ« mesazheve midis Dart dhe Objective-C/Swift (iOS) ose Java/Kotlin (Android). ËshtĂ« shtuar mbĂ«shtetja pĂ«r ndĂ«rtimin natyror pĂ«r sistemet e bazuara nĂ« çipin Apple Silicon.
    Disponohen gjuha Dart 2.14 dhe framework-u Flutter 2.5
  • PĂ«r platformĂ«n Android Ă«shtĂ« krijuar mbĂ«shtetje pĂ«r funksionimin e aplikacioneve nĂ« modalitetin me ekran tĂ« plotĂ«. ËshtĂ« vazhduar realizimi i konceptit tĂ« dizajnit "Material You", i paraqitur si njĂ« variant i Material Design-it tĂ« ardhshĂ«m. ËshtĂ« shtuar njĂ« gjendje e re MaterialState.scrolledUnder, Ă«shtĂ« realizuar njĂ« shfaqje dinamike e shiritave tĂ« rrotullimit gjatĂ« ndryshimit tĂ« madhĂ«sisĂ« dhe Ă«shtĂ« propozuar njĂ« ndĂ«rfaqe e re pĂ«r shfaqjen e bllokimeve me njoftime.
  • JanĂ« zgjeruar ndjeshĂ«m mundĂ«sitĂ« e plugin-it pĂ«r punĂ«n me kamerĂ«n, tĂ« cilat tani pĂ«rfshijnĂ« mjete pĂ«r menaxhimin e fokusit automatik, ekspozitĂ«s, flakĂ«s, zmadhuarjes, zbutjes sĂ« zhurmave dhe rezolutĂ«s.
  • JanĂ« pĂ«rmirĂ«suar mjetet pĂ«r zhvilluesit (DevTools), tĂ« cilat tani kanĂ« njĂ« modalitet tĂ« pĂ«rditĂ«suar inspektimi i widget-eve, si dhe janĂ« dhĂ«nĂ« mjete pĂ«r identifikimin e vonesave gjatĂ« vizatimit dhe ndjekjes sĂ« kompilimit tĂ« shenjuesve.
    Disponohen gjuha Dart 2.14 dhe framework-u Flutter 2.5
  • JanĂ« pĂ«rmirĂ«suar plugin-et pĂ«r Visual Studio Code dhe IntelliJ/Android Studio.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster