Mozilla 20. jūlijā izlaida Firefox 153, un lielākā izmaiņa izstrādātājiem paliek zem pārsega: pārlūks tagad pēc noklusējuma ieslēdz JavaScript Promise integrāciju (JS-PI) WebAssembly modulos. WebAssembly kods var apstāties, gaidot JavaScript Promise, un turpināt darbu, kad tas ir izpildīts.
Tā pati versija ir arī jaunais ESR laidiens uzņēmumiem un skolām, tāpēc izmaiņas paliek uz vietas gadu. Blakus WebAssembly jaunumam Linux lietotāji dabū Vulkan video dekodēšanu, bet fotogrāfu un dizaineru vidē atgriežas JPEG XL — pagaidām aiz slēdža.
WebAssembly beidzot saprot Promise
Līdz šim asinhronitāte bija sāpe katram, kurš pārnesa C vai C++ kodu uz tīmekli. Vecais kods gaida sinhronu atbildi — nolasa failu, saņem rezultātu, iet tālāk. Tīmekļa API tā nestrādā: fetch, IndexedDB un lielākā daļa jaunāko saskarņu atgriež Promise, un WebAssembly puse par to neko nezināja. Risinājums bija pārrakstīt visu izsaukumu ķēdi asinhroni vai palaist kodu atsevišķā pavedienā.
Firefox 153 ieslēdz WebAssembly.Suspending. Ar to izstrādātājs ietin JavaScript funkciju, kas atgriež Promise, un WebAssembly puse redz parastu izsaukumu.
Kad WebAssembly izsauc ietīto funkciju, izpilde apstājas, līdz Promise ir izpildīts, un tikai tad atgriež rezultātu — tā, it kā izsaukums būtu bijis sinhrons. Pārrakstīt veco C kodu nevajag.
Chrome šo funkciju ieslēdza jau 2024. gadā, tāpēc Firefox te panāk pārējos, nevis iet pa priekšu. Praktiskā vērtība tomēr ir liela: Emscripten un citi rīki tagad var ģenerēt WebAssembly, kas droši sadarbojas ar Promise bāzētiem API abos lielajos pārlūkos.
Jauna sintakse moduļiem
Firefox 153 pievieno teksta failu importu kā virkni. Rindiņa import teksts from "./fails.txt" with { type: "text" } ielādē faila saturu tieši mainīgajā. Saturu vienmēr apstrādā kā tekstu neatkarīgi no MIME tipa. To pašu ideju Node.js ieslēdza savā 26.5 versijā, un tagad tā nonāk pārlūkā.
Klāt ir arī source phase imports — import source sintakse ielādē moduļa pirmkodu, to neizpildot. Moduli var novērtēt vēlāk, kad tas patiešām vajadzīgs. WebAssembly moduļu pirmkoda attēlojums pagaidām vēl nav pieejams, tāpēc šī daļa strādā tikai ar JavaScript moduļiem.
Sīkākie labojumi arī noderēs ikdienā. Error.stackTraceLimit tagad ļauj ierobežot, cik daudz izsaukumu rāmju saglabāt kļūdu izsekumos — mazāka vērtība nozīmē ātrāku darbību ražošanas vidē. IndexedDB dabū getAllRecords(), kas vienā izsaukumā atdod ierakstus no objektu krātuves vai indeksa. Intl.Locale saņem metodes getCalendars(), getTextInfo(), getWeekInfo() un citas lokāles datu nolasīšanai. Picture-in-Picture API sāk strādāt uz darbvirsmas platformām, tāpēc video var izcelt peldošā logā ar skripta palīdzību.
Vulkan video dekodēšana Linux lietotājiem
Kā ziņo Phoronix, Firefox 153 pievieno sākotnēju Vulkan video dekodēšanas atbalstu Linux. Tas ir alternatīva VA-API, ko līdz šim izmantoja aparatūras paātrinātai video atskaņošanai.
Vulkan video ir svarīgs NVIDIA karšu īpašniekiem, jo NVIDIA draiveri Linux vidē nesniedz pilnu VA-API atbalstu, un daudziem bija jāizmanto starpslānis, lai video atskaņotos ar aparatūras palīdzību. Vulkan strādā starp dažādiem ražotājiem un draiveriem, tāpēc viens ceļš aizstāj vairākus. Firefox to sauc par sākotnēju atbalstu, tāpēc ne katrs kodeks un ne katra karte darbosies uzreiz.
JPEG XL, HDR un PDF darbarīki
JPEG XL atgriežas kā eksperimentāla funkcija. To var ieslēgt Firefox Labs sadaļā, ierakstot adreses joslā “labs” vai “experiment”. Dekoderis ir rakstīts Rust valodā, un Nightly būvējumos tas jau strādā pēc noklusējuma. Google savulaik izņēma JPEG XL no Chrome, aizbildinoties ar zemu pieprasījumu, tāpēc Mozilla solis te iet pretējā virzienā.
Kā apraksta Linuxiac, versija pievieno arī HDR video atskaņošanu, taču tikai uz Windows 10 un 11 ar HDR ekrānu, kas pieslēgts AMD vai NVIDIA grafikai. Intel un vairākas klēpjdatoru konfigurācijas atbalstu pagaidām nesaņem.
Iebūvētie PDF rīki tagad ļauj pievienot attēlus kā jaunas lapas un apvienot vairākus dokumentus, ievelkot PDF sānu joslā. Klāt ir QR koda ģenerēšana no cilnes — ar labo peles klikšķi var izveidot kodu, lai atvērto lapu pārsūtītu uz citu ierīci. Adreses joslā ierakstot “pick color” vai “eyedropper”, ieslēdzas krāsu pipete, ar ko var nolasīt jebkuras lapas krāsu.
Stabilo Firefox 153 var lejupielādēt no mozilla.org. ESR laidiens saņems drošības labojumus līdz nākamā ESR iznākšanai, tāpēc uzņēmumi, kas neseko divnedēļu ciklam, uz šīs versijas paliks ilgāk.
Komentāri
Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.