On 08 Jun 23:15, Oscar Alvarez wrote:
On 08/06/14 17:23, Cédric Krier wrote:
On 08 Jun 16:39, Oscar Alvarez wrote:
Hi Devs
You consider the possiblity of migration to Qt5 instead of Gtk3?
I know this is not easy and is a big change, but I have saw that some
applications recently gives the skip to gtk2 -> Qt, for technical reasons.
What are those reasons?
1. Portability
[1] Qt is available on WebOs, Android, Blackberry, Ubuntu Mobile, SailFish
OS, Amiga OS, so Gtk not.
I'm not sure the actual client design could be just run like this on
such OS.
2. Easy creation of Web Application using QML
Not really usefull for tryton.
[1] Thanks to the advanced features of Qt5 (especially QML) and GTK
development being in flux and very strongly focused around the needs of
GNOME, various third
party projects are moving over to Qt5. Ubuntu builds on Qt and QML for
Ubuntu Phone and will move over the desktop in the future
<https://lists.ubuntu.com/archives/ubuntu-devel/2013-March/036776.html>, the
LXDE desktop <http://blog.lxde.org/?p=1046> and GCompris
<http://sourceforge.net/mailarchive/message.php?msg_id=31951393> projects
are the process of porting over and Subsurface (a project which famously has
Linus Torvalds as core contributor) has had its first Qt based release
<http://liveblue.wordpress.com/2013/12/16/subsurface-4-0-has-been-released/>.
LXDE provides extensive tips on the migration process
<http://wiki.lxde.org/en/Migrate_from_GTK%2B_to_Qt>.
My search found another importants applications ported from Gtk to Qt,
recently too:
- Openshot
- Wireshark [3]
- Obconf
- Yate [5]
- Gwibber
But it doesn't make a point.
3. Performance embedding HTML and Javascript [2]
Not relevant, Tryton has is owned abstraction.
4. Native-looking widget rendering on Mac and Windows [2]
OK even if it is not a really major point.
5. Easy coding and design of interfaces
So I coded in gtk (PyGtk 4 years) and Qt5 (PySide 2 years), in my experience
Qt is easier (or a much simpler) and faster (coding) than equivalent UI in
gtk, but I am not only that think so
For me, almost all graphical toolkit are based on the same
event-oriented programation and widgets.
6. Major number of resources in API.
Qt is a complete consistent framework.
That's a little bit my fear. Too big and monolitic framework limit the
possibilities.
You can easily connect HTTP events to
Don't know what you mean by «HTTP events».
GUI elements, fill forms with results from a database query or build an
interactive visualization of large datasets.
For example?
Qt 4 modules include QtCore,
QtGui, QtMultimedia, QtNetwork, QtOpenGL, QtOpenVG, QtScript, QtScriptTools,
QtSql, QtSvg, QtWebKit, QtXml QtXmlPatterns, QtDeclarative, Phonon,
Qt3Support. Modules for working with Qt tools are QtDesigner, QtUiTools,
QtHelp, QtTest.
And what will be useful for Tryton? Also as we use Python we already
have a large set of modules.
7. Create Windows installer for Qt applications is more easier and less
bloated that equivalent Gtk Client.
Bundeling pyGTK application on windows is not really difficult and it is
already done with one command.
This is an opinion of BleachBit developer on comments
https://blog.wireshark.org/2013/10/switching-to-qt/ [3] and I confirmed with
POS for tryton (with pyside) [4]
Some developers of the apps named, consider that the complexity to migration
to Gtk3 (they hates the continue API changes about the same 3 version) and
Qt is similar indeed maybe is faster with this one.
For Tryton, it will not be the same. As far as I see using QT will be a
complete rewrite of the application while upgrading to GTK3 is just a
migration of API where the concepts of the library stays the same.
So for me, changing the GTK for Qt doesn't have sense. We should talk
about writing a new client in QT just like it is managed for sao.
It will be a huge work like sao is and from the experience with sao
there are not really a big interest from developpers to work on such
task (just see the contributions to sao).
So for me, it is fine if someone upgrade GTK client to GTK3 because it
is in a logical process to use the latest available dependency. But it
is also fine if someone wants to work on creating a Qt client in the
same way it is done for sao which means GTK stays the reference (for
now).
The reference implementation could be changed but it is only possible
once we have an other client fully compatible which shows many
advantages.