Standardi WebAssembly 3.0 është publikuar.

Konsorciumi W3C shpalli gatishmërinë e specifikacionit që standardizon kodin e ndërmjetëm WebAssembly 3.0 dhe API-në përkatëse, duke lejuar krijimin e aplikacioneve me performancë të lartë, të transportueshme midis shfletuesve dhe platformave harduerike. WebAssembly ofron një kod të ndërmjetëm universalisht të ulët që nuk varet nga shfletuesi për ekzekutimin e aplikacioneve, duke u compiluar nga gjuhë të ndryshme programimi.

Teknologjia WebAssembly mund të përdoret për të ekzekutuar në shfletues detyra që kërkojnë performancë të lartë, si kodimi i videos, përpunimi i zërit, manipulimi i grafikës dhe 3D, zhvillimi i lojërave, operacioneve kriptografike dhe llogaritjeve matematikore, duke organizuar ekzekutimin në shfletues të kodit të shkruar në gjuhë të kompilueshme si C/C++. Duke përdorur JIT për WebAssembly, mund të arrihet një nivel performancë afër kodit natyror.

Ndër detyrat kryesore të WebAssembly është të sigurojë transportueshmërinë, parashikueshmërinë e sjelljes dhe identitetin e ekzekutimit të kodit në platforma të ndryshme. WebAssembly nuk është e kufizuar vetëm në shfletues dhe po promovohesh gjithashtu si një platformë universale për ekzekutimin e sigurt të kodit në çdo infrastrukturë, sisteme operative dhe pajisje.

Specifikimet e mëposhtme janë të disponueshme:

  • WebAssembly Core — pĂ«rshkruan njĂ« makinĂ« virtuale tĂ« nivelit tĂ« ulĂ«t pĂ«r ekzekutimin e kodit tĂ« ndĂ«rmjetĂ«m WebAssembly. Burimet e lidhura me WebAssembly ofrohen nĂ« formatin ".wasm", i 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 integrimin me JavaScript. Lejon marrjen e vlerave dhe transferimin e parametrave nĂ« funksionet WebAssembly. Ekzekutimi i WebAssembly pĂ«rgjigjet modelit tĂ« sigurisĂ« sĂ« JavaScript dhe tĂ« gjitha ndĂ«rveprimet me sistemin kryesor realizohen nĂ« pĂ«rputhje me ekzekutimin e kodit JavaScript.
  • WebAssembly Web API — pĂ«rcakton njĂ« ndĂ«rfaqe programuese mbi mekanizmin e Promise 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 lejuar njĂ« pĂ«rmirĂ«sim tĂ« reagueshmĂ«risĂ« sĂ« aplikacioneve web.
  • WASI API — pĂ«rcakton njĂ« ndĂ«rfaqe modulare pĂ«r sistemin pĂ«r ekzekutimin e WebAssembly jashtĂ« shfletuesve dhe pĂ«r ofrimin e aksesit nĂ« burime si skedarĂ«t, lidhjet rrjet, gjeneratorin e numrave tĂ« rastĂ«sishĂ«m dhe orĂ«t sistemore.

Vërehet që në versionin e ri të standardit është përmirësuar në mënyrë të konsiderueshme mbështetja për kompilimin në WebAssembly të gjuhëve të larta. Për shembull, është realizuar mundësia e kompilimit në WebAssembly të projekteve në gjuhët Java, OCaml, Scala, Kotlin, Scheme dhe Dart. Ndryshimet kryesore në WebAssembly 3.0, krahasuar 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, e jo vetĂ«m i32, qĂ« zgjeron hapĂ«sirĂ«n adresuese tĂ« disponueshme pĂ«r aplikacione nga 4 GB nĂ« 16 EB (nĂ« shfletues Ă«shtĂ« vendosur njĂ« kufizim prej 16 GB).
  • ËshtĂ« bĂ«rĂ« e mundur pĂ«rdorimi i disa objekteve memorjes brenda njĂ« moduli WebAssembly dhe punimi me hapĂ«sira tĂ« ndryshme adresuese. PĂ«r mĂ« tepĂ«r, Ă«shtĂ« e mundur tĂ« kopjohen tĂ« dhĂ«nat midis ekzemplarĂ«ve tĂ« ndryshĂ«m tĂ« objekteve memorjes, tĂ« vendosura nĂ« hapĂ«sira tĂ« ndryshme adresuese.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r grumbullimin e mbeturinave. PĂ«rveç memories lineare tĂ« disponueshme mĂ« parĂ«, Ă«shtĂ« propozuar njĂ« tip i veçantĂ« magazinimi, i menaxhuar automatikisht me ndihmĂ«n e grumbulluesit tĂ« mbeturinave. Kompiliatori tani mund tĂ« pĂ«rdorĂ« struktura tĂ« veçanta tĂ« tĂ« dhĂ«nave, lista dhe variabla, pĂ«r tĂ« cilat menaxhimi i memories dhe ciklit tĂ« jetĂ«s Ă«shtĂ« pĂ«rgjegjĂ«s pĂ«r WebAssembly.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r referencat e tipizuara, tĂ« cilat mund tĂ« pĂ«rshkruajnĂ« strukturĂ«n e saktĂ« tĂ« vlerĂ«s nĂ« tĂ« cilĂ«n referenca tregon, duke parandaluar kĂ«shtu kontrollet shtesĂ« gjatĂ« ekzekutimit. MbĂ«shteten nĂ«nllojra, rekurziviteti i tipeve dhe mundĂ«sia e pĂ«rdorimit tĂ« sigurt tĂ« referencave nĂ« funksione, pa pasur nevojĂ« pĂ«r verifikime tĂ« tipeve dhe kufijve gjatĂ« ekzekutimit.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r thirrjet me bishta (Tail call), ku funksioni aktual pĂ«rfundon menjĂ«herĂ« pas thirrjes sĂ« funksionit tjetĂ«r, pa shpenzuar vend nĂ« stek.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r trajtimin e pĂ«rjashtimeve.
  • Shtohet mbĂ«shtetje pĂ«r komandat SIMD "tĂ« relaksuara" (relaxed), qĂ« mundĂ«sojnĂ« arritjen e njĂ« performancĂ« mĂ« tĂ« lartĂ« duke hequr dorĂ« nga pĂ«rmbushja strikte e semantikĂ«s nĂ« tĂ« gjitha platformat harduerike.
  • Shtohet mbĂ«shtetje e profilit tĂ« ekzekutimit tĂ« determinueshĂ«m, 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Ă« tĂ« fluturshme, kthimi i vlerĂ«s NaN, instruksionet vektoriale tĂ« lehtĂ«suara). Duke zgjedhur kĂ«tĂ« profil, Wasm siguron njĂ« sjellje determinueshĂ«m, riprodhueshmĂ«ri dhe transportueshmĂ«ri.
  • Shtohet sintaksa pĂ«r krijimin e anotimeve tĂ« personalizuara, duke lejuar lidhjen e informacionit shtesĂ« me kodin WebAssembly. MĂ« parĂ«, mbĂ«shtetje pĂ«r seksionet e pĂ«rdoruesve, qĂ« lejojnĂ« ruajtjen e informacionit tĂ« rastĂ«sishĂ«m, kishte nĂ« formatin binar tĂ« WebAssembly, por mungonte nĂ« formatin tekstual tĂ« WebAssembly. Tani ka mundĂ«sinĂ« pĂ«r tĂ« shtuar kĂ«tĂ« informacion nĂ« njĂ« format tĂ« lexueshĂ«m dhe tĂ« redaktueshĂ«m.
  • NĂ« API-nĂ« e JavaScript janĂ« shtuar funksione tĂ« integruara pĂ«r punĂ«n me vargje. MĂ« parĂ«, vargjet JavaScript mund tĂ« kaloheshin nĂ« WebAssembly vetĂ«m si lidhje tĂ« jashtme, ndĂ«rsa tani Ă«shtĂ« e mundur tĂ« qasemi drejtpĂ«rdrejt te vargjet dhe tĂ« manipulojmĂ« me to brenda WebAssembly.

Burimi: opennet.ru

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