U publikua standardi WebAssembly 3.0

Konsorciumi W3C shpalli gatishmërinë e specifikacionit që standardizon kodi ndërmjetës WebAssembly 3.0 dhe API-së përkatëse, duke lejuar krijimin e aplikacioneve me performancë të lartë, të transferueshme ndërmjet shfletuesve dhe platformave harduerike. WebAssembly ofron një kod të ulët ndërmjetës, të pavarur nga shfletuesi, për ekzekutimin e aplikacioneve të kompiluara nga gjuhë të ndryshme programimi.

Teknologjia WebAssembly mund të përdoret për të ekzekutuar në shfletues detyra që kërkojnë performancë të lartë, të tilla si kodimi i videove, përpunimi i zërit, manipulimi i grafikës dhe 3D, zhvillimi i lojërave, operacioneve kriptografike dhe llogaritjeve matematikore përmes organizimit të ekzekutimit në shfletues të kodit të shkruar në gjuhë të kompilueshme, si C/C++. Nëpërmjet angazhimit JIT për WebAssembly, mund të arrihet një nivel performance të afërt me kodin natyror.

Mes qëllimeve kryesore të WebAssembly është sigurimi i transferueshmërisë, parashikueshmërisë së sjelljes dhe identitetit të ekzekutimit të kodit në platforma të ndryshme. WebAssembly nuk kufizohet vetëm në shfletuesit dhe promovohet gjithashtu si një platformë universale për ekzekutimin e sigurt të kodit në çdo infrastrukturë, sistem operativ dhe pajisje.

Specifikimet e mëposhtme janë në dispozicion:

  • WebAssembly Core — pĂ«rshkruan njĂ« makinĂ« virtuale tĂ« ulĂ«t pĂ«r ekzekutimin e kodit ndĂ«rmjetĂ«s WebAssembly. Burimet e lidhura me WebAssembly ofrohen nĂ« formatin ".wasm", tĂ« ngjashĂ«m me skedarĂ«t " .class" nĂ« Java dhe pĂ«rmbajnĂ« tĂ« dhĂ«na statike dhe segmente kodi pĂ«r tĂ« punuar me kĂ«to tĂ« dhĂ«na.
  • WebAssembly JavaScript API — ofron njĂ« API pĂ«r integrim me JavaScript. Lejon marrjen e vlerave dhe kalimin e parametra nĂ« funksionet WebAssembly. Ekzekutimi i WebAssembly pĂ«rputhet me modelin e sigurisĂ« sĂ« JavaScript dhe e gjithĂ« ndĂ«rveprimi me sistemin kryesor realizohet nĂ« mĂ«nyrĂ« tĂ« ngjashme me ekzekutimin e kodit JavaScript.
  • WebAssembly Web API — pĂ«rcakton njĂ« ndĂ«rfaqe programore tĂ« bazuar nĂ« mekanizmin Promesa pĂ«r kĂ«rkimin dhe ekzekutimin e burimeve ".wasm". Formati i burimeve WebAssembly Ă«shtĂ« optimizuar pĂ«r fillimin e ekzekutimit, pa pritur ngarkimin e plotĂ« tĂ« skedarit, duke rritur kĂ«shtu reagueshmĂ«rinĂ« e aplikacioneve web.
  • WASI API — pĂ«rcakton njĂ« ndĂ«rfaqe sistemore modulare pĂ«r ekzekutimin e WebAssembly jashtĂ« shfletuesve dhe ofron qasje nĂ« burime tĂ« tilla si skedarĂ«t, lidhjet rrjetĂ«rore, gjeneratorĂ«t e numrave rastĂ«sorĂ« dhe orĂ«t sistemore.

Vërehet se në versionin e ri të standardit është përmirësuar ndjeshëm mbështetje e kompilimit në WebAssembly të gjuhëve të nivelit të lartë. Për shembull, është realizuar mundësia e kompilimit në WebAssembly projektet e shkruara në gjuhët Java, OCaml, Scala, Kotlin, Scheme dhe Dart. Ndryshimet kryesore në WebAssembly 3.0, në krahasim me versionin e dytë të standardit:

  • ËshtĂ« realizuar mbĂ«shtetje pĂ«r hapĂ«sirĂ«n adresuese 64 bit. Tani pĂ«r adresimin e memories mund tĂ« pĂ«rdoret lloji i64, jo vetĂ«m i32, çka zgjeron hapĂ«sirĂ«n adresuese tĂ« disponueshme pĂ«r aplikacione nga 4 GB nĂ« 16 EB (nĂ« ekzekutimin nĂ« shfletues Ă«shtĂ« vendosur njĂ« kufizim prej 16 GB).
  • ËshtĂ« ofruar mundĂ«sia pĂ«r pĂ«rdorimin e disa objekteve memories nĂ« njĂ« moduli WebAssembly dhe pĂ«r punĂ« me hapĂ«sira tĂ« ndryshme adresimi. NdĂ«r tĂ« tjera, Ă«shtĂ« e mundur kopjimi i tĂ« dhĂ«nave midis instancave tĂ« ndryshme tĂ« objekteve memories, tĂ« vendosura nĂ« hapĂ«sira tĂ« ndryshme adresimi.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r mbledhjen e plehrave. PĂ«rveç memories lineare tĂ« disponueshme mĂ« parĂ«, Ă«shtĂ« ofruar njĂ« lloj i veçantĂ« magazinimi, i menaxhuar automatikisht me anĂ« tĂ« mbledhĂ«sit tĂ« plehrave. Kompilatori tani mund tĂ« pĂ«rdorĂ« struktura tĂ« veçanta tĂ« tĂ« dhĂ«nave, masa dhe variabla, pĂ«r tĂ« cilat menaxhimi i memories dhe i ciklit tĂ« jetĂ«s Ă«shtĂ« pĂ«rgjegjĂ«s WebAssembly.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r referencat e tipizuara, tĂ« cilat mund tĂ« pĂ«rshkruajnĂ« strukturĂ«n e saktĂ« tĂ« vlerĂ«s, ndaj tĂ« cilĂ«s referenca tregon, duke shmangur kĂ«shtu verifikimet shtesĂ« gjatĂ« ekzekutimit. MbĂ«shteten nĂ«n-tipi, recursioni e tipeve dhe mundĂ«sia e pĂ«rdorimit tĂ« sigurt tĂ« referencave nĂ« funksione, pa pasur nevojĂ« pĂ«r verifikim tĂ« tipeve dhe kufijve gjatĂ« ekzekutimit.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r thirrjet e bishtit (Tail call), kur funksioni aktual pĂ«rfundon menjĂ«herĂ« pas thirrjes sĂ« njĂ« funksioni tjetĂ«r, pa harxhuar hapĂ«sirĂ« nĂ« stack.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r trajtimin e pĂ«rjashtimeve.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r instrukcionet SIMD tĂ« "relaksuar", tĂ« cilat lejojnĂ« arritjen e njĂ« performancĂ« mĂ« tĂ« lartĂ« pĂ«rmes heqjes sĂ« mbikĂ«qyrjes strikte tĂ« semantikĂ«s nĂ« tĂ« gjitha platforma harduerike.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r profilin deterministik tĂ« ekzekutimit, i cili pĂ«rcakton njĂ« sjellje tĂ« pavarur nga platforma aktuale pĂ«r instruksionet, rezultatet e ekzekutimit tĂ« tĂ« cilave mund tĂ« ndryshojnĂ« nĂ« platforma tĂ« ndryshme (operacionet me pikĂ« flutuese, kthimi i vlerĂ«s NaN, instruksionet e dobĂ«suara vektoriale). Kur zgjidhet ky profil, Wasm siguron sjellje deterministe, riprodhueshmĂ«ri dhe transportueshmĂ«ri.
  • ËshtĂ« shtuar sintaksa pĂ«r tĂ« krijuar annotime tĂ« personalizuara, duke lejuar bashkimin e informacionit shtesĂ« me kodin WebAssembly. MĂ« parĂ«, mbĂ«shtetje pĂ«r seksione tĂ« personalizuara, qĂ« lejojnĂ« ruajtjen e informacionit tĂ« rastĂ«sishĂ«m, ekzistonte nĂ« formatin binar tĂ« WebAssembly, por mungonte nĂ« formatin tekstual tĂ« WebAssembly. Tani ka mundĂ«si tĂ« shtohet ky informacion nĂ« njĂ« formĂ« tĂ« lexueshme dhe tĂ« redaktueshme.
  • NĂ« API-nĂ« JavaScript janĂ« shtuar funksione tĂ« ndĂ«rtuara pĂ«r punĂ«n me strings. MĂ« parĂ«, strings e JavaScript mund tĂ« kaloheshin nĂ« WebAssembly vetĂ«m si referenca tĂ« jashtme, ndĂ«rsa tani mund tĂ« referoheni direkt nĂ« strings dhe tĂ« manipuloni ato brenda WebAssembly.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster