Showing posts with label qt. Show all posts
Showing posts with label qt. Show all posts

2009/03/18

Official XMMS2 client should be written in Qt!

I read the that theefer did the other day and I just wanted to voice out my opinion about the Official client. I don't doubt that all people in the XMMS2 community probably already know my position about this, but I wanted to make it perfectly clear!

I think the official XMMS2 client should be written in the Qt toolkit and these are my reasons for it:
  1. Qt works natively on all the platforms that XMMS2 runs on. More important, it actually looks good on all the platforms that XMMS2 runs on. It even looks good under GNOME these days.
  2. The Qt API is very clean and easy to use.
  3. You can write Qt applications in C++, Python or Ruby (see my language discussion further down).
  4. Qt bundles with QtScript, which is a ECMA compliant language, which means that we can extend the official client in QtScript. This means a very low entry-level for people that want to add functionality to our client. QtScript is (IMHO) not fast enough to be the sole language we should use, but that might change soon.
  5. Upcoming features like QtKientic will bring awesomeness to our client.

I also think that the base client should be written in C++, but supported by QtScript. First we had the idea that we should write the whole client in QtScript, just have a small C++ loader. I have researched this possibility but I don't think QtScript is ready for that. QtScript is slow, and you need the qtscriptbindings to bind the full Qt API to QtScript, that takes 2 hours to compile on my master macbook pro.

Writing the application in Python or Ruby would probably be more rapid than writing it in C++, but it will be a bigger pain to deploy. Qt/C++ is easiest to deploy because all the tools are already there and users don't have to install yet-another-lib. My second choice would be Python, mostly because I know Python, I don't know Ruby :)

How about xmmsclient bindings?
The last thing I would like to touch is about xmmsclient bindings. Right now I have Qt4 bindings that are native, that means that it doesn't use libxmmsclient beneath, they are not merged into the mainline, but could be found here. I think these bindings could be a good candidate to use in the client, but we would need to make it complete and merge it into XMMS2 first.

See this post as a material for discussion, I would love to hear your opinion. Let the flames rain!

2007/09/12

Ok, I am a QZealot

After I have been playing around with Hildon / Maemo a couple of days, trying to make a PyMaemo client for XMMS2 I have a really bad headache. GTK feels soo different from Qt and frankly I couldn't loath the API any more. I have decided to scrap that effort, right now I want to see what it would take to be able to use Qt properly under Maemo. I searched the internet for good advice but it seems like all the efforts to make Qt work well under Maemo has been very scattered and disorganized. I have created a wiki page and try to collect information about how to "port" Qt4 to Maemo. If you have any information I lack please head over to the wiki and help me out!

On another note I am thinking about going to the Trolltech Dev Days in Germany the 16-17th of October. Come buy me a beer ;-)

2006/11/09

More mDNS madness, this time Qt4.

Ok, so after my last post about mDNS I haven't touched it since the API really put me off. But wanting a sexy mDNS browser in my newly founded Qt4 client I took a bite in the bad Apple and started to write a C++ wrapper class for mDNS (bonjour). After reliving all the madness of before I managed to do a pretty neat class. It works just fine on MacOSX (where bonjour is default), Linux (with avahi-dnssd-compat) and probably Windows too (if you download and install the lib from Apple).

If you ever need the code, go here: implementation and header.

Here is the result: Esperanza server browser window.