top | item 10964576

(no title)

andresmanz | 10 years ago

It does, but I'm not sure if material design is ready now. There is qml-material[0] though, and it's pretty good. But: The last time I checked (maybe 5 or 6 months ago), QML/Qt Quick apps on Android took way too long to launch. I couldn't do anything about it, so haven't used it since then.

[0] https://github.com/papyros/qml-material

discuss

order

jsheard|10 years ago

> QML/Qt Quick apps on Android took way too long to launch. I couldn't do anything about it, so haven't used it since then.

Thankfully Qt just announced that their commercial-only components will be added to the open source version soon, including the QML-to-C++ compiler.

I haven't had an opportunity to try it myself but they claim it improves startup times significantly.

andresmanz|10 years ago

Nice, I didn't know they'd add the compiler. I tried it back then, during the commercial license trial. But it didn't make much of a difference, if any. I remember being in a hurry, though, so maybe I did something wrong and I'd love to give it another try.

distances|10 years ago

It's always been slower, but I don't think that can be completely fixed since Qt needs to load all of its libraries. Anyway, it's still possible to optimize the startup to be very usable.

You'll want to use a splash screen implemented with minimal UI code (no widgets of any kind yet, just an image with a background). While showing the splash screen, load dynamically a minimal main UI and some critical services -- only the parts that will affect the initial view.

Then hide the splash screen. You'll have a small bit of time after the UI becomes visible and before the user will actually use it. You'll want to use this time to load the rest of your services and preload more UI components to avoid the creation lag on UI thread later on.

I've done this kind of three-stage loading on Android without technical users even realizing it's not a native app. Would I do it again? Not really if platform native code is an option. There are too many details one has to handle when imitating platform visuals and interaction.