maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Maemo 5 / Fremantle (https://talk.maemo.org/forumdisplay.php?f=40)
-   -   Say NO! to Qt-based Maemo! (https://talk.maemo.org/showthread.php?t=50557)

nicola.mfb 2010-04-20 13:07

Re: Say NO! to Qt-based Maemo!
 
I develop with Qt for years. It's a really GREAT framework and not only a GUI toolkit (dbus, xml, network, graphics, sql, and much more), all that with a well organized object hierarchy, great documentation and support available.
Trolltech guys have great experience over crossbuilds and embedded system.
You really write code once, build and run it everywhere.

Before hating, please experiment it a bit, it's has very nice surprises.

Just one example: qt works with properties, signal and slot, just adding a couple of line of code you may export those on DBUS, for that reason I'm coding daemons too with qt, linking qtcore and qtdbus, doing nice things with very little coding.

Anyway you are always free to use glib, gtk, dbus, expat, libc, stdc++, vala, and mix all the other libraries, finding documentation in several place without a great offline crossreferenced help, playing with autotools and so on if you feel better :)

In the long term I think that Nokia wants to provide for its devices an integrated IDE like XCode for apple.
The difference is that here the code is free, and you have bindings for a lot of language and not that objective-c crap.
You are always able to mix qt with other libraries c/c++ code.

So IMHO it's a nice line I'm very happy for that.

Niko

admiral0 2010-04-20 13:09

Re: Say NO! to Qt-based Maemo!
 
Quote:

Originally Posted by smoku (Post 619253)
Let me introduce you the 2k+ programming: http://live.gnome.org/Vala

Why should i learn yet another language? I think anybody with basic C knowledge is able to code something in C++/Qt. Vala is a new language, C++/Qt is not a language, but an addition to C++

Joorin 2010-04-20 13:11

Re: Say NO! to Qt-based Maemo!
 
Quote:

Originally Posted by w00t (Post 619236)
...

That is, if there was some kind of a sinister plot to take Qt in directions that the community wasn't happy with, I think the community would soon take things their own direction again. Obviously, this isn't something that the controlling company would be looking to start, so I don't see this as too high a risk.

...

There are other technical aspects of some of the posts here that I don't think are quite on for similar reasons, like "moc being a tie-in to Qt" which is just stupid - obviously, if you use a platform, you're tied to it - try using a Gtk+ app without using Gtk+.

...

At the end of the day, if you're not happy with the situation as it is, get involved. Help develop Qt, help shape the tools, help make things happen - don't sit in an armchair and paint the bikeshed.

Taking into account how few of the members of the Maemo community actually are developers of any shape and kind, questions about changes in the basic workings of the system will always end up a tad frantic. To me, this thread has more of that in it (without forgetting that OP and you actually are developers) than actual technical concerns in regards to how it will affect the device.

Regarding MOC, I do wonder what the equivalent tool when developing GTK+ applications is. I develop GTK+ applications without describing the GUI of my application in some metalanguage so equating "using MOC to develop Qt applications" to "using GTK+ (the library and headers) to develop and run GTK+ applications" comes across as a tad off target. Qt brings MOC to the table together with libraries and headers.

This leads to two of my actual concerns: code size and performance. The N900 is limited as it is (without serious tinkering) and to more or less direct much of the future development along a line with bigger binaries that depend on a larger application stack might not be the best.

Of course this has to be weighed against the potential ease in developing or porting new applications but to just brush it over with "C sucks, C++ rocks" as I've seen in other threads here is to, in my opinion, overlook some of the real consequences.

Regarding armchair shed painting, I agree. Getting involved is the best thing but it's not an option but for a select few. As you yourself state later on in the thread, the quality you need to be able to produce is proportional to how important the component is.

thp 2010-04-20 13:11

Re: Say NO! to Qt-based Maemo!
 
The strength of Maemo/MeeGo is that you can use more than one language and toolkit, which is great for developer choice.

Qt and GTK+ are "toolkits". If you are a bad craftsman, it does not matter how good your tools are. If you are a good craftsman, you can create good results even with suboptimal tools.

It's not about Qt vs GTK+, it's about good and bad UI design.

Of course, if you want perfect platform integration (and the right widgets), you have to go with Hildon for Maemo 5 (plain GTK+ is not enough to make your UI fit in well) and if you want perfect integation into Harmattan, you have to use DUI (again, plain Qt will probably not be enough).

Say NO! to negative threads like this one. Invest your time in making apps better. You don't have to be a developer for that.

mikhas 2010-04-20 13:13

Re: Say NO! to Qt-based Maemo!
 
Quote:

Originally Posted by admiral0 (Post 619317)
Why should i learn yet another language? I think anybody with basic C knowledge is able to code something in C++/Qt. Vala is a new language, C++/Qt is not a language, but an addition to it

Weak argument. Between learning a new language and learning a new toolkit, the former should always be easier (unless it's a big language - some call it a foundation of languages - like C++). Also, the quality of your c-based C++ code would probably not be very high.

attila77 2010-04-20 13:13

Re: Say NO! to Qt-based Maemo!
 
Quote:

Originally Posted by w00t (Post 619263)
Have you actually tried? I've now gotten three patches into Qt the past month, two via talking to Qt developers about my concerns, one via submitting a merge request on Gitorious.

Visit #qt-labs on freenode sometime. They don't bite.

Yeah, I had positive experiences too, nice guys (and it's not that bad even when we disagree about something). I can understand some people preferring certain technologies, but occasionally it gets from a 'why I like XYZ' to a 'my tool is better than your tool' dispute which rarely brings good results. For the record, I like Qt better even though I used both in the past, think gobjects are a bigger hack than moc, so there, let the flame begin :) But it's not really a fight. Maemo/MeeGo is in the unique position in the embedded arena that you can have both (and more) toolkits, code for whatever you like. Dissing Nokia for not pushing your favourite tool is IMHO pointless. Qt people could have said just the same during Maemo's GTK+ phase.

nightfire 2010-04-20 13:19

Re: Say NO! to Qt-based Maemo!
 
Are you nuts?

If you've never used Qt, try it. It is truly outstanding.

My only complaint with Qt is performance, but this will become less of an issue as devices continue to mature.

Edit: Sorry; directed at OP to avoid any confusion. :)

Seriously, spend a few months working with Qt and you'll get it.

admiral0 2010-04-20 13:19

Re: Say NO! to Qt-based Maemo!
 
Quote:

Originally Posted by mikhas (Post 619326)
Weak argument. Between learning a new language and learning a new toolkit, the former should always be easier (unless it's a big language - some call it a foundation of languages - like C++). Also, the quality of your c-based C++ code would probably not be very high.

I agree about quality of c-based code, but it's a way to start coding and to "meet" C++.

You totally missed in the other matter. If i learn vala, i should also learn bindings for GTK, Gobject .dbus.vapi, kernel26.vapi ... .. .. .and so on.

Qt lets you use kernel headers and other libs as you like and already know.

The question is thae same. Why should i learn another language and do _everything_ in a different way rather than learn some new things and do others as i already know?

zimon 2010-04-20 13:30

Re: Say NO! to Qt-based Maemo!
 
Quote:

Originally Posted by AlMehdi (Post 619287)
I will never follow on to the rpm way of doing.. i did rpm before and it made me sick. Great we have the Moebian project.


DEB is couple of ways technically inferior than RPM.
Let's just name the couple: RPM supports embedded GPG-signatures natively and transactions, DEB does not. Politically RPM is chosen by LSB, and compatibility between Linux-systems is never high enough.
http://wiki.openvz.org/Package_managers#Commands

What it comes to programming languages, for dynamic programs use Python or Java because GC and optimization possibilities. For device drivers and microkernel C and when needed C-embedded assembly. For other non dynamic memory applications what ever you like, but because there is Python interpreter already probably running on the machine in shared memory, why don't use Python (or same for goes for Java but not in Maemo/Meego unfortunately).

Before when QT was only GPL, GTK was the better choice. Now when QT is LGPL, I see differently and maybe like QT's OOP from the ground up better than GKTmm which is like a small kludge to make C interface to OO-one.

IMHO, Ugh

Venemo 2010-04-20 13:39

Re: Say NO! to Qt-based Maemo!
 
Okay, here is my 2 cents about the matter.

I don't like Qt. However, I like GTK and stuff even less, because there is no viable development environment for them.
Qt Creator just barely passes my requirements, and there is no IDE that supports Hildon/GTK development on Windows, sorry, so it is out of the question for me.

It makes no sense that you don't like Qt because it uses C++. You know, they actually TEACH C++ at school. If you didn't get it, it is your loss.
I would anytime prefer a C++-based environment. (However, my favourite language of choice would be C#.)

By the way, GTK+ WILL remain an official toolkit for Meego because Moblin already uses it, so no complaints there.


All times are GMT. The time now is 12:32.

vBulletin® Version 3.8.8