Live data from Hacker News

Flutter 3

docs.flutter.dev

381–390 of 453 posts

Re: Flutter 3

#381

Earlier quoted context omitted.

> Just in general? I don't know of any packages in my app that are poorly tested. Simply do not choose dependencies that don't meet your standard, whether it's TS or Dart. In general, it's not really part of the js culture. Sure you have those very nice packages which have stellar dev practices (such as react) but that's far from the norm. The testing story also feels better with Flutter to me, one nice thing about t…

> In general, it's not really part of the js culture As opposed to the Dart culture? Quite a sweeping generalization. There's bad packages in every ecosystem. There's really good packages in every system. Pick the right ones. > one nice thing about the canvas based rendering is that you have very good and useful screenshot testing. React you can snapshot test the component tree, as well as diff images on each platfor…

> As opposed to the Dart culture? Quite a sweeping generalization. There's bad packages in every ecosystem. There's really good packages in every system. Pick the right ones.

Not every ecosystem is created equal, they are better testing cultures than dart (such as ruby for example) but they are also worse ones and javascript is definitely worse at that. Packages you install will be on average less tested and less care will be put into the dev experience than in some other languages.

They are exceptions of course such as RN & React but they are far outside the norm.

> Sure, I update major versions every year or so. Past 2 years of React Native have been easy.

As with any other JS project, RN and React are not the main issue but everything around it is and you certainly need extra packages.

> That's plain false, they for sure do.

Have a look at those apps and tell me if they look Material (they don't).

Re: Flutter 3

#382
post #347

Earlier quoted context omitted.

> nicest OOP That's the thing. Dart is useless for my preferred style of programming. A modern language without ADTs and pattern matching is not even meeting my bare minimum for acceptable to use. Not just this, but the docs explicitly said the don't want these basic features.

They are building pattern matching as we speak for what it’s worth. One of the main people designing it is in this thread talking about it.

Thought this link might actually be more helpful by the way if you're interested but Dart team does all of their language design in the open on Github which is pretty cool and also gives you a lot of context about how things end up the way they do.

I also mentioned elsewhere in the thread how impressed I was just watching that repo in general for a year. They clearly give a shit on a such a deep level about building a solid long term language in a way that I was totally unfamiliar with say coming from a Ruby background previously.

Here is the section on pattern matching specifically https://github.com/dart-lang/language/tree/master/working/05... and this is the design spec itself https://github.com/dart-lang/language/blob/master/working/05...

Re: Flutter 3

#383

Despite many maturity issues in practice Flutter is the only realistic option for true cross platform UIs that run everywhere. Apart from Qt , but the licensing issue is a hindrance. And yes, the web backend isn't ideal, but it will improve over time. I just wish Google had built Flutter on a low level core that isn't tied to Dart, so it would be usable from other languages. Dart isn't horrible and is getting better,…

> Flutter is the only realistic option for true cross platform UIs that run everywhere. I understand that argument but 100% disagree. The web is the cross platform that runs everywhere (as in in a browser or webview). True it has many issues and some forms of it (electron) are not ideal for some use case but I believe it’s a better platform than flutter in almost every way. You say “true” cross platform and could arg…

I wish this were true, but in my (admittedly limited) research I'm not sure it is.

For one, you mention Electron. That targets all desktop platforms, but not mobile. Mobile development from webapps is absolutely possible, but you need to use something else for that. Meanwhile, on the flutter side of things, if you want to target desktop platforms, you use flutter. If you want to target mobile platforms, you use flutter. There isn't a need to learn a whole new framework to target a new platform.

Aside from that, local file storage and offline use can also be a bit finnicky with Electron. Absolutely possible, but its another thing you have to figure out that Flutter just does by default.

If I'm wrong on any of this, please do let me know, I know web dev far better than I know Flutter so it'd make my life a lot easier, but the above reasons are why flutter hasn't budged from my todo list

Re: Flutter 3

#384

Earlier quoted context omitted.

"I just wish Google had built Flutter on a low level core that isn't tied to Dart, so it would be usable from other languages." Exactly. Dart is a deal-breaker. I was tasked with choosing a cross-platform development solution, and rejected Flutter because nobody at my company (including me) knows Dart or has time to learn it. Nor would any contractors we were likely to find know it. After quite a bit of research on o…

I think that's pretty short-sighted. Dart is hardly an esoteric/niche language like Haskell or Futhark, anyone familiar with Java/Javascript/TypeScript should be able to pick it up in a day or so. Flutter's performance issues, on the other hand, is a separate story.

Knowing nothing about Dart, I'd guess learning the language itself is not much of a task, but learning the libraries, build tools, and the whole ecosystem would take a while.

Re: Flutter 3

#385

Earlier quoted context omitted.

For accessibility they create a separate DOM tree just for screen readers.

This right here should tell you why you shouldn't use Flutter for Web. The Web is pretty great for accessibility out of the box until us devs mess it up, we shouldn't use a technology that needs to completely build it from scratch to get it to work.

Just as an FYI that is how the official web spec works https://wicg.github.io/aom/spec/

I'm going off of memory here but I think it's approximately correct. They were playing around with the idea for a while of creating "virtual trees" to handle accessibility and ultimately had to abandon it for privacy reasons because you would be able to imply that anyone who was using the virtual tree was differently abled and that was a whole can of worms that couldn't be resolved.

Re: Flutter 3

#386
post #379

Earlier quoted context omitted.

>Citation? https://github.com/flutter/flutter/issues/59327 This has been a long-standing issue that has completely ruled out Flutter for us. E.g, the Flutterfolio idle login screen uses 14% CPU on my Mac. For a while it sounded like Google was saying that it can't be fixed. But I think they have done some work to address this issue. I'll be very interested in finding out whether it has been fixed in Flutter 3.

I think this might be a bit of an outlier honestly. Reading the bug report my takeaways were the following: 1. Here is a specific issue we ran into which to be fair is unacceptable in terms of perf but a blinking cursor in an otherwise idle application has crazy high CPU usage numbers trying to run the animations associated with the blinking cursor. 2. They tried the same thing on Linux and CPU usage was 0% so alread…

I don't know if there is a larger issue because this show stopping "outlier" has stopped me from exploring Flutter any further. I'll give it another try now that a new major version has been released.

The question in my mind is whether Flutter is consistently and significantly more resource efficient than web technologies for my particular use cases.

Re: Flutter 3

#388

Earlier quoted context omitted.

Every experience I had with React Native was truly horrible. Gigantic, messy JS dependency tree. Constant build breakages after minor version updates. Random flakiness. Unmaintained or buggy native plugins. Questionable support for issues that didn't affect FB. I wouldn't touch it again.

Highly recommend trying expo.dev sometime they have come a long way in providing support for native modules and take care of all that underlying "mess" for you.

I absolutely agree with this. At this point I don't really think there's much reason to _not_ use Expo. I found setting up RN without Expo absolutely awful, and switching to Expo was the only reason I didn't start rebuilding my app in Kotlin+Swift.

Re: Flutter 3

#389

Despite many maturity issues in practice Flutter is the only realistic option for true cross platform UIs that run everywhere. Apart from Qt , but the licensing issue is a hindrance. And yes, the web backend isn't ideal, but it will improve over time. I just wish Google had built Flutter on a low level core that isn't tied to Dart, so it would be usable from other languages. Dart isn't horrible and is getting better,…

"I just wish Google had built Flutter on a low level core that isn't tied to Dart, so it would be usable from other languages." Exactly. Dart is a deal-breaker. I was tasked with choosing a cross-platform development solution, and rejected Flutter because nobody at my company (including me) knows Dart or has time to learn it. Nor would any contractors we were likely to find know it. After quite a bit of research on o…

I wrote extensive amount of Dart without even reading documentation and any prior Dart experience. Knowing dart is never an issue if you know basic Java/Php/JavaScript.

The only thing I really hated about Dart was poor enum support. Now that's fixed.

Re: Flutter 3

#390
post #349

Earlier quoted context omitted.

Is the Web version of Flutter still using canvas? I tried it a while back and it was just a canvas rendering everything. That makes SEO impossible. It's also useless for accessibility/screen readers. Please correct me if I am wrong.

The answer to both of these things is the accessibility object model. You weren’t wrong historically but you aren’t right currently. Flutter web including the canvas rendering option has proper accessibility as of today AFAIK.

But can I copy text? Search the page? Right-click to open a link in a private window?
Post reply on HN