قالب وردپرس درنا توس
Home / Technology / The ByteCode Alliance wants to bring binary apps to your browser

The ByteCode Alliance wants to bring binary apps to your browser



As early as 2015 announced a consortium of Google, Microsoft, Mozilla and the WebKit project WebAssembly. This week, Mozilla, Intel, Red Hat, and Fastly have announced a new consortium called Bytecode Alliance, which aims to promote WebAssembly and other "new software fundamentals" that standardly provide secure methods for executing untrusted code within or outside the company are possible outside of the web browser environment.

For many, the obvious question is, what is WebAssembly? WebAssembly (wasm) was and still is a potentially exciting project that provides the ability to run native bytecode in the browser to significantly enhance the performance of the Javascript engines used then and now.

JavaScript is often misunderstood as a script language that is interpreted at runtime. Although it is generally loaded into the browser as source code, it can either be interpreted or compiled into bytecode and executed. Compilation means higher execution performance ̵

1; especially in tight loops – but it also means a start penalty for the time it takes for the JIT compilation itself.

Javascript JIT has a lot more under it, including various compiler modes. Specialization, optimization and rescue. Mozilla's Lin Clark has written an excellent, reader-friendly statement for hacks.mozilla.org for more details.

To eliminate this JIT compilation penalty, Mozilla introduced asm.js – a special subset of Javascript most commonly used as a source-to-source compilation target for more powerful programming languages ​​such as C. AC language programs cross-compiled in asm.js and running as AOT-compiled bytecode block (according to Mozilla) The remaining problem with asm.js is that as a subset of Javascript you can not perform any operations or express data in a way that you could not in Javascript. WebAssembly suggests changing this. These include native support for 64-bit integers, loading and saving of offsets, and direct access to CPU instructions that are commonly used for specific tasks such as cryptanalysis.

  Squoosh.app used by Google Labs WebAssembly You play with image storage and compression techniques. Swipe from left to right to see the difference between the original and compressed versions in real time.
Enlarge / Google Labs' Squoosh.app uses WebAssembly to let you play with image storage and compression techniques. Swipe a bar from left to right to see the difference between the original and compressed versions in real time.

Jim Salter

Unfortunately there is not much to see in the WebAssembly project since 2015. A concrete example of how WebAssembly works is that support in different browsers is at best questionable, and it is even difficult to find functional demos that can be executed locally in the toolkit. The most accessible demo was the Google lab-developed squoosh application, which lets you play in real-time with various image storage and compression algorithms.

The potential impact of WebAssembly and the WebAssembly system interface goes far beyond the browser. The Bytecode Alliance provides a platform that can be used not only to run native-speed code in browsers, but also to safely reuse untrusted code on multiple platforms, including server, edge, mobile, and IoT Devices, relieved. 19659012] Listing picture of Petrovsky Vladislav


Source link