7 votes

Version 2 of Google’s Flutter toolkit adds support for desktop and web apps

7 comments

  1. [4]
    wirelyre
    Link
    Oh no. My experience has been exactly the opposite: Flutter's canvas rendering is very slow, and it feels totally unlike the native UI. I'd much rather have my browser dealing with text, rather...

    On the web platform, specifically, Sneath noted that the team deliberately started out with a very standard, DOM-centric approach. But while that worked fine, it also meant performance was held back by that, especially for more advanced features. Over the course of the last year or so, the team started working on what it calls Canvas Kit. This WebAssembly-based project takes the same Skia graphics engine that powers Android and Chrome itself and makes it available to web apps.

    Oh no. My experience has been exactly the opposite: Flutter's canvas rendering is very slow, and it feels totally unlike the native UI. I'd much rather have my browser dealing with text, rather than relying on every single web app to manually implement copy–paste.

    And this replaces all HTML elements with a single canvas. Not only is the code driving a web app impossible for users to read, now the entire display layer is hidden too!

    This stabilization seems terrible for the open web. :-(

    8 votes
    1. [2]
      skybrian
      Link Parent
      I haven't seen any good demo apps yet. Maybe they've optimized it since you saw it? Also, it looks like they still have both renderers. But yeah, if you're making a regular web app, I'm not sure...

      I haven't seen any good demo apps yet. Maybe they've optimized it since you saw it? Also, it looks like they still have both renderers.

      But yeah, if you're making a regular web app, I'm not sure you need Flutter? It might work better for games where it's all custom rendering anyway.

      2 votes
      1. wirelyre
        Link Parent
        Okay, that's comforting — I only remember trying out the canvas renderer. Maybe the sky hasn't fallen yet.

        Okay, that's comforting — I only remember trying out the canvas renderer.

        Maybe the sky hasn't fallen yet.

        1 vote
    2. Greg
      Link Parent
      I get the impression we've really come full circle here - my bet is that the canvas renderer basically becomes Flash (with a few notable advantages), and we'll have that weird transitional period...

      I get the impression we've really come full circle here - my bet is that the canvas renderer basically becomes Flash (with a few notable advantages), and we'll have that weird transitional period where a few people try to build actual websites with it but mostly it finds a niche in app/game experiences.

      1 vote
  2. [2]
    sleepydave
    Link
    From what I've seen there's been two general reactions to this from the developers in my circles: "Nothing has changed, this will be a minor improvement at best compared to what already exists and...

    From what I've seen there's been two general reactions to this from the developers in my circles:

    1. "Nothing has changed, this will be a minor improvement at best compared to what already exists and nobody wants to port over their ain't broke Electron code"
    2. "Electron get fucked lol"

    Could anybody who actually has to work with this kind of stuff clue me in? What would make this sort of UI framework more performant on desktop than something like Electron?

    4 votes
    1. stu2b50
      Link Parent
      In terms of performance, Flutter is far more performant just because you're not embedding a rather large browser. Modern web rendering is a super hard problem, and it is incredible overkill for a...

      In terms of performance, Flutter is far more performant just because you're not embedding a rather large browser. Modern web rendering is a super hard problem, and it is incredible overkill for a gui framework.

      However, the real question isn't whether or not Flutter is superior in performance - obviously it is. But is the web target good enough? From the demo, it looks like it's not there yet. More and more, the web version of apps is the most important and highest traffic version of the app, so it is important that the web version runs smoothly and as expected, more than if the desktop clients run well.


      I'll say that in my experience Flutter is really good for cross platform mobile development, and that has been their focus. I suppose now that that is mature they're looking more at desktop (i.e see the canonical announcement included that Ubuntu will use flutter for their included apps now) but it's not an area of high growth, since webapps are eating the traditional desktop application's lunch.

      6 votes
  3. skybrian
    Link
    Also, here's the announcement for Dart 2.12.

    Also, here's the announcement for Dart 2.12.

    Today we’re announcing Dart 2.12, featuring stable versions of sound null safety and Dart FFI. Null safety is our latest major productivity feature, intended to help you avoid null errors, a class of bugs that are often hard to spot, as detailed in this video introduction. FFI is an interoperability mechanism that lets you invoke existing code written in the C programming language, such as calling Windows Win32 APIs. Dart 2.12 is available today.

    3 votes