Wasm and the LC Roadmap

David Bovill david.bovill at gmail.com
Wed Feb 17 11:04:48 EST 2021


Wasm is a pretty mature target by now. Most of the projects I work with already have deployments using wasm on either the server side or the client side. ASP.NET and Blazer is making quite a stir. It’s not the sort of - let’s deploy it now thing - but when looking at a partnership between several institutions each with their own projects - wasm provides a relatively solid basis fir glueing the pieces together - regardless (more or less) of the language if choice of the collaborator.

           ********
     ****************
   *******************
   ********************
    ********************
       \\   //  ********
        \\\//  *******
          \\\////
           |||//                       ,
           |||||                    __/
,,,,,,,,,,,//||||\,,,,,,,,,,,,,,,,,,o==o
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Schedule a meeting using this link.
Writing and media work on Media Garden.

LinkedIn: David Bovill
Twitter: @fortyfoxes
On 17 Feb 2021, 15:44 +0000, Andre Garzia via use-livecode <use-livecode at lists.runrev.com>, wrote:
> Let me begin by saying that WASM is not a silver bullet. I know this doesn’t happen on our community, and that David is not mentioning WASM as a magical solution for HTML5 deployment.
>
> A bit of context is needed to understand why WASM is important and cool. In the past, many C/C++ to Web solutions were based on emscripten which is a toolset based on LLVM that can output C/C++ code in something called “ASM.js” which is a very compact JavaScript source code that kinda does what the C/C++ was doing. This is how people ported the “Unreal Engine” to the web for example. Be aware that ASM.js doesn’t deal with graphics and stuff, that still web technologies. It is just very good at number crunching and makes it possible to reuse C/C++ code.
>
> The main drawbacks from ASM.js (which can be felt on the HTML5 deployment) is that the file sizes are huge. Just imagine a compiler that instead of generating native binary code is generating actual equivalent JavaScript code. This presents two problems for the user, first is the lengthy file transfer needed to download all that content to the users browser, second is the time it takes for the JS engine to actually parse those large files.
>
> These problems are mitigated by WASM. WebAssembly grew out of the working groups that were developing ASM.js. It is a bytecode format, so it is smaller than the equivalent JS file. It is also a standardized VM, which means it executes the same in all browsers that support it. Another cute trick it can do is that is can start loading the bytecode in the VM while it is transferring (aka loading while streaming) which means that by the time the transfer completes, a huge portion of that code is already loaded.
>
> Not only this speeds up the user experience, but having a well-defined VM makes it easier for language developers to target it instead of the ASM.js hacks.
>
> The same toolset that produces ASM.js can produce WASM. It should be natural evolution for the HTML5 deployment to switch from ASM.js based to WASM based. This doesn’t make it magical though, this switch alone will not make LC work on the browser beyond what they’re currently doing. It needs more work, but it should yield smaller files which makes it a better experience.
>
> > On 17 Feb 2021, at 15:30, Graham Samuel via use-livecode <use-livecode at lists.runrev.com> wrote:
> >
> > Well done Klaus, I was still Googling it! I am in fact looking at articles (e.g. https://blog.bitsrc.io/whats-wrong-with-web-assembly-3b9abb671ec2 <https://blog.bitsrc.io/whats-wrong-with-web-assembly-3b9abb671ec2>) that suggest that despite some very significant users (Google Earth is one), wasm hasn’t exactly conquered the universe in the three years since it was launched.
> >
> > Would LC users benefit and/or would it be a massive diversion of scarce development effort? Anyone have any idea?
> >
> > Graham
> >
> > > On 17 Feb 2021, at 15:19, Klaus major-k via use-livecode <use-livecode at lists.runrev.com> wrote:
> > >
> > > To all who are also not familiar witht the gazillion abbreviations,
> > > David is talking about -> WebaSseMbly :-)
> > >
> > > > Am 17.02.2021 um 16:13 schrieb David Bovill via use-livecode <use-livecode at lists.runrev.com>:
> > > >
> > > > Anyone know the wasm plans?
> > > >
> > > > I’m Woking on a project in collaboration with a number of other platforms and partners that are using wasm. Would like to play in the same place with LiveCode.
> > > >
> > > > ********
> > > > ****************
> > > > *******************
> > > > ********************
> > > > ********************
> > > > \\ // ********
> > > > \\\// *******
> > > > \\\////
> > > > |||// ,
> > > > ||||| __/
> > > > ,,,,,,,,,,,//||||\,,,,,,,,,,,,,,,,,,o==o
> > > > ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> > > >
> > > > Schedule a meeting using this link.
> > > > Writing and media work on Media Garden.
> > > >
> > > > LinkedIn: David Bovill
> > >
> > >
> > > --
> > > Klaus Major
> > > https://www.major-k.de
> > > https://www.major-k.de/bass
> > > klaus at major-k.de
> > >
> > >
> > > _______________________________________________
> > > use-livecode mailing list
> > > use-livecode at lists.runrev.com
> > > Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> > > http://lists.runrev.com/mailman/listinfo/use-livecode
> >
> > _______________________________________________
> > use-livecode mailing list
> > use-livecode at lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode



More information about the use-livecode mailing list