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.

2. Easy creation of Web Application using QML

[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

3. Performance embedding HTML and Javascript [2]

4. Native-looking widget rendering on Mac and Windows [2]

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

6. Major number of resources in API.

Qt is a complete consistent framework. You can easily connect HTTP events to GUI elements, fill forms with results from a database query or build an interactive visualization of large datasets. 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.

7. Create Windows installer for Qt applications is more easier and less bloated that equivalent Gtk Client. 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.

In addition Clem, main developer of Linux Mint says:

   I’ll apologize in advance for the sarcasm here.. I need to take
   another cheap shot at the GTKGnome developers here. *GTK3 isn’t a
   reliable API. Maybe it should be called libgnome instead.* GTK3.4
   came with Gnome3.4, and wasn’t compatible with previous GTK3 themes.
   This means all GTK3 applications looked really ugly not only with
   all the GTK2 themes which don’t support GTK3 (almost all of them),
   but also the few which did. With this in mind we had three options:

     * Give you a desktop with poor integration and applications which
       look different based on the API they use (which is completely
       unacceptable)
     * Ditch all GTK3 applications from Mint and replace them with
       earlier GTK2 versions, or GTK2 or QT applications (this includes
       Gnome apps, but also Gdebi, Transmission and a few others)
     * Rant like mad, remove all themes, and waste countless hours in
       giving Mint-X and Mint-Z proper GTK “3.4″ support even though
       it’s likely to break again in 3.6…

   We went for option 3 “this time”. I hope this little example was
   enough to convince 3rd party developers not to use GTK3. I couldn’t
   find any release notes or documentation explaining the regression or
   how to solve the issue.. *I genuinely get the feeling that GTK 3.4
   is developed for Gnome 3.4, that it doesn’t really matter if it
   breaks things and that we’re not supposed to use it outside of Gnome.*


[1] http://www.wikivs.com/wiki/GTK_vs_Qt

[2] http://www.openshotvideo.com/2013/04/development-update-schedule-and-funds.html

[3] https://blog.wireshark.org/2013/10/switching-to-qt/

[4] https://bitbucket.org/presik/presik_pos_client

[5] http://en.wikipedia.org/wiki/Yate_%28telephony_engine%29

[6] http://blog.linuxmint.com/?p=2038


Maybe somebody can give another point of view, of course is welcome :)

--

Atentamente / Best Regards,

Oscar Andres Alvarez Montero
CEO Presik Technologies
Cel: 301 245 7967
www.presik.com
Bucaramanga
" now | future "

Reply via email to