[HN Gopher] Why doesn't flutter.dev use flutter as their front end?
       ___________________________________________________________________
        
       Why doesn't flutter.dev use flutter as their front end?
        
       Author : owenpalmer
       Score  : 10 points
       Date   : 2022-11-14 19:31 UTC (3 hours ago)
        
 (HTM) web link (flutter.dev)
 (TXT) w3m dump (flutter.dev)
        
       | detaro wrote:
       | Because it isn't an app? (and web still is kinda a side thing for
       | flutter - you can do it, but it's not _the thing_ )
        
         | postalrat wrote:
         | "Flutter transforms the app development process. Build, test,
         | and deploy beautiful mobile, web, desktop, and embedded apps
         | from a single codebase."
         | 
         | "The second thing" is pretty close to "the thing".
        
           | detaro wrote:
           | I care more about what's happening in practice than marketing
           | speech semantics.
        
           | feet wrote:
           | "Test" is the second item in that list
        
       | UncleEntity wrote:
       | Shouldn't clicking the link answer the question?
       | 
       | --edit--
       | 
       | And since there's flutter devs here, how is dart as a general
       | purpose programming language?
       | 
       | I've looked into it a couple times but never really too hard
       | because it didn't seem like the Linux support was all that good,
       | probably changed now though.
        
       | kevmoo1 wrote:
       | Great question!
       | 
       | While we'd love to be the best solution for every problem, it
       | turns out the HTML-based web has been highly optimized for
       | decades for text-heavy, linear, reading experiences.
       | 
       | So we're staying focused on the places where Flutter does the
       | best job: interactive, non-linear, more-create-than-consume.
       | 
       | So our sites use HTML & CSS: flutter.dev, dart.dev, pub.dev
       | 
       | And our devtools are built in Flutter Web:
       | https://docs.flutter.dev/development/tools/devtools/overview
       | Along with web experiences from rows.com, reflection.app,
       | rive.app, supernova.io, and many more.
       | 
       | FYI: I'm the product manager working on Flutter and Dart web tech
       | at Google
       | 
       | (edit: fixed domain, mis-added one app)
        
         | owenpalmer wrote:
         | > HTML-based web has been highly optimized for decades for
         | text-heavy, linear, reading experiences
         | 
         | If browsers offered a lower level graphics API, would that give
         | a significant performance improvement over canvas?
         | 
         | What is the performance bottleneck for flutter web? Is it the
         | overhead of drawing to the canvas, or dom tree optimization?
         | 
         | I'm very interested in this topic.
        
           | yjbanov wrote:
           | (disclaimer: I work on Flutter Web)
           | 
           | It's mostly about algorithmic trade-offs. When you know your
           | content layout is static and is highly biased towards
           | vertical scrolling, you take different kinds of performance
           | trade-offs, such as pre-computing and caching layout and
           | painting output. Like when you know your array is sorted, you
           | can use binary search to find an element instead of scanning.
           | When pages do invalidate HTML layout you will actually see
           | very bad jank. This is one of the classic performance
           | pitfalls on the web, even using "classic" frameworks, like
           | React or Angular. Flutter's current widgets and rendering
           | primitives are biased towards dynamic content, where over-
           | computation like this would hurt performance when you layout
           | or paint isn't stable. Instead, we optimize for volatile
           | content, using tricks like lazy rendering and repaint
           | boundaries. We can still add primitives needed to render
           | static content efficiently. We just feel like we're not yet
           | sufficiently done with the non-static case.
        
       ___________________________________________________________________
       (page generated 2022-11-14 23:02 UTC)