Dart 2.15 programming language and Flutter 2.8 compage available

Google emissionem lingua programmandi Dart 2.15 edidit, quae evolutionem rami Dart funditus resignatam pergit, quae ab originali versione linguae Dart a usu validorum typingum statice differt (typa automatice inferri possunt, ut specierum specificatio non est necessaria, sed typing dynamica non diutius adhibita est et initio typum computatum tribuitur variabili et stricto typo iniecta postea applicata).

Lineamenta linguae iaculi:

  • Nota et facilis ad discendum syntaxin, naturalis pro JavaScript, C et Java programmatoribus.
  • Ieiunium prospiciendum et altum faciendum pro omnibus modernis navigatoribus et variis ambitus generibus, a machinationibus portabilibus ad potentes ministrantibus.
  • Facultas definiendi classes et interfaces quae encapsulation et reuse rationum et notitiarum exsistentium admittunt.
  • Species specificae faciliorem reddit errores debug et cognoscere, codicem clariorem et faciliorem reddit, eius modificationem et analysim simpliciorem facit per tincidunt tertia pars.
  • Genera suffulta sunt: ​​varia genera hashes, vestium et tabularum, queues, genera numerorum et chordarum, genera determinandi tempus et tempus, expressiones regulares (RegExp). Possibile est rationes suas creare.
  • Ad executionem parallelam ordinandam, proponitur classes uti cum attributo separato, cuius codicem totum in spatio separato in spatio memoriae separato conficitur, cum processu principali nuntiis missis mutuo occurrat.
  • Support ad usum bibliothecarum simpliciorem sustentationem et debugging magnarum interretialium inceptis. Tertia-pars exsecutiones functionum sub forma bibliothecarum communium comprehendi possunt. Applicationes in partes dividi possunt et uniuscuiusque partis progressum singulis programmatibus iunctum committere.
  • Copia instrumentorum praeparatorum ad evolutionem in lingua dart sustentanda, inclusa exsequenda evolutionis dynamicae et debugging instrumentorum cum codice correctionis in musca ("edit-and-continue").
  • Ad simpliciorem progressionem in lingua Dart, venit cum SDK, involucrum moderatoris publici, codicem statice analysoris dart_analyzer, tabularum bibliothecarum, integrae progressionis ambitus DartPad et Dart-enabled plugins for IntelliJ Idea, WebStorm, Emacs, Sublime Text II et Vim.
  • Additi fasciculi cum bibliothecis et utilitatibus per repositio publica distribuuntur, quae circiter 22 milia fasciculorum habet.

Maiores mutationes in Dart 2.15 emissio:

  • Instrumenta praebet ad ieiunium officiorum parallelam exsecutionem cum tracto solitario. In systematis multi-core, telum runtime per default decurrit ad applicationem code in unum nucleum CPU et aliis nucleis utitur ad munia systematis exercenda sicut asynchronum I/O, scribens ad lima, vel retis vocat. Ad applicationes quae in parallelis tractatoribus suis exsequuntur, exempli gratia, ut animationem in interface reddant, fieri potest ut singulas caudices codicis (separati), ab invicem segregati et in aliis CPU coros simul cum applicatione filo principali efficiantur. . Tueri contra errores qui oriuntur cum simultanea exsecutio Codicis cum eodem statuto notitiarum operantium, communicatio rerum mutabilium in diversis caudicis solitariis prohibetur, et exemplar pro- cedentis pro commercio inter tracto adhibetur.

    Iaculum 2.15 novam notionem - globorum clausorum solitariam (coetus separatorum) inducit, qui te permittit ut accessum ad varias internas notitiarum structuras communicatas includas, quae pars eiusdem coetus sunt, quae signanter supra caput minuere possunt, cum inter tracto in coetu inter se occurrunt. . Exempli gratia, deductis additis clausus separatus in coetus exsistentis ocior octies est et memoriam minus 100-10 pluries requirit quam impedimentum separatum separatum, propter amotionem necessitatis ad structuras programmatis initializes datas.

    Quamvis quod impedimenta in coetus segregant, accessum ad res mutabiles communes adhuc prohibent, coetus memoriam communem acervum adhibent, qui signanter accelerare potest translationem obiecti ab uno stipite in alium sine necessitate ad operationes intensivae exemplaris operandi. Nova versio etiam sinit te eventum tracti transire cum Isolate.exit() notitias ad parentem clausuram solitariam sine operationibus describendis transferre. Praeterea nuntius mechanismus transmissionis optimized est - nuntii parvi et medii nunc circiter ocius octies discesserunt. Objecta quae inter isolatas utentes SendPort.send() vocant, includunt nonnulla genera functionum, clausuras, et vestigia acervi includunt.

  • In instrumentis monstratoribus creandis ad functiones singulas in aliis obiectis (discerpendis), restrictiones in creandis similibus indicibus in codice constructoris remoti sunt, quae utiles esse possunt cum interfacies aedificandi in bibliotheca Flutter fundata sunt. Exempli gratia, creare columnam contentam quae multiplex Textus contenta includit, ".map()" vocare potes et monstras transire ad text. novum fabricatorem Textus objecti: genus FruitWidget extendit StatelessWidget {@override Widget build(BuildContext context) {Columna(natorum: Apple', 'Orange'].map(Text.new).toList()); } }
  • Facultates consociatae cum indicibus functionis usui ampliati sunt. Facultatem addidit methodis genericis et functionibus uti indicibus ad methodum ac monstratorem non genericum creandum: T id (T valorem) => valorem; var intId = id ; // licet in versione 2.15 loco "int Function(int) intId = id"; const fo = id; // monstratorem munus id. Const c1 = fo* ;
  • Iaculum: core bibliotheca subsidia pro enums emendavit, exempli gratia, nunc valorem filum ex utroque valore enum uti ".name" modum, eligere valores nominatim vel aequare valores: enum MyEnum {unum; duo, tres } main() { print(MyEnum.one.name); // "one" will be printed. print(MyEnum.values.byName('duo') == MyEnum.two); // "verum" typis erit. final map = MyEnum.values.asNameMap(); print(map['tres'] == MyEnum.three); // Β«verusΒ». }
  • Artificium monstratorem compressionis ad effectum adductum est, quod permittit usum repraesentationis densioris in ambitus 64-bitorum, si spatium 32 frenum inscriptionis sufficit ad appellandum (non plus quam 4 GB memoriae adhibetur). Expertus ostendimus talem optimam rationem efficere posse ut acervus ad quantitatem proxime 10% minuendam. In Flutter SDK, novus modus Android per defaltam iam datus est et cogitavit ut iOS in futura emissione possit efficere.
  • Telum SDK instrumenta includit ad analysis debugging et perficiendi (DevTools), quae antea in sarcina separato suppeditabantur.
  • Instrumenta ad mandatum "iaculae pub" additae sunt ac repositoria involucrum pub.dev ut indagamus evulgationem accidentalem secretioris informationis, exempli gratia, documentorum relinquens systemata continua et ambitus nubis intra sarcinam. Si huiusmodi pinum deteguntur, exsecutio mandati "iculi pub publici" errori nuntio interpellabitur. Si positivum falsum erat, per album album praeterire potest.
  • Facultas revocandi versionem sarcinae iam editam in repositorio pub.dev additam est, exempli gratia, si periculosi errores vel vulnerabilitates detegantur. Antea, pro talibus correctionibus, usus erat versionem emendatricem evulgare, sed in quibusdam adiunctis necesse est ut remissionem et instantiam remittant quae ulteriorem distributionem suam dimittunt (exempli gratia, si correctio nondum parata erat vel plena dimissio erat. editum per errorem pro versionis test). Post revocationem, sarcina non amplius in "pub adepto" et "pub upgrade" imperata, et in systemata quae iam inauguratus est, peculiaris admonitio proximo tempore "pub adepto" supplicium est.
  • Tutela addita contra vulnerabilitatem (CVE-2021-22567) adhibitis characteribus unicodes in codice causatis ordinem ostensionis mutantibus.
  • Certum vulnerabilitatem (CVE-2021-22568) permittit ut alius pub.dev usor impersonare te permittat cum fasciculos ad tertiam factionis servientis accessum signa pub.dev oauth2 acceptat. Exempli gratia, vulnerabilitas ad sarcinam internam et corporatum ministrantium oppugnandas adhiberi potuit. Tincidunt qui tantum fasciculi hospites in pub.dev hac re non afficiuntur.

Eodem tempore notabilis emissio interfaciendi usoris interfaciendi Volitantem 2.8 praesentabatur, quae jocus censetur ad React Nativum et permittit, in uno basi codice, applicationes dimittere pro iOS, Android, Windows, macOS et Linux suggesta, necnon applicationes ad currendum in navigatoribus creandis. Consuetudo testarum pro Fuchsia microkernel systematis operandi a Google explicatum aedificatum est in fundamento Flutter. Notatum est sex menses supra numerum 2 applicationum Flutter in Google Play Store auctum esse ab CC milibus ad CCCLXXV milia, i.e. fere bis.

Praecipua pars Codicis Flutter in lingua Derte adducitur, et instrumentum runtime ad applicationes capiendas in C++ scripta est. Cum applicationes enucleares, praeter linguam volitantem dart nativam, interfacies externas functionis uti potes ad signum C/C++ vocare. Excelsa exsecutio exsecutionis obtinetur adhibitis componendis ad tabulatum codicem indigenum pro scopis. In hoc casu, programma recompilari post quamlibet mutationem non indiget - Dart praebet modum calidum reload, qui permittit ut mutationes in applicatione currenti et statim exitum perpendas.

Inter mutationes in nova emissione Flutter, optimizatio celeritatis launches et memoria consumptio in mobilibus machinis notatur. Facilius est ad applamenta coniungere ut operas retrahendas ut Firebase et Google Cloud. Instrumenta integrationis cum Google Ads confirmatae sunt. Firmamentum camerae et plugins interreti significanter emendatus est. Nova instrumenta ad simpliciorem progressionem proposita sunt, exempli gratia, contenta addita sunt ad authenticas utens Firebase. Flamma machina, ad ludos explicandos 2D ludos utens Flutter disposito, renovata est.

Source: opennet.ru