Why Wasm? (Browser Native Support vs. Plugin vs. Bevara)
Browsers, such as Safari, Chrome, and Firefox, have native support for some data formats. Using multimedia as an example, JPG (the original JPEG) is universally supported, and MPEG-4/H.264 is widely supported by recent generations of browsers. This means there is built-in support by the browser, and all you need to do is specify the location of the file, and perhaps some constraints (see HTML Integration Code Overview).
If you want to deliver media or another data format that isn’t supported by all browsers, you’ll need to provide alternatives (with the HTML source Tag ), add tailored scripts, or ask users to install specific plugin or extension to extend format support. For instance, some browsers like Chrome or Firefox support PDF, but you can also download different plugins for alternate PDF readers. Some browsers will automatically download an Adobe PDF reader plugin for you. Plugins, which are also called extensions, are pieces of code designed to work in your browser to extend or change functions. For instance, popular types of extensions are ad-blockers, password managers, or even just simple code to change the color or font of displays. Plugins are also useful for displaying file formats that are normally unsupported or have had their format dropped by browsers, like RSS feeds or JPEG-XL. However, plugins are not necessarily risk-free – see the many issues with Adobe Flash Player or some of the security challenges with certain browser extensions.
Because Bevara uses Wasm, the Bevara Access technology is not limited solely to the Web – you can also use the recommended Accessor files in apps, in the cloud, or in many other environments. In additional to its environment flexibility WebAssembly has many advantages over other solutions when used in browsers to display files in non-supported formats. WebAssembly was developed by a W3C group and specifically designed to be cross-browser, and is currently supported by popular browsers . It is platform (software and hardware) independent. This makes it portable – you don’t need versions for every situation. It is fast and secure – it operates in what is called a sandbox which means that it runs outside normal code, reducing the possibilities for malicious interference. Finally, it relies on opensource compilation software, allowing the use of a variety of programming languages; thus, it paves the way for handling heterogenous and legacy libraries to support current, past, or future formats.