Live data from Hacker News

Flutter for Linux

snapcraft.io

191–200 of 225 posts

Re: Flutter for Linux

#191
post #177
post #154

Earlier quoted context omitted.

So unless GStreamer isn't a part of Gnome, Gnome is indeed using Rust as well.

You mean the GStreamer bindings ? And it would matter—some contributors could choose Rust, but Gnome as a project isn't moving to Rust. What aren't you getting here? Are you going to point at people using C++ or C# next? I'm done with this conversation.

So those bindings are official part of Gnome project or not?

As for C++ it looks pretty official to me, it is even considered an internal resource:

https://developer.gnome.org/references#api-bindings

As for being done with me, who cares when the official web site sends another message.

Re: Flutter for Linux

#192
post #72

Earlier quoted context omitted.

"Canonical's Snap store" Correction: it's "the app store for Linux". /s

Show me any repo of snaps other than Snapcraft.

No. And I can't imagine what relevance that would have.

If Linux has an "app store" it's Docker Hub. But "Linux" doesn't actually have an app store, and attempting to claim that status is tone-deaf hubris.

Re: Flutter for Linux

#193

Earlier quoted context omitted.

> using the canvas for rendering content This sounds like Flash all over again. Let me guess - no native text select, copy & paste supported? Scrolling is "wrong" in a subtle way?

We haven't reached perfection yet (that's why we're still in beta), but our goal is to be _very_ different to Flash in these kinds of areas. Here's an example of text fields: https://gallery.flutter.dev/#/demo/text-field Right-click and you have access to the browser context menu; choose Inspect and you can see a or control.

Don't kid yourselves. Web target is very much early alpha for Dart.

There are so many obvious problems with it:

- Everything relies on 1500 nested custom elements with hardcoded transforms to put them in place

- This breaks default browser interaction with the page entirely. Because what may look like a page is actually a bunch of absolutely positioned controls with absolutely positioned canvas inside them.

- Scrolling, one of the most important things in a browser, is broken. It's janky and slow (manually re-implemented?). I'm guessing containers have to be explicitly marked as scrollable with correct sizes, because resizing the browser window does not make content scrollable (try it with the demo you linked).

- Text is broken. Because it's rendered onto a canvas. So, all text interactions + accessibility is broken. Fonts are rendered incorrectly. I mean, on the demo page you can't even copy code other than through the "Copy All" button.

- Navigation is broken. Navigating the demo apps (which have more than one page) is not reflected in the url, so the back/forward buttons are broken

- Keyboard navigation is broken. Nearly none of the elements can be tabbed to. Except some buttons in demo pages. I guess they are explicitly marked as such?

- When elements can be navigated to by keyboard, they can only be activated by Spacebar. Even though Enter also exists. I'm pretty sure forms cannot be submitted by pressing enter, either.

- iOS-style date pickers are clipped in Safari

- 2D transformations demo is broken in Safari

It's just me spending five minutes on the demo site.

The effort is certainly commendable. It's not beta yet. It's possible you may want to scrap this and go the Figma route. They implemented their own rendering engine in WebGL: https://www.figma.com/blog/building-a-professional-design-to...

-

Re: Flutter for Linux

#194

Earlier quoted context omitted.

I'm all for Snap criticism, but Ubuntu is clearly good software made by Canonical. We need to stop using this level of inflammation in our discourse.

> Ubuntu is clearly good software made by Canonical I can only speak for my own experience but if I had to choose between using Ubuntu for the rest of my life and losing a finger, I think I would lose a finger. There is no worse operating system I have ever used. It is Linux made by people who never bothered to open a manpage, software engineered by people who think engineering is waste of time. It is basically the R…

This comment adds no value to the discussion; it's "Ubuntu bad, Canonical bad" stretched over 4 paragraphs. Yes, it's clear that you don't like them. HN discussion are expected to be more substantial than this.

Re: Flutter for Linux

#195

What is the off chance that Google will drop Flutter?

It's not so much that they will drop it but they may loose interest in it and let it die off naturally. It all depends if they can convince enough people to use it. I've not actually seen or used any flutter apps yet. I'm sure they exist if you go looking for them but it's early days. Most stuff out there is not flutter based.

Google needs to work on untangling it from Dart and start actively working on Kotlin support. Dart is actually compiled to native code and the most of the UI stuff is basically written in C++. Kotlin has a native compiler already, so that's not necessarily a show stopper. And given the huge amount of Android Kotlin developers out there, it's kind of an obvious thing to do. Yet they choose not to work on this.

Fixing this would result in a lot of existing developers having an easy transition to flutter that are currently not planning to go there.

The reasons they are not doing this are entirely political and can be summarized as "not invented here".

Kotlin is a problem for them because it's 1) popular 2) the main language for Android development and 3) controlled by a company that is not Google.

Flutter is their attempt to fix this. They can't kill Kotlin because it's popular but they can try to replace it and nudge developers away from it. The problem for them is that Dart is not good enough. It's a hard sell and effectively a downgrade if you are used to Kotlin. They've been trying to fix that by adding features to Dart that are clearly intended to narrow the gap.

Fuchsia exists for the same reason. Yes there are technical reasons for it as well but the real reason is control over the ecosystem. The combined strategy is risky and dependent on the success in the market of their pixel phones. So far this is not looking great. Google convincing OEMs to jump on the bandwagon is going to be very dependent on them being able to launch a fuchsia phone. I'm pretty sure none of the OEMs is keen of having more Google control and oversight. So effectively, Google would have to launch a Fuchsia phone, make sure it becomes popular, and then twist the arms of all their OEMs to abandon Android. Failing to do that would result in a new phone platform with tiny marketshare that users, developers and OEMs can safely ignore. The mere prospect of that is the reason I expect it will never make it to market.

Flutter may or may not survive that decision. What's going to be interesting is what everybody else does. Flutter and react native are so far the two dominant cross platform approaches. React native could get a lot more interesting with things like wasm opening up that space for Kotlin and Swift developers. A lot of Kotlin developers favoring React Native over Flutter would be a big problem for Google.

Re: Flutter for Linux

#196
post #187
post #56

Earlier quoted context omitted.

>It's the best multi-platform solution for mobile They announced beta version for Windows in the last few weeks, so what to expect? I've been using it on linux desktop for 4 months so far, there were many problems, but it's absolutely the best framework so far. It's miles ahead of Qt (which I've been programming in since 2010). Dart and flutter are just years ahead of Java, C#, Qt and React Native in terms of positiv…

Flutter widget hell makes Javascript callback trees look tame. I just don't get the buzz around this atrocious style of coding.

You commented this elsewhere too without elaboration. I'm curious as to what you mean by 'widget hell'.

I founded the nested tree of widgets syntax good after getting over the (short) initial learning curve. Some basic good programming practice over shared bits and it was very maintainable even for complex screens.

Re: Flutter for Linux

#197
post #17

What is the off chance that Google will drop Flutter?

This matters only if Flutter is a closed source project – but it's not. You can fork it on Github right now and continue working on it even if Google pulls its engineers off. I'd assume that those of us (and there seem be a lot of people) invested in it will continue working on it.

I like the architecture that Flutter has chosen where the only thing you need from the OS is a canvas and everything is painted by Flutter. It gets you a good programming model and predictable results regardless of target.

The downside is that in order to produce iOS or Android looking UIs someone needs to create every iOS and Android standard widget, with the same behaviour. If those widgets change in future versions of the OS, or new ones are created then more work needs to be done.

This is fine in the current project setup - the work is worth it to Google, but without a corporate backer that's the sort of thing that will fall behind.

Re: Flutter for Linux

#198
post #28

I have a request for all the Flutter folks/fans - it would be great if you all can say something about how you can get over / stay sane with the staircase looking nesting of code blocks and how you manage to keep it all in your head to navigate the code base. I started my career writing single threaded Palm OS apps (64k limit) - there was like 10 possible widgets with 5 possible events on each widget and rest of it w…

> it would be great if you all can say something about how you can get over / stay sane with the staircase looking nesting of code blocks and how you manage to keep it all in your head to navigate the code base. The same way you would in any other code base, with the ample use of names and modules, and breaking nested components and logic into their own classes and functions. The problem is that it requires disciplin…

Trouble is that in most Flutter code the widget staircase is idiomatic. Swift UI also seems to have chosen the same path.

Re: Flutter for Linux

#199
post #187

Earlier quoted context omitted.

Flutter widget hell makes Javascript callback trees look tame. I just don't get the buzz around this atrocious style of coding.

You commented this elsewhere too without elaboration. I'm curious as to what you mean by 'widget hell'. I founded the nested tree of widgets syntax good after getting over the (short) initial learning curve. Some basic good programming practice over shared bits and it was very maintainable even for complex screens.

Why is this style of programming frowned upon in Javascript yet idiomatic in Flutter?

Re: Flutter for Linux

#200
post #199

Earlier quoted context omitted.

You commented this elsewhere too without elaboration. I'm curious as to what you mean by 'widget hell'. I founded the nested tree of widgets syntax good after getting over the (short) initial learning curve. Some basic good programming practice over shared bits and it was very maintainable even for complex screens.

Why is this style of programming frowned upon in Javascript yet idiomatic in Flutter?

Widgets are declarative, like in HTML, the nesting is additional information. With callback hell, you nest logic, and actually obfusc information about the control flow.
Post reply on HN