DEV Community

Discussion on: Notes on the future of WASM and JS

Collapse
 
redbar0n profile image
Magne • Edited

Some more notes on how Flutter will play into this:

Flutter vision:

  • Google want to be platform-independent. Flutter was thus not concieved as an SDK for iOS and Android. It's an inherently cross-platform engine.
  • Vision is "a portable toolkit wherever you need to paint pixels". ref
    • Chromebook
    • iPhone
    • Android
    • Raspberry Pi
    • Mac
    • Windows

Google wants Flutter to succeed because of their ChromeOS and Android replacement Fuchsia OS which uses Flutter for its UI.

Fuchsia doesn’t use the Linux kernel, but a new kernel Zircon (derived from Little Kernel, a real-time kernel for embedded devices. It uses event-driven programming and observers instead of unix-like signals, and don’t block the main thread. Resources are objects, not files, unlike Unix systems. It is presumably more modular than the Linux kernel. ref), which is designed “to run on anything from 32-bit or 64-bit ARM cores to 64-bit ppc processors” meaning “from embedded systems to smartphones, tablets, and personal computers”. ref Android is not a modular OS, while Fuchsia is. Android turned out too clunky to fit on IoT embedded systems. ref

Flutter to WASM on Web?

  • “ Using a combination of DOM, Canvas, and WebAssembly [WASM], Flutter can provide a portable, high-quality, and performant user experience across modern browsers.” but Flutter can use HTML renderer or CanvasKit renderer: “Choose the html option if you are optimizing download size over performance on both desktop and mobile browsers. Choose the canvaskit option if you are prioritizing performance and pixel-perfect consistency on both desktop and mobile browsers.”

_But, isn't Flutter on web (HTML5 canvas) a threat to Google (relying on document indexing)? So would Google eventually kill it, or would they simply find a way of crawling the HTML-like widget trees that Flutter creates and renders to the canvas?

Similar to how Facebook have been envisioning bypassing the DOM.

What about programming styles? What is in vouge and what will be preferred in the future?

Where does this lead to?

Facebook is developing Eye OS for their VR/AR initiatives, to be independent of Google's Android. ref and ref. See: React Native's Many Platform Vision.

What is interesting is that Microsoft (+ Facebook obviously) seems to be going for React Native as the cross-platform tool of choice: microsoft.github.io/react-native-w...

Whereas Google is going for Flutter.

And Apple has Swift/Objective-C, in their own iOS+macOS ecosystem. (Will they ever optimise for cross-platform? probably not, if history is any measure)

So will this cross-platform battle come down to a battle between Operating System manufacturers?

Google vs. Microsoft & Facebook (vs. Apple?) ...

What do you think?