Slashdot Mirror


Trolltech Plans GPL Release For Qt/Mac

michae1m writes "Trolltech today announced that Qt/Mac will be released under the GPL (GNU General Public License) at Apple's World Wide Developer Conference (WWDC) 2003 in San Francisco on June 23rd (http://www.trolltech.com/newsroom/announcements/0 0000129.html). For some screenshots check out dot.kde.org/1055852609. This means many X11 Qt apps will be easily rebuilt for OS X without requiring X11, very cool."

10 of 110 comments (clear)

  1. Not only is it good for Apple by dbrutus · · Score: 5, Insightful

    It's good for the projects. Free software gets introduced to an entirely new clientle, the kind of end user that is exactly what the OSS movement needs, one that is uber picky about UI, is very loud about it, and will nag and complain until the UI is fixed.

    *That's* what's been missing from Open Source and it's arriving not a moment too soon.

    1. Re:Not only is it good for Apple by mccoma · · Score: 5, Interesting
      Apple has some very good reasons and research for the differences. Tog's book on interfaces gives some excellent insights into the process and reasons for the way things are on a mac. A lot of money was spent on the interface and the research did go to improve the user experience.

      In a lot of ways, I wonder why frameworks don't deal with a meta-structure and then arrange menus to fit the platform. Admitially, a lot of resources are unique to a platform (icons of different sizes), but everyone has "preferences", customize the toolbar, copy / paste, find, program specific, application level (quit), and file level (open, close, etc.). Assign location at a "higher level" and let the framework do it jobs for the machine.

    2. Re:Not only is it good for Apple by Anonymous Coward · · Score: 5, Insightful

      I think apple did this on purpose

      Yes, they did, but the short answer is that Apple has been doing it longer than anybody else. Any time somebody creates a new windows-and-mouse interface, you have to ask yourself, "Why did they choose to be different from the Mac way here?" Often the answer is, "To be like Windows," but that just raises the question of why did Microsoft choose to be different from the Mac?

    3. Re:Not only is it good for Apple by Anonymous Coward · · Score: 5, Informative

      Speaking of preferences, let us not forget NSUserDefaults. Mac programs that fail to use NSUserDefaults (or the analogous CoreFoundation interfaces) are instantly one strike down. So what's the point of using QT to write your user interface if it's (1) not going to look like Mac users expect, and (2) not going to work like Mac users expect? If it did one of those two things, I'd say maybe, but since it can't have either without dropping into Cocoa or CoreFoundation... why bother?

  2. Re:How ironic... by Anonymous Coward · · Score: 5, Funny
    Wild guess here...

    Nobody.

  3. Re:Yeah Baby! by Anonymous Coward · · Score: 5, Informative

    Neither Gimp nor etherreal are Qt but GTK applications.

  4. Re:What's more exciting... by Anonymous Coward · · Score: 5, Informative

    Cocoa is nice, but I'm not so good with Obj C yet

    Trust me. I speak the truth. You can become a freaking EXPERT in Objective C in a few days or a few hours, depending on how good at C you are. If you know C--the language, not all the fiddly little calls that make up the standard library--then you can be up to speed with Objective C in a matter of hours.

    The best part is that you can forget practically everything about the C standard library when you're programming with Cocoa. You simply don't need it. The worst, the absolute mother-loving worst, is socket programming. Casting structs to other kinds of structs, converting from host order to network order... ugh.

    Here's the code to establish a socket-based server in Cocoa:

    NSSocketPort* socketPort = [[NSSocketPort alloc] initWithTCPPort:SOMETHING];

    NSFileHandle* listeningSocket = [[NSFileHandle alloc] initWithFileDescriptor:[socketPort socket]];

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(acceptConnection:) name:NSFileHandleConnectionAcceptedNotification object:nil];

    [listeningSocket acceptConnectionInBackgroundAndNotify];

    That's it. And here's the extra code to advertise that service with Rendezvous:

    NSNetService* service = [[NSNetService alloc] initWithDomain:@"" type:@"_SOMETHING._tcp." name:@"SOMETHING" port:portNumber];

    [service setDelegate:self];

    [service publish];

    Woo.

  5. Re:What's more exciting... by am+2k · · Score: 5, Informative
    I'd also like to see Cocoa bindings for C++
    That's technically not possible, because C++ doesn't support delegates or even object messaging (like in "calling a method using its name as a string").

    If you really want C++, you can also go for Carbon. It's possible to use Carbon Events and nibs for a semi-current development approach which utilizes Mac OS X's full capabilities.

  6. KOffice vs. MS Office v. X by theolein · · Score: 5, Insightful

    I am just speculating here, but this does open a path of thought for me in that Apple might have encouraged this action by Trolltech (wider audience, more traction in corporations, more traction amongst consumers etc). Apple's use of KHTML in Safari may very well a sign of things to come in the other area where Apple has been dependant on Microsoft: Office.

    Quite a few people wondered why Apple went with KHTML instead of Gecko in developing a new browser and I think the answer was proabably because of the companies involved - Trolltech is not AOL/Netscape -, and that KHTML is much more lightweight than geckko could ever be, thereby giving Apple the same ability to offer developers the same HTML rendering API on the Mac as MS has done with IE on Windows. Apple could very well be considering doing the same thing with KOffice.

    KOffice is way behind OpenOffice in terms of maturity and features, but KHTML was also behind Gecko in terms of standards support until Apple developers started adding to it. I think Apple's developers would very well be capable of adding the features to KOffice that it lacked, including MS Office document support. They might do this in a manner similar to what they've done with KHTML and webcore: creating "Office" i.e. word processing, spreadsheet and presentation API's, giving these back to the community and creating a closed product ala Safari that would be based on them.

    This is wild speculation, but many people have wondered why Apple has done almost nothing Appleworks since OSX entered the scene. I don't think it was only fear of MS cutting off Office for the Mac that prompted this.

  7. Arg! Arg! Arg! by TomorrowPlusX · · Score: 5, Funny

    I've spent the last 4 months porting a fair amount (> 15 kloc) of qt code to std c++ on the backend (removing *all* qt, and writing my own classes that map to qt's classes where needed) and rewriting the gui in native cocoa/objective-c.

    And now I discover it was completely unnecessary!

    Arg! :P

    ( on the other hand, it's been a good experience. cocoa is a beautiful API, and rewriting the backend in pure c++/stl has actually improved it, since the stl is really, *really* quite good. )

    --

    lorem ipsum, dolor sit amet