Announcement

Collapse
No announcement yet.

Miguel de Icaza Talks Up WebAssembly Greatness

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Miguel de Icaza Talks Up WebAssembly Greatness

    Phoronix: Miguel de Icaza Talks Up WebAssembly Greatness

    GNOME co-founder Miguel de Icaza, who also started the Mono project and now working at Microsoft following their 2016 acquisition of Xamarin, has penned his first blog post in nearly one year -- and it's about WebAssembly...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Yeah, WebAssembly is really cool. Microsoft use it for Blazor which is a framework which allows the developer to write code in C# then it gets executed on the client side in the web browser.

    It will be interesting to see all the new things coming through WebAssembly such as virtual machines and programming langauges that gets compiled down to WebAssembly. Like you can run Python in the browser and have it compiled down to WebAssembly. There is also talk of using WebAssembly as a virtual instruction set architecture (ISA).

    Comment


    • #3
      The answer to one question that I have about WebAssembly can determine if I like it or not...
      Can the code that the browser run be seen like for HTML, CSS and Javascript ?
      I don't want my browser to run any binary only code!

      Comment


      • #4
        Originally posted by Danny3 View Post
        The answer to one question that I have about WebAssembly can determine if I like it or not...
        Can the code that the browser run be seen like for HTML, CSS and Javascript ?
        I don't want my browser to run any binary only code!
        WebAssembly is an instruction set so it code IR code that gets compiled down to byte code.
        But JavaScript gets compiled down to byte code using a just-in-time (JIT) compiler too.
        So WebAssembly is kind of like a platform-agnostic intermediate representation (IR) layer between the machine code and the programming languages, kind of like JVM or CIL.

        Comment


        • #5
          The whole point of WebAssembly, is to hide the code from the client.

          At the moment, almost all WebAssembly code around the internet is for malicious code. Eventually, large tech companies want to take advantage of that, to run binary code on the client. That way, our implementation and code is properly hidden, because right now it is not and anyone can easily read javascript, no matter how much obfuscation you do.

          Of course we don't say that to the public, in "marketing speak" we say that its faster code


          Originally posted by Danny3 View Post
          The answer to one question that I have about WebAssembly can determine if I like it or not...
          Can the code that the browser run be seen like for HTML, CSS and Javascript ?
          I don't want my browser to run any binary only code!

          Comment


          • #6
            Another crap like mono from Icaza?

            Comment


            • #7
              Originally posted by Volta View Post
              Another crap like mono from Icaza?
              At least we have a C/C++ compiler this time from the start that can generate WebAssembly and ASM.js (as a fallback) so we don't need to rewrite our software in crap like Microsoft Cool or VB.NET.

              Comment


              • #8
                Michael time to try this wasmer for the WASM tests from previous week

                Bonus point for wasmer being made with Rust haha

                Comment


                • #9
                  Originally posted by Danny3 View Post
                  The answer to one question that I have about WebAssembly can determine if I like it or not...
                  Can the code that the browser run be seen like for HTML, CSS and Javascript ?
                  I don't want my browser to run any binary only code!
                  It has been a long time since you could read the Javascript code and have it make any sense. First it's compile to JS from Typescript, then it is compressed and obfuscated so every function is called "f" or "g". CSS is often done in a similar way with all of the classes and object IDs named junk like "c1" and done half in CSS text and half in Javascript.

                  WASM is no worse. It can be decompiled and read about the same as obfuscated Javascript. At least it can't do x86 assembly tricks like computing a jump into unaligned code at a +1 byte offset or using Windows SEH to execute the real code during division by zero.

                  Comment


                  • #10
                    Originally posted by uid313 View Post
                    Yeah, WebAssembly is really cool. Microsoft use it for Blazor which is a framework which allows the developer to write code in C# then it gets executed on the client side in the web browser.
                    The problem is these languages need a runtime and that will make your WASM code quite big (e.g. ~5MB for a simple "hello world" written in Go). That'll wreak havoc with download speeds and data caps. The only language I know of that is up to the task is Rust. And I'm assuming C/C++, but I haven't checked.
                    But the spec and tooling are coming along nicely, it's no longer super-tedious to pass around things more complex than an int, we got support for multi-threading...

                    Comment

                    Working...
                    X