[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)