9 ms·
No Flutter on Linux desktop
- xzcvczx 5y agoQt'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
- pjmlp 5y agoQt developers have bills to pay.
- canadianfella 5y ago> I’m sure you can agree that Flutter is a bad idea. I don’t agree.
- josteink 5y agoNot 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.
- teh_klev 5y agoIt'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 5y agoIt'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-with-flutter-in-future 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 5y ago> 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, if you're a developer then keep using Qt, you're free to do so. Isn't this how it's supposed to work?
- saurik 5y agoI guess they could alternatively bet on Gnome; they certainly don't have a history of arbitrarily deprecating large swaths of API and functionality while spending most of their time chasing the dream of replicating whatever "new shiny" Microsoft has come up with. /s ;P As for Qt, they have continuously pushed their OSS branch down on their priorities over time, with the latest (that I know of) round of changes from last year being that if you want to download official Qt binaries--ones that are at all supported by them--you have to have a Qt account; offline installers and LTS access are now commercial-only. This is way worse than Flutter; and, as much as I hate hate hate Google in general and am a very big complainer about their shut downs of everything, Flutter feels more like Android or Chrome--both of which I feel will be safe for quite a while, at least as supported products if not ones that are mostly open source--than like all the other long list of things Google has killed (which certainly has included developer tooling).
- yawaramin 5y ago> 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 https://doc.qt.io/qt-5/supported-platforms.html
- viraptor 5y agoThey may not be popular, but Qt does support them all. See Qt for iOS https://doc.qt.io/qt-5/ios.html https://doc.qt.io/qt-5/ios.html - it even supports watches.
- kmeisthax 5y ago>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 5y ago>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.
- saurik 5y ago> You can't do iterative development, since most changes require recompiling from scratch... Huh, did they break something to cause this? I see no reason why this would be true for most things people want to work on (certainly if you edit files in "base" you are going to have a bad time...).
- Barrin92 5y agoThe 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 5y ago>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.
- Wowfunhappy 5y agoAre we talking about the same thing with regard to qt? My qt mac apps don’t feel quite as good as native cocoa apps, but they come pretty close. I certainly prefer it to electron.
- bastawhiz 5y agoIt depends on a few things. With the "fusion" style, the basic widgets look good, but they look kind of off—definitely not native. Some widgets seem to have received little attention, like the calendar widget. The classic "rectangle with a dark to light gray gradient" button is a good giveaway. Dropdowns where the text doesn't get centered. Steppers next to text inputs that are the wrong size. Focus rings that are in the wrong place (compared to native counterparts). Electron, at the very least, has Chromium inputs by default, which are arguably about as close to the native equivalents that you can get. Developers almost always restyle them, but you can't fault Electron for that.
- anxiostial 5y agowhat 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?
- PedroBatista 5y agoFlutter 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.
- saagarjha 5y agoOf course, there is much more to a good application than just how it looks.
- ch_123 5y agoThere 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.
- IceWreck 5y ago> 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.
- davidb_ 5y ago
- mark_l_watson 5y agoI 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.
- karmakaze 5y agoUnless 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.
- loa_in_ 5y agoI hate (sic) that some people attempt to dramatise what are purely technical decisions, like choosing the OS or the framework.
- dabinat 5y agoIMO 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.
- jdmg94 5y agoI’ll wait for someone to figure out react-native for linux instead
- GekkePrutser 5y agoI think part of the problem here is that Linux doesn't really have anything 'native' when it comes to GUI. Even the most common options are split into GTK and Qt derivatives (of various versions too). Unlike pretty much every other OS that has one native GUI. But it would be amazing if a react-native app would adapt to KDE or Gnome/GTK style widgets based on the DE used.
- robochat 5y agoIn 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 5y agoI 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.
- GekkePrutser 5y agoYeah if it absolutely has to be web-driven, I prefer to use my own browser and just have it as a pinned tab in Firefox. That way I can leverage its privacy protection too.
- nexuist 5y agoThis is what I do for my home-grown apps. I write as much as I can in JS, and then provide a localhost API to access native operations like notifications or file management. I have one always-on background server that lets me execute arbitrary SQL on one SQLite file and use that as a shared database between all of my small apps and it works great.
- ultim8k 5y agoWhy not use React Native which utilises a more commonly adopted language than Dart?
- crocodiletears 5y agoHow's desktop support?
- rektide 5y agoI 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.
- rnd0 5y ago"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. " On the plus side -removing the Linux-centric dependencies could potentially level the playing field for the BSDs. This would be a good thing because it would prevent Linux from becoming a Windows-style monoculture. Meaning if Linux continues to go off into the weeds, then the BSD having a viable desktop that doesn't depend on the freedesktop foundation infrastructure will insure that desktop users aren't all left hanging (relying on windows or macos).
- daviddever23box 5y agoFlutter most definitely deserves a place on the Linux desktop, if in fact you ARE in favor of choice. Concerns about it overtaking GTK and Qt are well-founded, because they are lousy to work with (and in the case of Qt, non-free). If, as a developer, I build cross-platform applications that deploy across desktop and mobile platforms, I want sane tooling. Dart and Flutter are a step in the right direction, as is Go, another language birthed at Google.
- easrng 5y agoIronic how they are criticizing Google on an AMP page
- phendrenad2 5y agoI didn't realize that the Linux community was ruled over by a committee who can dictate such things. Where and when do I vote on illegalizing the use of Flutter in Linux apps?
- mastrsushi 5y agoQT, GTK, and all these GUI "toolkits" (love that 90s OOP fetishist term btw) are outdated technology. The future of apps is layout engines, not C/C++ libraries with community mantained bindings to high level languages. All these XP era look alike apps like Clementine are going to be left for the minority of developers willing to mantain these old projects. Everyone knows that true Unix is CLI, and anything user friendly or consumer oriented will either be on the browser, or run in some render engine like Flutter. To me that's great, the future looks bright and cross platform.
- jeppesen-io 5y ago> As we have touched on previously, there are already enough UI toolkits available for the Linux desktop. What exactly is enough? I think this author clearly does not understand what problems Flutter is trying to solve or why someone might want to use it > Additionally, Google doesn’t have a particularly good track record when it comes to maintaining projects. Just take a look at Google Glass and Play Music Those are not projects, those are services. This is open source. If needed it can be forked or moved to different owners. Golang? Kubernetes anyone? Both are huge and started at Google > Ever since the creation of Linux in 1991, major corporations have mostly left it alone. Nonsense. Corps make a huge part of commits to the kennel and other projects Unclear what world this author lives in
- akagusu 5y agoFlutter on Linux has nothing to do with Google, cross platform development or choice. Technically, Flutter is just another way of shipping apps, just like Electron and many other Electron-like alternatives. Flutter on Linux just got attention because it was adopted by Canonical to build Ubuntu apps. But it's just an illusion to think that Canonical chose Flutter because it is technically superior to GTK or QT. Canonical relies heavily in GTK and Gnome for its products but has almost no influence over GTK and Gnome development when comparison with its main competitor, Red Hat. So they decided to use Flutter to escape from competitor influence or to have a technical advantage or both.
- anaganisk 5y ago> Warning: Undefined array key "apester_tags" in /srv/users/itsfoss/apps/newitsfoss/public/wp-content/plugins/apester-interactive-content/inc/qmerce-tag-composer.php on line 36 I dont think verbose logs must be printing on a web page when it's public. Or is it fine?
- AntiImperialist 5y agoFirst of all, I hope nobody gets software advice from a dipshit with PHP errors all over the page. Qt is a commercial product with big licensing fees, not suitable for small businesses. Canonical did use it for a long time... but they're switching to flutter because it's superior. Dart is a much better language to write GUI apps (or any app for that matter) than C++ will ever be. Electron is a performance nightmare compared to flutter.