[HN Gopher] Why flutter doesn't deserve a place on the Linux des...
       ___________________________________________________________________
        
       Why flutter doesn't deserve a place on the Linux desktop
        
       Author : stsewd
       Score  : 33 points
       Date   : 2021-05-09 20:47 UTC (2 hours ago)
        
 (HTM) web link (news.itsfoss.com)
 (TXT) w3m dump (news.itsfoss.com)
        
       | jdmg94 wrote:
       | I'll wait for someone to figure out react-native for linux
       | instead
        
       | PedroBatista wrote:
       | Flutter is gaining serious traction because it relatively sane
       | and *works well* in iOS, Android and (I think )Mac and Windows.
       | You can actually make an application that looks decent and isn't
       | a pile of shoehorned libs with an HTML engine.
       | 
       | I lost years waiting to have a decent way to develop desktop
       | applications for Linux. After 20 years no one could get their
       | shit together and both Mac and Windows ( yes, even Windows )
       | always had vastly superior desktop toolkits AND sane ways to
       | package and deliver them to the mere mortals. Even when Microsoft
       | seemed to fuck up everything they touched, Linux couldn't get
       | their shit together.
       | 
       | There are many reasons for this and the other 2 had money to
       | throw at this like it was free, BUT the Linux community never
       | proved they can deliver a product, which in this case the
       | customers were developers that have a job to do. A lot of
       | lectures, morals and programing tricks, but never a product to be
       | used by others. ( I'm talking exclusively about GUI toolkits here
       | )
       | 
       | It's simply not in their nature and it's OK, but don't cry about
       | when some evil conglomerate rolls up in town and gets all the
       | action.
        
         | pydry wrote:
         | >don't cry about when some evil conglomerate rolls up in town
         | and gets all the action.
         | 
         | ok but also don't cry if they drop support for it after 18
         | months and your app dies.
        
           | PedroBatista wrote:
           | Exactly, and with all that risk Flutter _still_ manages to
           | win, that 's how screwed up desktop Linux has been.
        
         | saagarjha wrote:
         | Of course, there is much more to a good application than just
         | how it looks.
        
           | ch_123 wrote:
           | There isn't any reason why an application can't look good
           | _and_ have good functionality, reliability etc. As much as
           | developers may like to assume that looks are irrelevant, they
           | are for quite a lot of non-technical consumers/customers.
        
         | dvfjsdhgfv wrote:
         | > _works well_ in iOS
         | 
         | Many people would disagree with you.
        
           | rektide wrote:
           | Hard to assess how much of this is Google's fault, or
           | anything that can be dealt with by anyone.
           | 
           | Do folks have some examples of non-native iOS platforms that
           | do have flawless no-lag 120Hz display?
        
         | IceWreck wrote:
         | > and _works well_ in iOS, Android
         | 
         | from what I know, Flutter is still unusable on iOS because they
         | haven't found a way to fix the extremely janky first load
         | (after install, after upgrade, after reboot) animations.
         | 
         | This problem appeared more than a year ago when Flutter made
         | the switch from OpenGL to Metal on iOS.
        
       | xzcvczx wrote:
       | Qt's decision to limit LTS updates to commercial customers only
       | means that new projects are having to look at alternative cross-
       | platform gui toolkits. all the toolkits mentioned in the article
       | have downsides
        
       | robochat wrote:
       | In general, developing gui is still too hard with too many trade-
       | offs. Qt is so very large and requires C++ knowledge; or you can
       | develop in python but python applications are hard to distribute.
       | For other languages, the library bindings are often unmaintained
       | because it is a lot of work or there are multiple choices and it
       | is hard to know which one to use. QML is interesting but I tried
       | to develop a csv viewer with it and found it didn't have all of
       | the widgets that Qtwidgets has.
       | 
       | There are lots of other options, almost too many: Electron apps
       | are good for web developers but they are also inefficient and use
       | more memory than I think is necessary. Pascal and Lazarus seems
       | useful but I don't really want to learn Pascal as it's not a
       | popular language now. Vala could have been good but it seems to
       | have lost momentum. There's Swift but it still seems to be mostly
       | an IOS thing. There are also wxwidgets, gtk, fltk, ... None seem
       | to really convince me that they make gui development straight
       | forward.
       | 
       | Many other languages never really have the manpower to develop
       | gui libraries or even polish their bindings to libraries like Qt
       | and GTK, or there'll be 3 or 4 choices that are all half
       | finished. What would be nice, would be to be able to easily
       | develop gui in a modern compiled language that creates compact
       | executables for distribution that look good on the linux desktop.
       | I'm thinking about languages like go, rust or nim.
        
         | hjek wrote:
         | I like what Syncthing are doing: They just pop open a web
         | browser window for the UI. It's like making an Electron app,
         | except without having to ship an entire browser with your app.
         | I have no idea why it's not more common.
        
       | canadianfella wrote:
       | > I'm sure you can agree that Flutter is a bad idea.
       | 
       | I don't agree.
        
       | ultim8k wrote:
       | Why not use React Native which utilises a more commonly adopted
       | language than Dart?
        
       | josteink wrote:
       | Not a Flutter-fan myself, but this argument is flawed:
       | 
       | > As we have touched on previously, there are already enough UI
       | toolkits available for the Linux desktop. Most notably among
       | those are Qt and GTK
       | 
       | The aim for Flutter is not to _just_ support the Linux desktop,
       | but also Mac, Windows, iOS and Android, tablets and phones.
       | 
       | Something tells me you won't find neither Qt nor GTK a popular
       | option for delivering cross-platform applications to all those
       | targets.
        
         | viraptor wrote:
         | They may not be popular, but Qt does support them all. See Qt
         | for iOS https://doc.qt.io/qt-5/ios.html - it even supports
         | watches.
        
         | teh_klev wrote:
         | It's also a bit of a short sighted, if verging on arrogant
         | viewpoint. I thought the whole ethos of FLOSS (I did check the
         | license which is a 3-clause BSD) was to have choice? Adding
         | another UI toolkit to just a handful existing frameworks
         | doesn't seem like adding to an already overcrowded space.
         | 
         | Sure Google might discontinue their interest but it can be
         | forked and carry on if there's enough momentum.
        
           | yawaramin wrote:
           | It's not just about choice. This article is likely a response
           | to Ubuntu betting on Flutter for desktop apps:
           | https://www.omgubuntu.co.uk/2021/03/ubuntu-building-apps-
           | wit...
           | 
           | A bet like that is putting a large part of Linux desktop app
           | development in the hands of Google, which as a history of
           | killing or deprecating their projects. Sure it can be forked
           | if there's 'enough momentum', but that would suddenly dump a
           | huge burden on the Linux ecosystem that it doesn't need. Why
           | not stick with established players like Qt, who actually have
           | a proven sustainable business model (dual OSS+commercial) for
           | decades now, or a classic like FreePascal+Lazarus, which is
           | also established for decades?
        
             | teh_klev wrote:
             | > A bet like that is putting a large part of Linux desktop
             | app development in the hands of Google
             | 
             | Sure, but other Linux distributions are available. I'm not
             | trying to respond in a facetious way, but since I started
             | using Linux in around 1993-94 (Slackware), that was how you
             | voted, with your feet, when something really annoyed you.
             | 
             | > Why not stick with established players like Qt, who
             | actually have a proven sustainable business model...etc
             | 
             | Well, keep using Qt, you're free to do so. Isn't this how
             | it's supposed to work?
        
           | squiggleblaz wrote:
           | >It's also a bit of a short sighted, if verging on arrogant
           | viewpoint. I thought the whole ethos of FLOSS (I did check
           | the license which is a 3-clause BSD) was to have choice?
           | 
           | The ethos of FLOSS is to be able to change software and give
           | it to your colleagues and friends. Gnome -- one of the major
           | competitors to Flutter for Linux desktop programs -- is
           | famously an example of a choice-unfriendly floss project.
        
         | yawaramin wrote:
         | > you won't find neither Qt nor GTK a popular option for
         | delivering cross-platform applications to all those targets.
         | 
         | Neither is Flutter, so that's not really an argument. And in
         | case you're arguing that they _don 't_ support those targets,
         | here's a reference of Qt's supported platforms:
         | https://doc.qt.io/qt-5/supported-platforms.html
        
       | karmakaze wrote:
       | Unless we want Electron for desktop apps, we need to give these a
       | chance. We had others but they didn't take off. Java FX has
       | gotten lost in the shuffle. Widget toolkits that are based on C
       | ABI's are too low-level for most apps and we need something with
       | a smoother cross-platform development experience.
        
       | mark_l_watson wrote:
       | I mildly disagree with the article. "there are already enough UI
       | toolkits available for the Linux desktop" - that is not my view
       | of the Linux ecosystem.
       | 
       | I am not a UI developer, but a year ago I did evaluate Flutter
       | and SwiftUI. I liked both, but it was so much easier using
       | Flutter, and cross platform is not much more work.
        
       | kmeisthax wrote:
       | >Additionally, Google doesn't have a particularly good track
       | record when it comes to maintaining projects.
       | 
       | This is not a great argument when talking about a Free Software
       | project. Flutter is 3-clause BSD licensed, so even if Google
       | abandons it, it's not like it suddenly traps all the applications
       | built on top of it. If the toolkit code was unusually difficult
       | to maintain, then sure, you shouldn't use it.
       | 
       | The article seems to _hint_ that Google _might_ open-core Flutter
       | like they did with Android, but I see no evidence for this. Hell,
       | even Chrome, technically an open-core project, is more or less
       | entirely usable as Chromium (the Free part of Chrome) and
       | projects exist specifically to remove all remaining Google
       | services and telemetry (e.g. Ungoogled Chromium). If Google made
       | Flutter practically unusable without other proprietary
       | components, then yes, Google abandoning it does become a risk of
       | using Flutter. However, I don 't believe this to be the case.
       | 
       | Applications looking out-of-place on Linux is not something
       | Google invented. Linux does not have a common look-and-feel, nor
       | is there a single point for theming to occur. Even concepts like
       | the window decoration, once exclusively the property of
       | reparenting window managers, have been totally encroached upon by
       | the window toolkit. So adding Yet Another Toolkit to Linux app
       | development is not any more of a harm than the current situation
       | already may be.
        
         | DoctorNick wrote:
         | >Hell, even Chrome, technically an open-core project, is more
         | or less entirely usable as Chromium (the Free part of Chrome)
         | and projects exist specifically to remove all remaining Google
         | services and telemetry (e.g. Ungoogled Chromium).
         | 
         | It has become increasingly difficult to maintain forks of
         | Chromium due to the sheer complexity and build time. Merging
         | patches and testing them for each new release is a huge bitch
         | due to the time required to compile (1h40 mins on a 3700X). You
         | can't do iterative development, since most changes require
         | recompiling from scratch, and forget about regression testing.
         | It's only really feasible to do serious development on Chromium
         | with either the Google-only tools, like Goma, or
         | building/renting your own expensive build farm.
        
         | throw7 wrote:
         | No, you are wrong. Maintainership, and the quality thereof, is
         | an excellent argument when talking about ANY software project,
         | Free Software project or not.
        
       | Barrin92 wrote:
       | The point of Linux is to have choice. Flutter doesn't take any
       | options away from users, it just adds an additional one, and
       | competition is good. Extremely strange article
       | 
       | > _Flutter doesn't make use of the standardized Qt and GTK
       | widgets. This means that Flutter apps look out-of-place on Linux,
       | especially on GTK-based desktops_
       | 
       | the point aside that this ship sailed a long time ago when
       | Electron apps gained in popularity and people don't really have
       | this expectation anyway (Qt and GTK apps also don't look the
       | same), Linux isn't macOS. There's never been some sort of
       | informal requirement that applications need to speak the same
       | design language set by one single standard or organisation.
       | 
       | Linux users use software built at Google, Facebook, by open-
       | source communities, standalone developers or whoever else, even
       | proprietary software if they want to and Flutter is open-source
       | for what it's worth anyway.
        
         | bastawhiz wrote:
         | >Flutter doesn't make use of the standardized Qt and GTK
         | widgets. This means that Flutter apps look out-of-place on
         | Linux, especially on GTK-based desktops
         | 
         | Isn't it a bit ironic to call this out as a downside when Qt
         | and GTK apps generally look far out of place on operating
         | systems that aren't Linux? It's really rich to say "this
         | software isn't welcome because it feels out of place" when the
         | preferred alternative feels far out of place (in the same way!)
         | for multiple orders of magnitude more desktop computer users.
        
       | loa_in_ wrote:
       | I hate (sic) that some people attempt to dramatise what are
       | purely technical decisions, like choosing the OS or the
       | framework.
        
       | rektide wrote:
       | I dont want Flutter on Linux desktop because it will not
       | integrate well. Flutter apps are almost certainly not going to
       | use DBus, or other Freedesktop standards to fit in well, in the
       | vast majority of cases. This isn't an inherent limitation, it's
       | just that cross-platform apps generally tend to be lowest-common-
       | denominator in nature. (It'll be interesting to see if
       | Canonical/Ubuntu, in their adoption, do buck that trend &
       | integrate well with Freedesktop systems.)
       | 
       | I don't want Flutter apps because it's highly unlikely Flutter
       | apps will visually integrate with my desktop. I can pick GTK and
       | KDE themes, and a good number of apps will fit the look I have
       | picked, but with Flutter, the power & control seems to lie in the
       | app designers hands, not the users.
       | 
       | So I have arguments against Flutter. I also don't like this
       | article's arguments against Flutter. They seem shallow, petty,
       | emotional, & highly non-technical. They seem like pointless
       | griping. I worry the article is giving more credence to Flutter
       | with it's shallow damning than it is dissuading anyone.
       | 
       | They argue that Linux doesn't need another toolkit. This status-
       | quo-ism feels very pro-Cathedral-ism, anti-Bazaar-ism. Free
       | software should be hunting for better ways to do things. There
       | being existing ways to do things is not a good argument against
       | trying for other.
       | 
       | The author argues Google does not have a good reputation
       | maintaining software. They cite Google Glass and Google Play
       | Music as examples. There's a lot of examples of Google ending
       | support for things, true. Glass, I believe, is still sold to
       | enterprises, and had a new hardware edition come out 2 years ago.
       | This is hardly not supported. Google Play Music was migrated to a
       | newer alternative application, and as a user of both, it's been,
       | mostly, pretty decent a transition. In terms of the open source
       | libraries they release on Github, generally they seem to be well
       | supported & long lived. Google Guava has had it's 30th release.
       | There's a vast number of projects that have been well supported
       | for a really long time.
        
       | dabinat wrote:
       | IMO Flutter competes with Electron, not necessarily Qt. Flutter's
       | key advantage is that it compiles natively and has less runtime
       | bloat than Electron.
       | 
       | It does not offer platform-native UI widgets like Qt, nor does it
       | have Qt's breadth of features. But not every app needs that.
        
       | anxiostial wrote:
       | what a pointless post, you didn't really make any real arguments
       | here, you just complained that we already have stuff but didn't
       | explain why you think it is redundant, because there are actually
       | differences between all of these (Qt vs Electron vs Flutter vs
       | etc) and then complained a bit about google, like why even?
        
       ___________________________________________________________________
       (page generated 2021-05-09 23:01 UTC)