News for hackers. Stuff that matters.
Re:Jitsi Meet Flutter SDK by max_ on Monday August 14, 2023 @02:40AM (#37118165)
I find Flutter way more technologically superior than React Native.

But I still don't understand why most companies still focus on React Native for their cross platform development.

It is fantastic for side projects and personal projects or when you are contracted. But I find it very difficult to get a job with Flutter.

Google need to do better marketing for the technology.

I learnt Flutter and find that it's very hard to get a Job with the technology.

Re:Jitsi Meet Flutter SDK by boo-ga-ga on Monday August 14, 2023 @03:08AM (#37118292)
I think that Flutter apps by the framework's nature will always have non-native appearance and feeling to at least some extent. And this makes it not very good fit for apps with a sufficient budget and the need for native appearance. It's definitely good for small one-person projects, but the job market for these is not very lucrative.
Re:Jitsi Meet Flutter SDK by robertlagrant on Monday August 14, 2023 @04:35AM (#37118753)
Isn't that also true for React Native?
Re:Jitsi Meet Flutter SDK by mvid on Monday August 14, 2023 @04:48AM (#37118832)
Not really. RN usually defaults to system components
Re:Jitsi Meet Flutter SDK by ohgodplsno on Monday August 14, 2023 @05:02AM (#37118914)
System components is not a thing on Android. You've not seen the default EditTexts in years. Material, which you'd consider the default is a library, whether in XML or Compose (and Compose is a reimplementation of them).

Also, Android has never pushed for unification of UIs. Use Material if you want because it's an alright design system, or write yours entirely from scratch.

React Native & Flutter look... Exactly how you want them to look. Unless there's a bug in Flutter's Material implementation, it'll be the same.

Re:Jitsi Meet Flutter SDK by earthnail on Monday August 14, 2023 @05:22AM (#37119031)
Yeah, but on iOS it's a thing. And it shows heavily in things like scroll behaviour.
Re:Jitsi Meet Flutter SDK by pzo on Monday August 14, 2023 @06:25AM (#37119382)
I'm iOS dev but right now learning flutter. Few observations:

1) Difference between new latest Material You (aka material 3.0) and SwiftUI is smaller than Material 2.0 and UIKit - at least regarding look & feel.

2) I find old UIKit style quite boring same with older material 2.0. On the other hand SwiftUI and Material 3.0 looks more modern. There is rarely any iOS app that use native widgets without completely changing branding and styling.

3) Comparing to SwiftUI, new Material 3.0 feels more complete - there is more widgets and navigation choices. UIKit and SwiftUI is lacking in widget departments regarding: snackbar, bottom sheet, modal bottom sheet, navigation drawer, navigation rail, modal navigation drawer, cards, multiple dialog options.

I recommend to checkout and play with material 3.0 demo (just keep in mind this is web version- you will have even better experience when using native compiled version on mobile or desktop - web version of flutter could be better):

https://flutter.github.io/samples/web/material_3_demo/#/

4) Try web flutter gallery to see numerous app samples (more complex) and widgets

https://gallery.flutter.dev/#/

again even better to download mobile or desktop version that there is in play store:

play store: https://play.google.com/store/apps/details?id=io.flutter.dem...

macos dmg (.zip): https://github.com/flutter/gallery/releases/latest

I tried both macos flutter gallery and on iOS and surpassingly is pretty good these days and smooth and feel native - even text selection works these days, moving cursor with long press on keyboard space etc. Occasionally was more difficult to dismiss keyboard on iOS and back/next mouse keys or touchpad gestures didn't work on macOS flutter gallery. But overall I'm quite satisfied and surprised comparing how it looked 4 years ago.

Re:Jitsi Meet Flutter SDK by mhoad on Monday August 14, 2023 @07:19AM (#37119713)
Just as an FYI your information is a bit out of date. They rewrote their entire graphics pipeline a while back to solve exactly this.

This is what it looks like now in terms of performance if you want a demo https://flutter.gskinner.com/wonderous/

Re:Jitsi Meet Flutter SDK by fellowmartian on Monday August 14, 2023 @08:41AM (#37120378)
I had high hopes for this new renderer, but it’s still not good enough. There’s a single frame lag when scrolling, it might not be noticeable to some people, but I do notice and it’s very annoying. There’s an issue opened: https://github.com/flutter/flutter/issues/110431
Re:Jitsi Meet Flutter SDK by cageface on Monday August 14, 2023 @09:12AM (#37120652)
Sort of. It adds a lot of layers on top of the core components and isn't just vanilla native UI plus some tweaks. React Native apps still stick out compared to real native apps unless you put in a fair amount of extra work.
Re:Jitsi Meet Flutter SDK by jwells89 on Monday August 14, 2023 @09:21AM (#37120742)
In my experience RN apps are most obviously “un-native” feeling in their navigation, which is where the most custom-rolled code seems to be. It often feels clunky, with weird transitions and foreign behaviors.
Re:Jitsi Meet Flutter SDK by zigzag312 on Monday August 14, 2023 @05:01AM (#37118908)
> And this makes it not very good fit for apps with a sufficient budget and the need for native appearance. It's definitely good for small one-person projects

Do you have any data to back this claim. From my experience, many big budget applications (at least on desktop) don't have native appearance. Eg. products by Adobe, Steinberg, Autodesk, JetBrains etc.

Re:Jitsi Meet Flutter SDK by zerr on Monday August 14, 2023 @05:22AM (#37119032)
"Native controls" is less and less relevant, especially on mobile, where everyone tries to come up with completely custom styling.
Re:Jitsi Meet Flutter SDK by Tao3300 on Monday August 14, 2023 @07:30AM (#37119792)
This is one of those dumb things where user tests will stir up things like "why doesn't it look or act like (insert mainstream application)?" They have their hypercritical glasses on and fail to realize that the mainstream app already looks and behaves exactly like that; they're just so accustomed to it that they don't notice it.

I'm not sure what you do about it. I fell victim to this a couple decades ago trying to reconcile theme inconsistencies between GTK and KDE apps on my Linux desktop. It was so irritating, but for longest time I was overlooking that Windows at the time also had apps using different Windows UIs from different eras. IIRC Outlook actually had an XP scrollbar for the Inbox frame and a Win32 scrollbar in the Preview frame. Two different UI styles in different frames of the same window within one application.

Re:Jitsi Meet Flutter SDK by phist_mcgee on Monday August 14, 2023 @03:22AM (#37118355)
Scrolling.

Simple as that. Using a flutter app has non system scrolling acceleration, scroll speed etc.

It doesn't feel like a native app, because it isn't a native app.

With react native, there are many parts of it that use the underlying system's UI, and so it feels like it could almost be a native app.

Also hitching their horse to dart was a poor move to get devs to switch over from swift/kotlin and JS.

Re:Jitsi Meet Flutter SDK by zigzag312 on Monday August 14, 2023 @03:40AM (#37118437)
Yes, scrolling is currently one of Flutter's weak spots. Their implementations of scrolling are not up to par with native implementations.
Re:Jitsi Meet Flutter SDK by mhoad on Monday August 14, 2023 @04:13AM (#37118623)
While that really was a big issue, that hasn’t been true for a while now.
Re:Jitsi Meet Flutter SDK by phist_mcgee on Monday August 14, 2023 @07:45AM (#37119902)
Long enough to kill the momentum and let RN take the lead.
Re:Jitsi Meet Flutter SDK by mhoad on Monday August 14, 2023 @07:59AM (#37120023)
Flutter overtook RN a while back in terms of popularity in a few different metrics if I recall correctly. I forget the specifics but something from GitHub and StackOverflow I think.

Regardless of the specifics I don’t think the narrative is true, Flutter has had substantial continued growth for years now.

Re:Jitsi Meet Flutter SDK by akmittal on Monday August 14, 2023 @03:24AM (#37118361)
There are millions of react developers so learning RN is much more easier. Dart is good but learning it just for flutter makes less sense
Re:Jitsi Meet Flutter SDK by comatory on Monday August 14, 2023 @04:34AM (#37118749)
I picked up Dart in a week or so and felt very productive with it in less than a month, the language itself is very easy to understand if you already know Typescript or Java. Flutter has a learning curve as well, you need to understand the concepts and the built-in widgets but even after month or so I was able to code up basic cross-platform app for iOS/Android. Ended up spending almost a year working on that project and gradually evolving it to support offline state, geolocation and real time updates.
Re:Jitsi Meet Flutter SDK by pzo on Monday August 14, 2023 @07:38AM (#37119845)
If you are comming from front-end side (javascript, typescript, react) then sure. But for me who didn't touch front-end since 10 years and did mostly: Java nad C++, Objective-C, Swift, Python there is no easy way to learn the React Native ecosystem. I tried RN last week and I been all the time googling to figure out all the choices:

1) should I use nvm, n, nodenv for for nodejs management? Should I use script or homebrew?

2) what's the difference between npm, npx? Why npx giving mi different version number than node? Did I had some old version of nodejs from some dependency when using homebrew? Will it bite me in the future (those all questions were in my head)

3) should I use expo cli, ignite cli, react native cli?

4) expo vs repack vs vite vs capacitor vs tauri

5) webpack vs metro vs swc vs esbuild vs rollout vs sucrase...

6) vanilla react or next.js or react native or solido?

7) what ui kit to use? native-base? tamagui? react-native-paper? They all sucks in some way comparing to flutter proposition

8) should I use style-components? emotion? tailwindcss? nativewind?

9) should i use vanilla javascript or typescript? (is learning typescript straight away is too big to swallow in one bite?)

10) learn vscode shortcuts + figure out which plugin to install and how to setup

11) JSON config hell in RN for everything: postcss, vite, tailwind etc.

Re:Jitsi Meet Flutter SDK by cageface on Monday August 14, 2023 @03:19PM (#37125556)
This is one of the nicest things about Flutter. Out of the box you get most of the things you need to build an app.

There's a lot of competition for state managers but other than that you have a lot fewer choices you have to make to get started and fewer third party pieces to break on you.

Re:Jitsi Meet Flutter SDK by Osiris on Monday August 14, 2023 @04:16AM (#37118639)
1. Their engineers already know React syntax and tooling. 2. The React Native ecosystem is orders or magnitude larger

I played around with Flutter for a personal project and there very few third party packages.

Re:Jitsi Meet Flutter SDK by brabel on Monday August 14, 2023 @04:18AM (#37118656)
When was that? It seems to me there are Flutter/Dart packages for everything these days, and if I remember correctly, Flutter has overtaken React Native on the StackOverflow popularity ranking.
Re:Jitsi Meet Flutter SDK by pzo on Monday August 14, 2023 @08:21AM (#37120197)
Things have improved though last time I checked 4 years ago. Flutter UI kit is definitely more complete and not fragmented as RN UI kits, or even React UI kits. On top of that you have official:

- firebase

- supabase

- revenue cat

- stripe

- google maps

- google ads / analytics

- grpc

- webview

- tensorflow

just to name a few - there is even more community one e.g: lottie, mobx, just_audio etc.

interop seems also improved:

cffi got improved and been out of beta for a while and they also added FFIgen [0] that can generate bindings to C and Rust C

rust flutter bridge [1] - even though not official is very popular and well maintained. So you can use vast cross-platform crates if you need something more advanced and low latency like for Audio you have CPAL

[0] https://pub.dev/packages/ffigen

[1] https://github.com/fzyzcjy/flutter_rust_bridge

Re:Jitsi Meet Flutter SDK by mclion on Monday August 14, 2023 @04:19AM (#37118659)
At my company it's Google and it's history of deprecating products that many people and/or companies depended on. Flutter is OS, but it can't survive without a big company to sponsor development (at this stage).

Saying that, we've started a flutter project this year to see how it goes (the rest stays native or RN)...

Re:Jitsi Meet Flutter SDK by camgunz on Monday August 14, 2023 @05:26AM (#37119055)
I think this is pretty true. Google should start a Dart/Flutter foundation or something and get industry partners.
Re:Jitsi Meet Flutter SDK by NeutralForest on Monday August 14, 2023 @06:09AM (#37119288)
Same, it's pretty scary to start a Flutter project because idk if it'll still be around in 3-5 years.
Re:Jitsi Meet Flutter SDK by Longhanks on Monday August 14, 2023 @04:22AM (#37118677)
There are millions of react developers.

Apart from Flutter or Google employees, there are close to zero Dart developers.

Even managers have heard of React and its success by now. Nobody has heard of Flutter or Dart.

By this point, betting on Google technology is known to be a high risk, as Google might kill off Flutter/Dart without transition to anything close at any point in time. Even managers have heard of this "behavior" by now.

Re:Jitsi Meet Flutter SDK by anthk on Monday August 14, 2023 @06:48AM (#37119502)
Back in the day they were millions of VB/VBA developers. Look what kind of quality you had. Exactly.
Re:Jitsi Meet Flutter SDK by g8oz on Monday August 14, 2023 @10:34AM (#37121509)
They were good enough to address internal business needs.
Re:Jitsi Meet Flutter SDK by tsss on Monday August 14, 2023 @04:29AM (#37118723)
Many startups around me seem to be using Flutter, about as many as are using React Native. The problem with startups is that they're chronically broke and contracts are often too short to be worth it. All the cross platform frameworks are compromises, which makes them an unprofitable business for freelancers because the only customers using them are poor.
Re:Jitsi Meet Flutter SDK by alexandr1us on Monday August 14, 2023 @04:52AM (#37118852)
Flutter apps on iOS feel way off
Re:Jitsi Meet Flutter SDK by nicoburns on Monday August 14, 2023 @05:01AM (#37118906)
The thing with React Native is that you essentially have the full power of the native platform, including all native UI controls. You might have to write you're own integration if you're doing something unusual, but you will definitely be able to do it. With Flutter that isn't so much the case.
Re:Jitsi Meet Flutter SDK by lukeh on Monday August 14, 2023 @05:21AM (#37119027)
FWIW I've been working on a native Swift implementation of Flutter channels [1], so I can use Swift for business logic with Sony's embedded Flutter embedder [2]. Probably a niche interest, but I'd prefer to write Swift than Dart, and there's no Objective-C runtime on Linux (so I can't use the default Darwin embedder).

[1] https://github.com/PADL/FlutterSwift

[2] https://github.com/sony/flutter-elinux

Re:Jitsi Meet Flutter SDK by binary132 on Monday August 14, 2023 @07:17AM (#37119696)
Most companies are 100% focused on the logistics of delivering a product and only “care” about technical implementation inasmuch it will be a liability to the objective. Þe olde chicken and egg strikes again
Re:Jitsi Meet Flutter SDK by deliriumchn on Monday August 14, 2023 @07:49AM (#37119935)
How superior it can be if it just shows a native canvas element and then draws custom stuff on it, which leads to funny bugs like 1 frame lag on iOS (OS detects touch and rightfully assigns a draw action, then flutter slaps its hands and reassigns with scroll action)?

> But I still don't understand why most companies still focus on React Native for their cross platform development.

Because it uses native components, which leads to native feeling apps. For bonus points, they added new engine that makes performance differences between react-native and native apps very small (unless you're working on interval trading terminal or games, which flutter does not handle as well). Plus its simply easier and entry barrier is non existent, therefore its cheaper.

> Google needs to do better marketing for the technology.

Dart as a language is a bad marketing for their technology. I also hate the amount of boilerplate I have to write and how weird it looks compared to RN/SwiftUI/Compose.