[AOSD] Droping Qt, switching to native UI

10 views
Skip to first unread message

Klaim - Joël Lamotte

unread,
Mar 2, 2013, 11:19:20 AM3/2/13
to Art Of Sequence Development
I've been discussion with some experts on developing 
UI-based tools for both programmers and non-programmers.

One thing that I have been feeling for a long time and that they confirmed is
that if ease of use is one of your big objective for your tool, you need it to use native UI.

Qt is nice and all but still lack the feel of native UI.
It's helpful in reducing the work done to write UI code once which works everywhere,
however it looks like it's also getting in the way (at least in my experience) because of it's
not-really-C++ way of doing things.

I've used other cross-platform GUI libraries and still wasnt totally satisfied for the same reasons.

Which is why I think Qt should be dropped (maybe not immediately) and be replaced by 
native UIs. 

What would that mean? (I made a ticket for this: https://github.com/artofsequence/aos-designer/issues/23)

1. even if we don't trop Qt, strong separation between features and UI have to be done quickly ( https://github.com/artofsequence/aos-designer/issues/1 ) - I'll be working on this on my spare time this month.
2. in AOSD source code, there would be one "view" library per platform, which would contain the UI code.
3. provide UI design documents (use cases, etc) to drive what UI is needed.
4. re-implement the current UI in Windows(7) - from my experience that should be fast

From that point, what's missing to get UIs on other platforms is simply access to these platforms, with priority to MacOsX. MacOs have a nice UI API that is simple and easy to work with.

At the moment I can only work on the Windows UI, but I hope it will change in the coming months. Anyway, as always, help is welcome.

I'm 90% convinced that the right way to go, the rest being doubts due to the lack of horse power to push this projects. However I realized recently that tons of hours I have lost just trying to setup Qt to make it work as I want. I believe a big boost will come from removing Qt from the equation.


Joonhwan, you said he like to use Qt, so I'm not sure if it's less attractive to you to work on AOSD if we go the native UI way? As you have access to MacOS, it would be helpful if we worked together on shaping these UI.

I'm open to feedback as always. 


Joel Lamotte




Joonhwan Lee

unread,
Mar 2, 2013, 11:37:00 AM3/2/13
to aos...@googlegroups.com
Aargh. The native UI experience of mine is very limited to win32/MFC(~6 years) and iOS(<0.5 years.. actually learning now a days to prepare the future though quite way behind). In case of Qt, I've been using it at work for about 2.5 years.
With all above I only can tell choosing Qt for UI as well as non-UI framework for crossplatform development is NOT BAD. 
Actually there is no as other such good candidate as Qt in crossplatform C++ toolkit world. 

Though I'm not that aware of, QML is what you should consider if you want to make your dev process a little bit modernizing, IMHO.

Joon


PS: yeah. I do not well about other UI toolkit in OSX except Qt(Qt,PySide,PyQt whatever Qt). CMake is only meaningful if C++ is in use.

    

2013년 3월 3일 일요일 오전 1시 19분 20초 UTC+9, Klaim - Joël Lamotte 님의 말:

Klaim - Joël Lamotte

unread,
Mar 2, 2013, 11:55:42 AM3/2/13
to Art Of Sequence Development
On Sat, Mar 2, 2013 at 5:37 PM, Joonhwan Lee <joonhw...@gmail.com> wrote:
Aargh. The native UI experience of mine is very limited to win32/MFC(~6 years) and iOS(<0.5 years.. actually learning now a days to prepare the future though quite way behind). In case of Qt, I've been using it at work for about 2.5 years.
With all above I only can tell choosing Qt for UI as well as non-UI framework for crossplatform development is NOT BAD. 
Actually there is no as other such good candidate as Qt in crossplatform C++ toolkit world. 


Maybe. Now is maybe not the right time to do it so we should make finish a first version with Qt and then see how problematic it is.
 
Though I'm not that aware of, QML is what you should consider if you want to make your dev process a little bit modernizing, IMHO.


I'd like to try QML but I didn't have time so far. Maybe it does make the feel better, but really I have no idea.

 
PS: yeah. I do not well about other UI toolkit in OSX except Qt(Qt,PySide,PyQt whatever Qt).

I see. so we wouldn't have 
 
CMake is only meaningful if C++ is in use.


True. We still have most of the code which is cross platform, (the core part and AOSLCPP)


Let's do this: keep in mind that at some point in the future we might switch off Qt.
It will not be soon, because we don't have enough time immediately, but keeping this in mind should help us
keeping the code isolated enough to make it simple to add other UIs.

So I will not do anything immediately other than doing the separation of code.

Joel Lamotte 

Reply all
Reply to author
Forward
0 new messages