[Interest] vs. Flutter

Shawn Rutledge Shawn.Rutledge at qt.io
Mon Feb 18 16:26:16 CET 2019


> On 18 Feb 2019, at 15:40, René Hansen <renehh at gmail.com> wrote:
> 
> I've not come across any myself, and have only built a few small things with it a bit for now.
> 
> Initial reactions was that it is *leagues* ahead of Qt with regards to developer experience. You're not locked to an IDE, like with QtCreator,

Strictly speaking you’re not locked into using QtCreator either: I've done command-line builds of Android apps once in a while.  You can watch what Creator does and do the same yourself.  But it’s not as straightforward as it could be, and the script I made to automate it needs to change since earlier Qt versions.  Something like

qmake
make install INSTALL_ROOT=.
androiddeployqt --input something.so-deployment-settings.json --output /path/to/android-build --android-platform android-27 --jdk /usr/lib/jvm/default --gradle

I wish we would make it a universal one-liner without having to find paths to things first.  Perhaps someone could figure out how to do that with cmake eventually.

> and the ui live updates across device, simulators, emulators etc. when you write changes. No need to build and .apk and wait for a build+deploy.

I wonder how well-understood that mechanism is, so that someone could even try to get that working with Qt?  If it should not be part of the IDE, it would have to be some daemon that watches the filesystem, recompiles and re-deploys classes, right?  But at this point it’s up to someone to volunteer to figure that out I suppose.

> There's no JS involved. It's Dart all the way. It doesn't even ship with a web runtime afaik.

In other words it’s another new language all the way, but the advantage is it gets compiled to native code.  But QML can be compiled, and anyway doesn’t depend on a web runtime.  I doubt you can say that Dart has no runtime at all?  If there is garbage collection, there’s a runtime; the question is which one, how big is it and what does it provide.

An advantage when a phone or OS vendor decides to support a particular development framework is that they can ship parts of it pre-installed.  So the best phone for Qt applications is one that’s built with Qt in the first place; but the Big Two didn’t make that choice, so we can only hope that some not-so-small player will eventually do that (again).  I recently tried Ubuntu Touch (yeah, better late than never): it seems quite nice, it’s just missing a lot of apps.  There is Jolla.  And there is Plasma Mobile… and maybe the Librem 5 will end up with Qt in some way?  We’ll see.

> Achitecturally it's similar to Qt, in that they've build a custom renderer on top of Skia, so the whole scene is basically just OpenGL, which makes it really fast.
> 
> Component wise, their UI library offers bother Cupertino and Material design out of the box, and from initial impressions, looks to be closer to the original design guidelines than Qt Quick Controls for. e.g. Material.

In what way?

> I haven't tried it out myself yet, but you should be able to reach into native world by using platform channels:
> 
> https://flutter.io/docs/development/platform-integration/platform-channels
> 
> It's seems like it's quite a ways worse than with Qt though, so there's at least that.

What do you mean?



More information about the Interest mailing list