Today, for the first time, but not the last, I will be hosting blog guest writer.
His name is Vladimir Vrankulj. He recently held a great presentation, regarding BLAZOR, at DUMP DAYS conference.
Personally, I am very interested in this technology.
So I approached him, with intention that he, sums up his presentation and makes a few extra text lines for my blog site.
Hopefully, you will enjoy this blog post and get some value of it. Enjoy!
Part 1 of 2.
Today we witness the almost everyday release of some new rabid JS Framework, which leads to confusion and total diversity between the web developers. In group of 100 web developers I bet we would find at least 10 JS frameworks people currently using. Which is just fine, because it is giving people a choice, or is it?
Do we want this or we want something else?
Web Assembly story
Some time ago I heard some talks about WA, but I was pretty occupied with my new VueJS application. I was totally drugged with a flexibility and simplicity it provides that I overheard what those two guys was talking about. I felt safe in my private universe created with Vue, until I bumped on this subject again. Still I was sceptic, even when I read it is 6-20 times faster than JS. I thought “Yeah, cool. Nice experiment”. I thought of it as some technology presented in CERN, type of technology that will be uses in some 50 years, ofc when Army dumps it to puny civilians (we all know that the Army is the first one to have benefit of new technologies, right?). And what about cross-platform or cross-browser? Who can unite giants like Google, Apple and Mozilla to reach common agreement about anything (If we bring their relationship into real a world, we would witness such massacre that would make all wars left in shadows … forever)? So many questions, so less answers, I thought. I better get back to my JS class 😊 … But somehow, I got back and read the article to the end. It said “All major browsers implemented WA in September, 2017 ….”.
“Wait, what????” – I checked date in system tray, and saw 2019 (It happens from time to time I forget what is the day, but year … Well, there is always first time, right?)
Those guys already implemented WA in all browsers, and it is running in this moment, while I’m reading this article. I must mention, Apple was the last, as usual … You know the story about Flash? (Next time … maybe … it still hurts … Uhh)
So what the heck is WA?
Simple, it is code type. They said it that way. I’d like to supplement their assertion with “set of standards and programming language”. OK, now when we have standing ground, we can move on.
What it does and how?
The base principle of WA is to compile code into something we know as wasm file, and that is nothing else than binary code. You probably know that C applications run way faster than C# or Java applications, and why is that? Because these applications written in C which is low-level language and they are closer to machine code than some high-level language e.g. Java or C#.
And the last thing to mention is why all this. The beauty of WA is that it is opening web programming to everybody … C, C++, Java, C# programmers, they all are invited to do web programming with web assembly. Only thing you need is your WA compiler that will precompile dll or .c file into .wasm file. Some JS glue code and you have your old application (minesweeper) running in the browser.
OK, so with this news in our pocket, we can healthy conclude this story by sending JS under the ground? Well no! And this is why not…
- Firstly, WA is created to work together with JS, to complete and interact with JS
- Secondly, WA cannot be jump-started without JS glue code.
And we started with Blazor …
So, where Blazor fits in? Simple, it is using WA as core engine to run dll’s written in C# directly on the browser. But first, what is Blazor?
End of Part 1.
To be continued…