6 ms·
I'm very conflicted with flutter. The developer story is tempting, cross platform consistency but extendable to each system's specifics. On the flip side there
by defer 5y ago
I'm very conflicted with flutter. The developer story is tempting, cross platform consistency but extendable to each system's specifics.
On the flip side there's the odd programming language, the bundle size, the game-engine like rendering (seemingly wasteful, but may improve as hardware evolves).
- asiachick 5y agoexcept their web story is horrific. they render the entire thing in a canvas which means a giant F.U. to non English-FIGS and a big F.U. to accessibility as well as extensions
- defer 5y agoDefinitely, I remember from reading the documentation that they could also target HTML5/css (https://docs.flutter.dev/development/tools/web-renderer https://docs.flutter.dev/development/tools/web-renderer) instead of canvas but I'm not sure how complete / coherent the output is.
- mijoharas 5y agowhat does FIGS stand for?
- wffurr 5y agoA short search revealed that it’s a term of art in localization, referring to French, Italian, German, and Spanish. Typically these are the first targets when localizing an initially-English product. I have no idea what, if anything, Flutter’s canvas-based approach has to do with localization. Also Flutter exposes a hidden DOM with accessibility information for the canvas. This might someday be superseded by a system like AOM: Accessibility Object Model, which is an API for directly constructing an accessibility tree for non-DOM content like a canvas.
- joezydeco 5y agoFirst thing that comes to mind (as a GUI developer that is currently translating a product) is that the text renderer can't handle accents above and below Latin characters. (e.g. Let's buy crème fraîche in Curaçao) I'd also be surprised if it can handle right-to-left strings as well.
- wffurr 5y agoFlutter uses Skia for text rendering and layout; the same rendering engine used by Chrome, Android, and others. I'm beyond confident it can handle all of those situations. Flutter demos have a localization dropdown for selecting different locales, of which the gallery demo at least supports many, well beyond FIGS: https://gallery.flutter.dev/#/ https://gallery.flutter.dev/#/ Note those demos have other problems that make me crazy, like the copious overuse of non-selectable text. Why the default "Text" widget is non-selectable is a total mystery to me: https://api.flutter.dev/flutter/widgets/Text-class.html https://api.flutter.dev/flutter/widgets/Text-class.html You have to instead use the "SelectableText" widget: https://api.flutter.dev/flutter/material/SelectableText-class.html https://api.flutter.dev/flutter/material/SelectableText-clas... I have plenty of complaints about Flutter, but accessibility and localization aren't among them.
- jhgb 5y agoExcept Skia is not a text renderer. Skia won't correctly position glyphs for you. It can only render glyphs for you at positions that you provide.
- wffurr 5y agoYour understanding of Skia may be out of date. See SkParagraph: https://skia.googlesource.com/skia/+/refs/heads/main/modules/skparagraph/include/Paragraph.h https://skia.googlesource.com/skia/+/refs/heads/main/modules... And the experimental SkText API: https://skia.googlesource.com/skia/+/refs/heads/main/experimental/sktext/include/SkText.md https://skia.googlesource.com/skia/+/refs/heads/main/experim...
- markdog12 5y agoI find it odd that you consider Dart an "odd programming language", given it is a very "mainstream" language. One of its core goals is to be unsurprising and easy to learn.