Linked by Thom Holwerda on Wed 20th Oct 2010 22:22 UTC, submitted by vivainio
Ubuntu, Kubuntu, Xubuntu This is kind of... Well, good news, I suppose? It depends on where you allegiances lie, but it seems like Ubuntu is warming up to the idea of using Qt to develop applications. It's no secret that Qt is a far more advanced development framework than Gtk+, so it only makes sense for Ubuntu - a GNOME/Gtk+ distribution - is looking at it.
Thread beginning with comment 446172
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: ...
by google_ninja on Thu 21st Oct 2010 04:32 UTC in reply to "RE: ..."
google_ninja
Member since:
2006-02-05

I am a developer, and yeah, you end up with mediocre results.

Problem #1 is that windows and unix based operating systems take a fundamentally different view of processes and how to do parallel programming. This is why apps like apache/mysql etc while ported to windows, don't work anywhere near as well.

Problem #2 is that operating systems have different capabilities. You end up having to take one of two approaches -- either go for the lowest common denominator, which means you won't be able to take advantage of fancy things on any given os, or build and maintain your own feature set, which is way more work and gives inconsistent results across operating systems.

Problem #3 is that operating systems look completely different. Either your UI looks the same (and out of place) on all operating systems, or you go for the native widget approach. The problem with that is you basically need to maintain different code for each OS, because a checkbox on windows has a different size then on OSX, which is different then gnome, etc. Also, design wise windows and kde are similar, and osx and gnome are similar, but when you mix over those boundaries things just seem wrong. An osx app to a windows user will seem simplistic, and a kde app to a gnome user will just look like a mess.

The best approach a cross platform toolkit can do go for "portability", i.e. minimize the amount of work you have to do to support multiple platforms, not try to maintain compatibility.

You gave firefox as an example, it is a great one. It was developed primarily for windows for years, and until fairly recently, actually ran faster in linux under wine then natively. That is because of how hard it is to do things right behind the scenes on all platforms. What they did do was the whole cross platform UI thing. But chrome has managed to grab 8% of the browser market (mostly from firefox) over the last two years because of how sluggish the firefox UI is in comparison.

Now, all that is a general rant on cross platform toolkits. Qt is actually one of the better ones, and probably would be what I would use if I had to write a cross platform client app. But in a general way, cross platform is a synonym for "worst of all worlds".

Reply Parent Score: 3

RE[3]: ...
by lemur2 on Thu 21st Oct 2010 05:37 in reply to "RE[2]: ..."
lemur2 Member since:
2007-02-17

It was developed primarily for windows for years, and until fairly recently, actually ran faster in linux under wine then natively.


This was true for one release, but only because the Windows build only had been optimized via a process called profile guided optimization.

http://en.wikipedia.org/wiki/Profile-guided_optimization

This optimization wasn't done by Mozilla for the Linux build they distributed. At least a few distributions, SuSe I think was one, did however do it for the build they distributed. SuSe also made patches for Firefox to give it better integration with KDE, even to the extent of using native KDE dialog boxes.

I think Arch may have picked up on SuSe's work:
http://aur.archlinux.org/packages.php?ID=22296

It is not the primary design of an application that makes it fast or slow under one OS or another, it is the little details of how it is tuned and built that matter.

Reply Parent Score: 2