WebAssembly, the end of Javascript era?
- Home
- Engineering Blog
- WebAssembly, the end of Javascript era?
I would say WebAssembly is a complement to JavaScript. It’s not only to power up JavaScript but also allows to use other languages, traditionally for the backend stuff, in the front-end.
WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C/C++/Rust, enabling deployment on the web for client and server applications.
Back in time
Let’s recall the history of web development to better understand why we get here.
In autumn of year 1991, CERN physicist Berners-Lee wrote a memo proposing an Internet-based hypertext system, the HTML… okay maybe too far in the past.
On December, 1995, Javascript was born at Netscape Communications.
Those days, cool developers used to program fancy apps with Java Applets, that requires users to have installed Java Web Start plugin. Javascript used to be underestimated since it was a slow scripting language, but it had a trick under its sleeves: direct access to the DOM.
Javascript was still slow causing performance issues on sites with heavy logic in the client, then around 2008 the Just In-time Compiler (JIT) arrived to convert Javascript as a mainstream language. But the performance was still a bottle neck.
What is WebAssembly?
WebAssembly is a small binary format that promises near-native performance for web applications. It can be defined as Abstract Syntax Tree (AST), that allows smaller app bundles.
But, why is it better? Beyond of performance, since it’s closer to machine code, it allows exciting new features like threads, SIMD (Single Instruction, Multiple Data), parallel processing pipelines, just to mention few.
WebAssembly fills the gaps created by slow performance of current web-client development.
Why should I use it?
The first thing that comes to my mind is that you can pick a language different from JavaScript for your interactive UI.
Currently supported languages:
- Go
- Rust
- C/C++
- C#/.Net
- Java
- Python
- Elixir
- and more…
So, the same team could work on both UI and backend development using the same language they use on the back-end.
Because of the new feature, it potentially offers more developer friendly coding of games, Virtual Reality (VR) apps and Augmented Reality (AR) apps.
Conclusion
It’s the dawn of a bright and new web development era, but it’s still too early to adopt in my opinion. Said that I encourage all of you that want to experiment and contribute to the growth of this technology. The big players – Google, Apple, Microsoft and Firefox – are already including the support for WebAssembly. So it’s time to boldly go where no man has gone before…
Hope you enjoy reading!
Next Post
Web Applications and ADA
Tags: javascript, trending, webassembly
Categories: JavaScript, Programming
Comments
Disqus Recommendations
We were unable to load Disqus Recommendations. If you are a moderator please see our troubleshooting guide.
❮
- 8 years ago
- 1 comment
Time to explore the nice file system abstraction from the League called FlySystem. …
- 10 years ago
- 1 comment
Remote PHP Debugging with Xdebug
- 7 years ago
- 1 comment
Edit PDF Form fields with PHP
- 7 years ago
- 3 comments
The future of jQuery
- 10 years ago
- 1 comment
Evolution of the PHP Language
- 9 years ago
- 3 comments
Setting up your environment and is a very important part of unit testing AngularJS …
- 8 years ago
- 4 comments
An overview and examples of debugging your PHP application with the use of …
- 9 years ago
- 3 comments
Creating a custom application with Angular CLI is easy and fun. …
❯
Disqus Comments
We were unable to load Disqus. If you are a moderator please see our troubleshooting guide.
What do you think?
0 Responses
Upvote
Funny
Love
Surprised
Angry
Sad
G
Start the discussion…
Comment
Log in with
or sign up with Disqus or pick a name
Disqus is a discussion network
- Don't be a jerk or do anything illegal. Everything is easier that way.
Read full terms and conditions
This comment platform is hosted by Disqus, Inc. I authorize Disqus and its affiliates to:
- Use, sell, and share my information to enable me to use its comment services and for marketing purposes, including cross-context behavioral advertising, as described in our Terms of Service and Privacy Policy, including supplementing that information with other data about me, such as my browsing and location data.
- Contact me or enable others to contact me by email with offers for goods or services
- Process any sensitive personal information that I submit in a comment. See our Privacy Policy for more information
Acknowledge I am 18 or older
Discussion Favorited!
Favoriting means this is a discussion worth sharing. It gets shared to your followers' Disqus feeds, and gives the creator kudos!
Tweet this discussion
- Share this discussion on Facebook
- Share this discussion via email
- Copy link to discussion
Be the first to comment.
live.rezync.com
live.rezync.com is blocked
This page has been blocked by an extension
- Try disabling your extensions.
ERR_BLOCKED_BY_CLIENT
Reload
This page has been blocked by an extension
pippio.com
pippio.com is blocked
This page has been blocked by an extension
- Try disabling your extensions.
ERR_BLOCKED_BY_CLIENT
Reload
This page has been blocked by an extension
See how we can help
Lets talk!
Contact Us
Stay up to date on the latest technologies
Join our mailing list, we promise not to spam.
Email AddressJoin