Predicting an enormous waste of time building UI frameworks with WASM and WebGPU

37 points by vrtcn 3 years ago

I am willing to bet (inflation-adjusted) 1000$ that in the next decade, multiple teams will see the advent of Wasm and WebGPU as a perfect reason to have yet another go at a cross-plattform UI framework. These projects will claim to have "native" UI elements, but it will be obvious that the are really just rebuilding everything to look like the native counterparts (similar to Flutter). Especially on macOS and iOS, major interactions will be unsupported or implemented in wrong ways (problems will likely occur around the menu bar, keyboard navigation, and integration with OS services). Scrolling will feel off on touchscreen devices and text rendering will differ from the native look. Still, some of these frameworks will have tens of thousands of stars on GitHub and be used by major companies. I would not be surprised if these frameworks were built with Rust and be seen by many as the thing that would finally bring Rust to the mainstream. I see it as likely that in whatever language these frameworks will be written, they will introduce some weird new syntax and paradigms to accomodate a more "intuitive" (probably declarative) style of writing UI code. Meanwhile, little to no progress will be made developing techniques and frameworks to build apps that are actually better for the end user.

zigzag312 3 years ago

Or some of these framework will finally mature in the next decade and solve remaining UX issues.

This will make branded, OS-specific UI frameworks mostly irrelevant.

There will be less of platform lock-in. Users will be free to migrate between platforms, as most applications will be avaliable on multiple platforms by default. UI/UX will become independent of a platform's brand. This will lead to increased use of alternative OSes among casual users.

  • frou_dh 3 years ago

    Sounds familiar. Dub it J4Z - Java For Zoomers

    • zigzag312 3 years ago

      Java used to require JVM to be present on the system, which was fine for monolithic server running a single Java application (were Java succeeded), but not for end user applications.

      Now self-contained apps are becoming a thing, which solves the problem Java apps had in the past.

    • notadev 3 years ago

      Call it ActiveZ

fxtentacle 3 years ago

That sounds correct.

That said, Flutter did solve one problem better than competing alternatives in my opinion, which is that it is cross-platform and GPU-accelerated and has a small runtime.

Typical WebGL + WASM solutions need a 10 MB JavaScript download, which makes them unsuitable for regular websites. Flutter, on the other hand, is small enough to use both as a website and as an app.

jimmySixDOF 3 years ago

>Meanwhile, little to no progress will be made developing techniques and frameworks to build apps that are actually better for the end user.

If thats part of the criteria then I'll take the bet provided I am alive and solvent at the time.

My reasoning is that Spatial Computing is going to substantially progress the world of open web UI using WebGPU & WASM in ways that are not connectable to your assumed native primacy of scroll bars and menu elements as stated.

While similar arguments exists between Web and client side XR applications based on FPS & polygon counts, it doesn't mean that WebXR can't "build apps that are actually better for the end user" and do it better than with existing web frameworks. That even remains true if Apple ends up being a lone immersive web standard unto itself, intentionally hobbled at the knees to promote either Experience Quality or App Store lock-in. Not ideal but not removing the ability for WASM & WebGPU to run some novel XR workloads everywhere else in which case I'll be interested to see what $1000 looks like adjusted for inflation in 10yrs although a lawyer might argue the language points upto 2041, the technical end of the next decade.

dekhn 3 years ago

Qt supports WASM and I think anybody who wants to replace Qt framework is going to have a lot of work ahead of them.

qubex 3 years ago

You’re probably right. As an industry IT seems to reinvent the wheel on a cyclical basis, and every time it seems we get a lower-resolution polygon (combined with a drop in performance due to the ever-growing number of abstractions).

bjconlan 3 years ago

Yeah this is bound to happen again. But it's always going to be the case with "native" becoming less important.

I've been keeping my eye on what the Godot UI team has been up to and it looks like a pretty good starting point. But I think an evolution of UI input and interactivity is among us so fingers crossed we're going into a second (or 3rd depending on who you ask) UI renaissance... Or maybe were just looking at another "famous framework"

gedy 3 years ago

I don't mind some people wanting to do client side web UI in their favorite server-side language, but do think it's a mistake for companies to have even more fragmented tech stacks and seems a waste of businesses time. But I do worry about the web becoming this opaque wasm blob that you can't inspect (easily) or manipulate with addons, css, etc.

  • zigzag312 3 years ago

    > I do worry about the web becoming this opaque wasm blob that you can't inspect (easily) or manipulate with addons, css, etc.

    This is the biggest downside IMO. If web moves from readable HTML documents to WASM apps, many things will be lost.

account-5 3 years ago

What's wrong with flutter/dart in this respect? It's what I've chosen for true cross platform development over web technologies, after long consideration.

marto1 3 years ago

I'm glad I learned jQuery some years ago instead of jumping on whatever was on top in the js ecosystem at that time(no one remembers).

hoc 3 years ago

I feel you :)

No guess on the naming style of those frameworks?

nuc1e0n 3 years ago

I wouldn't take that bet. I think you'll be proved correct.