DEV Community

Cover image for W3C confirms: WebAssembly becomes the fourth language for the Web πŸ”₯ What do you think?
Shahjada Talukdar for The Destro Dev Show

Posted on

W3C confirms: WebAssembly becomes the fourth language for the Web πŸ”₯ What do you think?

World Wide Web Consortium (W3C) brings a new language to the Web as WebAssembly becomes a W3C Recommendation.
Following HTML, CSS, and JavaScript, WebAssembly becomes the fourth language for the Web which allows code to run in the browser.


5 December 2019

The World Wide Web Consortium (W3C) announced that the WebAssembly Core Specification is now an official web standard, launching a powerful new language for the Web. WebAssembly is a safe, portable, low-level format designed for efficient execution and compact representation of code on modern processors including in a web browser.

β€œThe arrival of WebAssembly expands the range of applications that can be achieved by simply using Open Web Platform technologies. In a world where machine learning and Artificial Intelligence become more and more common, it is important to enable high performance applications on the Web, without compromising the safety of the users,” - declared Philippe Le HΓ©garet, W3C Project Lead.

High-performance applications relying on a low-level infrastructure

At its core, WebAssembly is a virtual instruction set architecture that enables high-performance applications on the Web, and can be employed in many other environments. There are multiple implementations of WebAssembly, including browsers and stand-alone systems. WebAssembly can be used for applications like video and audio codecs, graphics and 3D, multi-media and games, cryptographic computations or portable language implementations.

WebAssembly enhances Web Performance

WebAssembly improves Web performance and power consumption by being a virtual machine and execution environment enabling loaded pages to run as native compiled code. In other words, WebAssembly enables near-native performance, optimized load time, and perhaps most importantly, a compilation target for existing code bases.

Despite a small number of native types, much of the performance increase relative to JavaScript derives from its use of consistent typing. WebAssembly leverages decades of optimization for compiled languages and its byte code is optimized for compactness and streaming. A web page can start executing while the rest of the code downloads. Network and API access occurs through accompanying JavaScript libraries. The security model is identical to that of JavaScript.

Read the Full article here πŸ‘‰ published on W3.org

What do you think about this huge change? πŸ€”

I am sharing one awesome talk from Lin Clark about WebAssembly.

Cheers!
πŸ‘‹

As I am trying to contribute contents on the Web, you can buy me a coffee for my hours spent on all of these ❀️😊🌸
Buy Me A Coffee

Top comments (27)

Collapse
 
nickholmesde profile image
Nick Holmes

I'm not a fan of JavaScript, but there was no credible alternative. In principle, I now have a choice of language, so long as it can target WebAssembly. This is a big deal.

As a concrete example, the prospect of being able to use a .Net Core stack and tooling end-to-end is very attractive. The potential for stream-lining development is huge. It's early days yet, but I expect WebAssembly (via Blazor) is going to be extremely popular in Microsoft shops.

Collapse
 
destro_mas profile image
Shahjada Talukdar

I am pretty sure, Microsoft devs will pick only Blazor for WebAssembly and no other languages.

As Micsorost has a huge number of developers worldwide, the popularity of Blazor will be really high!

Collapse
 
josiahroa18 profile image
Josiah Roa

I’m really curious on what could be accomplished on the web with this change. Also do you think full stack devs are gonna need to learn web assembly???

Collapse
 
destro_mas profile image
Shahjada Talukdar

I am also looking forward to this.

For me,Full stack developer is a very broad term. You can be fullstack dev working with .Net, Ruby , Python or anything.

Or you can be fullstack dev with only JS.

Collapse
 
Sloan, the sloth mascot
Comment deleted
 
bhermans profile image
Bart Hermans

Microsoft has developped a layer on top of WebAssembly called Blazor. So for .NET devs it will be pretty easy to adopt WebAssembly.

Thread Thread
 
destro_mas profile image
Shahjada Talukdar

I heard of Blazor. haven't tried it yet.
I will look on it.

Collapse
 
andreasjakof profile image
Andreas Jakof

No need to learn WebAssembly... at least when you are already using .NET and not as a new language itself.
The same goes for GO and others(?).

Collapse
 
destro_mas profile image
Shahjada Talukdar

.Net introduced Blazor which can run C# code using WebAssembly.

dotnet.microsoft.com/apps/aspnet/w...

You can use Rust for WebAssembly. Not sure about Go yet.
Need to search on the web

Thread Thread
 
andreasjakof profile image
Andreas Jakof

Maybe I had it wrong, but I knew for sure that besides .NET, there are other candidates to use with WASM.

Thread Thread
 
destro_mas profile image
Shahjada Talukdar

Yeah, Rust is a major candidate for it

Collapse
 
rhymes profile image
rhymes

Tools are still a bit unfriendly but they can only get better! Can't wait to see what they come up with because even though there's a very clear niche that benefits from Web Assembly I'm not sure it'll be massive soon and it's probably a good thing in the meantime.

Can't wait for WASI and what it'll come out from the byte code alliance though! hacks.mozilla.org/2019/03/standard...

Collapse
 
easrng profile image
easrng

Another one to watch is the WASM interface types standard.

Collapse
 
destro_mas profile image
Shahjada Talukdar

WASI seems very interesting in fact! Let's see...

Collapse
 
houghtonap profile image
Andrew Houghton

Your numbering system is wonky by including HTML and CSS. Why not XML? Personally I would have said confirmed the second, JavaScript and now wasm which are programming languages vs. markup languages. Cheers.

Collapse
 
destro_mas profile image
Shahjada Talukdar

I actually get your point about what you meant. You think HTML and CSS are not languages, right?

If so, then the abbreviation of HTML is Hypertext Markup Language, from that angle it means it's a language πŸ˜„

Collapse
 
easrng profile image
easrng

HTML and CSS are languages, just declarative ones.

Collapse
 
destro_mas profile image
Shahjada Talukdar

HTML and CSS both can be run natively in Browser, But not XML. That's why.

But the title "WebAssembly becomes the fourth language for the Web" was written by W3C(not me).

Collapse
 
easrng profile image
easrng

Actually, XML can be natively shown if you use XSLT.

Collapse
 
ben profile image
Ben Halpern

Even though it's not like everybody is going to be writing WebAssembly all of a sudden, this is one of the more fascinating tech trends to follow. Could dramatically affect what we can do in the browser.

Collapse
 
destro_mas profile image
Shahjada Talukdar

Yeah, also seems like other programmers (who can't write JS or don't want to write JS) will get the floor.
Also, performance benefits will be an addition

Collapse
 
tomavelev profile image
Toma • Edited

WebAssembly is the equivalent of llvm for the web. And if you look at it, it is more of a compiler infrastructure. The need of learning it will be to the language developers or some of us that are doing deep stuff. If you look around everybody is doing something similar. Go has WA target. Android went aot in v5 I think, flutter dart compiles to native on mobile and desktop thanks to skia, Swift is llvm, not sure about c# on the desktop, Java has a library called Quarkus for llvm for the web, Facebook tried transcribing php to c, python has cython....

Collapse
 
destro_mas profile image
Shahjada Talukdar

Didn't know about LLVM thing.
For others - llvm.org/

Collapse
 
timjkstrickland profile image
Tim JK Strickland

Fascinating

Collapse
 
destro_mas profile image
Shahjada Talukdar

Seems so!

Collapse
 
destro_mas profile image
Shahjada Talukdar

Yup!

Collapse
 
spiritupbro profile image
spiritupbro

es2020 please also typescript