651.288.7000 info@intertech.com

WebAssembly (Wasm) Services & System Integration

Intertech’s WebAssembly developers help you run coded applications written in multiple languages, never intended to run outside a desktop, …run on the web, …through a web browser, …at near-native speeds!

You are no longer limited to one or the other. Take a look below to find out more about how and why WebAssembly may be necessary to you and your business.

Achieve Greater Efficiency Through WebAssembly Streamlining

WebAssembly Services WASM

Benefits Of WebAssembly:
Run Desktop Application Through A Web Browser
Run Applications That Require Major Processing Loads At Near Native Speeds
Supported By The Major Browsers, including Google Chrome, Mozilla, Microsoft, and others
Find Out If WebAssembly Is Right For You!

What & Why WebAssembly (Wasm)!

WebAssembly In Simple TermsWebAssembly.org

What Is WebAssembly

WebAssembly is a new type of code that can be run in modern web browsers – From The source – “WebAssembly (abbreviated WASM) is a binary instruction format for a stack-based virtual machine. WASM is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.” per webassembly.org. It is efficient and fast, open source and debuggable, safe, and part of the open web platform.

The Big Take Away

The big take away from that is the “compilation target for programming languages”. I highlight this because you may be under the impression that you write WASM code, but in reality you compile your code into WASM code. As it states “WASM is a binary instruction file which can run in a stack-based virtual machine”. In other words, a binary file that runs in an abstraction of a computer that acts like real hardware. The goal of WASM is for that abstraction to exist in the browser seamlessly.

Wasm Features

  • Efficient and Fast:  The WebAssembly takes advantage of common hardware capabilities on a range of platforms and allows applciations to run at native speed.
  • Safe:  A WebAssembly encoded application is placed in a memory-safe sandboxed execution environment and enforces the same-origin and permissions security  policies of the browser
  • Becomes Part Of Open Web:  Maintains the versionless, feature-tested, backwards-compatible nature of the web
Who’s Behind WebAssembly: Part of the World Wide Web Consortium (W3C), the “Web Assembly Working Group” is responsible for WebAssembly. They have contributors from many of the major players in modern web browsers, including Mozilla, Microsoft, Google and many more. In 2019 W3C WebAssembly became the fourth language for the web, allowing code to run in the browse, a massive stamp of approval by the people building browsers for WebAssembly. WebAssembly is turning out to be a groundbreaking addition to the web development world and is worth understanding.

Who’s Using WebAssembly

    • Autocad, one of the oldest computer drafting software’s was able to make a web version of their application using WebAssembly.
    • Unity, a gaming engine with a web player made using WebAssembly providing a performant 2D and 3D gaming that would otherwise not be possible.
    • TensorFlow, a JavaScript library used for machine learning modeling. WebAssembly was integrated for better, more performant modeling.
    • GoogleEarth, C/C++ codebases for native applications were ported to the web for performant 3D graphics in the browser.
    • Blazor, one of Microsoft’s newest programming frameworks allows you to write C# code that compiles into WebAssembly that executes client side.

At madewithwebassembly.com you can see a list of projects made using WebAssembly.

How Does WebAssembly Work?

To begin with a developer writes code in a WASM supported language (C++, Rust, C# etc..) and then compiles that code into a WASM binary format that is then able to run in the browser. For example, you can compile a C++ library into WASM format and then run functions from the library in a JavaScript web environment. Each supported language compiles to WASM through a unique library or toolchain. For C++, a compiler toolchain called “Emscripten” is used. For Rust, there is a tool called “wasm-pack”. For C# , you build the application with Blazor and Visual Studio (newer versions) handles the rest.

Why Would You Use WebAssembly?

There are a few regular use cases for going to WebAssembly as a solution.

  • Bottlenecks in your application: Areas in your application that a 50% increase in execution time or more consistent execution time would drastically improve the end users experience. Maybe your application has some backend business logic and you want to eliminate the server usage and the time it takes to communicate with it by executing that logic directly on the client.

  • Filing a technology gap: Google created an application called “Sqoosh,” used for image compression and processing. The application takes advantage of API’s and processing that traditional JavaScript couldn’t achieve so they turned to WASM.

  • Making use of non-web friendly code: “Sqoosh” is also a good example of making use of non-web friendly code, it uses multiple libraries written in a variety of languages compiled into WASM to deliver a wide range of image processing functionality. The idea is, code exists already that does something you want to do on the web, maybe WASM can be the solution that brings that code to the web.
Why Integration of your applications with the web can be important to your company.

Why Is System Integration With The Web Important?

Basically, WebAssembly allows your desktop applications to work anywhere. No download or installation. The web becomes your universal platform that can allow you to reach any device while you maintain a single code base. This allows for easy updates and worldwide access. With a web accessible application you can now use CAD programs through your browser, augmented reality programs with low latency, developer tools like editors, debuggers, and compilers, and enterprise applications like databases, and more!

How Does WebAssembly Work With javaScript?

WebAssembly was created to work alongside JavaScript, running WebAssembly modules that share functionality with your JavaScript requirements. By combining the two you now have a platform that takes advantage of WebAssembly’s power and performance attributes and JavaScript’s flexibility and nuances that make the experience enjoyable. What’s more, WebAssembly is being developed as a web standard via W3C – w3.org with active participation from all major browsers.

Why Does WebAssembly Need JavaScript?

Because WebAssembly does not have direct access to any application programming interfaces (APIs) you need javaScript and HTML to make the connection so your data moves back and forth. The browser, using JavaScript and HTML, loads, fetches, and sends the executes what your WebAssembly module has determined needs as its focus. Basically, WebAssembly fills a space that JavaScript does not do well and is getting to the point of being overloaded. WebAssembly opens the doors to a great partnership between the two.

WebAssembly is turning out to be a groundbreaking addition to the web development world. It’s got the support of the right communities and is currently stable and fully supported, so the future is bright. It’s not going to be the tool you use for everything, but when used correctly, it can be a powerful enhancement to your web application.

WebAssembly Links For Further Research & Demo

The Fastest Way To Build Software Is “Right” The First Time!

 

Intertech Logo

 

Understanding your industry is one thing. Understanding the technology you are using is another. When you read studies that tell you that 75% of projects are doomed from the beginning, it has to make you pause before signing your name to the outcome.

Consider letting our proven professionals take a look at your project. They’ve seen what can go wrong and know how to avoid costly errors.

We build custom software from start to finish. We plug into your environment with the proven expertise you need for us to work independently or in co-development. And, we bring the soft-skills that make the task enjoyable, and the experience to leave your team stronger and ready to take over.

We Bring You…

Team-Complete™ Development

Intertech’s Team-Complete™ development means we make sure all the right people are seated at the table to assure success the first time. At Intertech, you always get the best of the best! Proven consultants dive deep into your project, analyze your objectives, and lead your project to success with the expertise and the soft-skills you expect from a leader.

Soft-Skills For A Winning Experience

Sometimes the most critical person in the room is the one with a calm voice and the knowledge to select the right words. Bringing a development team together or presenting a clear concept for stakeholders can make all the difference between success or failure. Intertech consultants are at the top of their field. They navigate challenging decisions, guide with a confident voice, and know when to get out of the way.

Turn to Intertech when you need it done right!

Intertech takes the worry out of custom software development.
Since 1991 – We’ve Built Software, Made Teams Stronger, And Got Out Of The Way When Done.

Plug Us In. See The Results.

Discover All That Intertech Can Do For You!

Let’s Build Something Great!

Tell us what you need and we’ll get back with you ASAP!
Consider Intertech…

Tell us about your project and we’ll gather the right people, discuss your request, clarify any questions, and provide a price estimate that you can use to decide if Intertech is a good fit for you!

“We Take The Worry Out Of Custom Software Development!”

Turn-Key Custom Application Development Solutions Since 1991

Independent & Co-Development

Tom Salonek Founder & CEO