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 β€οΈππΈ
Top comments (27)
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.
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!
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???
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.
Microsoft has developped a layer on top of WebAssembly called Blazor. So for .NET devs it will be pretty easy to adopt WebAssembly.
I heard of Blazor. haven't tried it yet.
I will look on it.
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(?).
.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
Maybe I had it wrong, but I knew for sure that besides .NET, there are other candidates to use with WASM.
Yeah, Rust is a major candidate for it
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...
Another one to watch is the WASM interface types standard.
WASI seems very interesting in fact! Let's see...
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.
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 π
HTML and CSS are languages, just declarative ones.
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).
Actually, XML can be natively shown if you use XSLT.
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.
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
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....
Didn't know about LLVM thing.
For others - llvm.org/
Fascinating
Seems so!
Yup!
es2020 please also typescript