W3C WebAssembly Tövsiyə Edilən Standart statusu verir

W3C Konsorsiumu объявил WebAssembly texnologiyasına tövsiyə olunan standart statusunun verilməsi haqqında. WebAssembly müxtəlif proqramlaşdırma dillərindən tərtib edilmiş proqramları işə salmaq üçün brauzerdən müstəqil, universal, aşağı səviyyəli aralıq kod təqdim edir. WebAssembly, yüksək performanslı veb proqramlar yaratmaq üçün daha perspektivli və çarpaz brauzerli portativ texnologiya kimi yerləşdirilib. WebAssembly video kodlaşdırma, audio emal, qrafika və 3D manipulyasiya, oyun inkişafı, kriptoqrafik əməliyyatlar, riyazi hesablamalar və proqramlaşdırma dillərinin portativ tətbiqlərinin yaradılması kimi performans intensivliyi tələb edən tapşırıqlar üçün istifadə edilə bilər.

WebAssembly bir çox cəhətdən Asm.js-ə bənzəyir, lakin JavaScript-ə bağlı olmayan ikili format olması ilə fərqlənir. WebAssembly zibil toplayıcıya ehtiyac duymur, çünki o, açıq yaddaş idarəetməsindən istifadə edir. WebAssembly üçün JIT istifadə edərək, yerli koda yaxın performans səviyyələrinə nail ola bilərsiniz. WebAssembly-nin əsas məqsədləri arasında müxtəlif platformalarda daşınma, proqnozlaşdırıla bilən davranış və eyni kodun icrasını təmin etməkdir. Son zamanlarda WebAssembly də var irəliləyir brauzerlərlə məhdudlaşmayan istənilən infrastrukturda, əməliyyat sistemində və cihazda təhlükəsiz kodun icrası üçün universal platforma kimi.

W3C WebAssembly ilə bağlı üç spesifikasiyanı standartlaşdırmışdır:

  • WebAssembly Nüvəsi — WebAssembly aralıq kodunu icra etmək üçün aşağı səviyyəli virtual maşını təsvir edir. WebAssembly ilə əlaqəli resurslar Java ".class" faylına bənzər ".wasm" formatında gəlir, statik məlumatları və həmin verilənlərlə işləmək üçün kod seqmentlərini ehtiva edir.
  • WebAssembly Veb API — “.wasm” resurslarının tələb edilməsi və icrası üçün Promise mexanizmi əsasında proqramlaşdırma interfeysini müəyyən edir. WebAssembly resurs formatı faylın tam yüklənməsini gözləmədən icraya başlamaq üçün optimallaşdırılıb ki, bu da veb proqramların cavab reaksiyasını artırır.
  • WebAssembly JavaScript interfeysi — JavaScript ilə inteqrasiya üçün API təmin edir. Dəyərlər əldə etməyə və parametrləri WebAssembly funksiyalarına ötürməyə imkan verir. WebAssembly-nin icrası JavaScript təhlükəsizlik modelinə uyğundur və əsas sistemlə bütün qarşılıqlı əlaqə JavaScript kodunun icrası ilə eyni şəkildə həyata keçirilir.

Gələcəkdə biz WebAssembly funksiyaları üçün spesifikasiyalar hazırlamağı planlaşdırırıq:

  • Paylaşılan yaddaş və atom yaddaşı ilə çox iş parçacığı;
  • Döngə icrasının paralelləşdirilməsinə imkan verən SIMD əsasında vektor əməliyyatları;
  • WebAssembly kodundan obyektlərə birbaşa istinad üçün istinad növləri;
  • Stackdə əlavə yer sərf etmədən funksiyaları çağırmaq imkanı;
  • ECMAScript modulları ilə inteqrasiya - ECMAScript 6 spesifikasiyasına uyğun modullar kimi JavaScript-dən WebAssembly kodunu yükləmək imkanı;
  • Zibil toplayıcı rejimi;
  • Sazlama interfeysləri;
  • MƏN İDİM (WebAssembly System Interface) - Əməliyyat sistemi ilə birbaşa qarşılıqlı əlaqə üçün API (fayllar, yuvalar və s. ilə işləmək üçün POSIX API).

    Mənbə: opennet.ru

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