Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What about using ubuntu-ui-toolkit as backend of material-style instead of QtQuickControl #11

Closed
SunRain opened this issue Aug 8, 2016 · 6 comments
Labels
wontfix This will not be worked on

Comments

@SunRain
Copy link

SunRain commented Aug 8, 2016

Hi, I think the beneficial of using ubuntu-ui-toolkit as backend of qml-material is:

  1. Less Qt version dependency, UT support from Qt5.5 to Qt5.7, thus qml-material would works on more linux distribution, and we don't need to follow Qt version update(eg. we need to port QuickControl based components from Qt5.6 to Qt5.7)
  2. Cross platform and multi screen support as UT aims to mobile and desktop
  3. More powerfull components
@SunRain
Copy link
Author

SunRain commented Aug 8, 2016

I could help to port qml-material if possbile.

@iBelieve
Copy link
Member

iBelieve commented Aug 8, 2016

First of all, we're not using QML Material, as that is only for QtQuick.Controls 1, not Controls 2. We're using Fluid now. This would also probably be better discussed in Fluid instead of here in the shell.

I might be wrong on this, but I feel that Ubuntu UI Toolkit is Canonical just doing their own thing creating new projects instead of working with Qt upstream on QtQuick.Controls. Anyhow, to address your points:

  1. QML Material worked on Ubuntu Touch (see Liri Browser), so I would expect Fluid will work as well. I don't know of any reason why Controls 2 wouldn't be supported if Controls 1 is.
  2. We're already depending on Qt 5.7, so I don't really see a huge need to support anything older than the latest version. (Yes, distributions might not have 5.7 yet, but they will eventually)
  3. Any specific examples? Maybe we could add our own implementations in Fluid or upstream in Controls 2.

One major advantage to Controls 2 (and a disadvantage to Ubuntu UI Toolkit) is that Controls 2 already has a pretty good implementation of Material Design that we merely build off of instead of writing it from scratch like I did in QML Material.

@plfiorini will likely have his own thoughts to add as well.

@SunRain
Copy link
Author

SunRain commented Aug 8, 2016

Hi, the main reason for using Ubuntu UI Tookit for me is that it is QuickControl free, Ubuntu UI Toolit only depend on Qt qml part. It not depend on QuickControl, Canonical write it on cpp from scratch.

As QtQuickControl 2 and Quick.layouts 2 only works on Qt5.7(am I wrong?), it not works on most of linux distributions(eg ubuntu16.04 only support Qt5.6, ubuntu phone 5.5, Sailfish OS 5.2). Updating Qt verison may broken most of system packages on linux distribution,so it is better to support old version instead of only new version.

@plfiorini
Copy link
Member

plfiorini commented Aug 8, 2016

You can write QML applications with whatever controls library you want and they will work on any platform with Qt. So for instance you can run a Fluid app on Ubuntu Touch and even SailfishOS if they have the right dependencies, but updating Qt is up to them.
They should really keep up, this is a sensitive matter I wouldn't trust much a Qt based platform that has a huge delta with the Qt version. Ubuntu 16.04 has an excuse, Qt 5.7 wasn't around at the time so I'm confident they will update their distro, while SailfishOS unfortunately slowed the development down quite a lot with their recent unfortunate events.

As far as normal Linux distros goes they already have Qt 5.7 at least in their development tree and soon will be pushed to the main tree.

It's not like we require every single Qt minor version each time it's released, probably we'll still require at least Qt 5.7 when 5.8 comes out. By that time distros will have Qt 5.7.

QtQuick Controls 2.0 is also designed for embedded which is quite an improvement over the now old QtQuick Controls 1.0 and it's part of the standard Qt offering meaning the API won't suddenly change and it's a strategic part of Qt today.
It also offer a much more standardized API for controls.

We are using QtQuick.Layout 1.0 that is available from the Qt 5.0/5.1 era, don't know anything about QtQuick.Layout 2.0.

@plfiorini plfiorini added the wontfix This will not be worked on label Aug 8, 2016
@plfiorini
Copy link
Member

TL;DR: We need Qt 5.7 for other parts of the system anyway and QQC2 gives us advantages that other libraries don't offer.

@SunRain
Copy link
Author

SunRain commented Aug 9, 2016

Thanks for your reply @plfiorini , I'll try fluid library and qmlOS after I received Qt5.7 package on my ubuntu 16.04(Or ubuntu 16.10) :) and try to make contributions to this project if possible as a qml-based workspace/shell is really awesome lol

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

3 participants