Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
GUI Software

VCF - A Free BSD Competitor To Trolltech's Qt? 75

TioHoltzman writes "There's a new 0-6-5 release available of the VCF, aka the Visual Component Framework. This release has a slew of new features, and it looks like it could become a real contender against Trolltech's Qt toolkit. It currently runs on Win32 platforms with an active Mac OS X port underway. There's still lots to do, but it can run some of the samples now on OS X. There are some screenshots here (1), here (2), and here (3)."
This discussion has been archived. No new comments can be posted.

VCF - A Free BSD Competitor To Trolltech's Qt?

Comments Filter:
  • by david.given ( 6740 ) <dg@cowlark.com> on Monday August 09, 2004 @03:55PM (#9923678) Homepage Journal
    ...but if you're going to post an advertisement, say it's an advertisement! Tio Holtzmann is a direct spokesman for VCF; submitting a story as if it was written by a third party is dishonest and makes the whole editorial process at Slashdot look shabby.

    Well, shabbier.

    At least the submitter is a real user with a history, and wasn't created as a marketing ploy; but would it have been so hard to stick 'Disclaimer: I'm one of the developers!' at the bottom?

    • by Anonymous Coward
      But this is Free (as in Free Beer) advertising! ;-)
    • by TioHoltzman ( 709089 ) on Monday August 09, 2004 @07:05PM (#9925313) Homepage
      I have tried 3 different times to get this story submitted in one way or the other for the past several months (including one earlier today that got rejected within less than an hour!). They have all been rejected. Several other members of the project have also tried repeatedly to get a submission and those too got rejected. I don't like doing this anymore than you do but it seems that's what it takes to get a submission accepted.
      • by eraserewind ( 446891 ) on Monday August 09, 2004 @07:16PM (#9925368)
        I have tried 3 different times to get this story submitted in one way or the other for the past several months (including one earlier today that got rejected within less than an hour!). They have all been rejected. Several other members of the project have also tried repeatedly to get a submission and those too got rejected. I don't like doing this anymore than you do but it seems that's what it takes to get a submission accepted.
        But you know, this isn't Freshmeat. It's a discussion forum. Maybe the fact that is was rejected 3 times should tell you something.

        The point release notifications of famous apps like Mozilla are bad enough, but some library we haven't heard of before that does the same as a bunch of other libraries out there?

        If the news that Mozilla or OpenOffice or something like that was switching to VCF then it might be newsworthy.
        • Perhaps, but when every single developer who runs into the project keeps asking why this is not getting more press and being written up on slashdot, maybe that says something to? I have been pushed continually for 3 years to get more press for the project, and slashdot is one of the few places I know of. Freshmeat woulnd't even carry it at first because it only ran on Win32.
          Cheers!
          • by Senjutsu ( 614542 ) on Monday August 09, 2004 @08:45PM (#9925840)
            Perhaps, but when every single developer who runs into the project keeps asking why this is not getting more press and being written up on slashdot, maybe that says something to?

            It does. It says:

            Keep improving your project, and eventually it will get noticed, used, and become popular enough that some impartial third party will become excited enough to submit a story about something related to it (Ask Slashdot: Why isn't VCF more well known?, perhaps),

            On the other hand, what it doesn't say is:

            Submit a story to slashdot pretending you aren't the lead developer while the project is still in its early and butt ugly stages and has no compelling advantage over any of its competitors, thereby irritating and alienating the very audience that might otherwise have cared about it. You want to advertise your own project, submit it to Freshmeat again, FFS. It's not windows only anymore.

            If the only person who cares enough to submit something about your project is you, be up front about it. Don't try to con people into believing otherwise. This is hella lame.
            • by Anonymous Coward
              What Linux desperately needs are toolkits! You cannot have too many toolkits. The lacking diversity of toolkits is the major reason that the Linux(TM) Desktop Experience sucks more than anything else.

              Every application should be in a different toolkit so it has a unique look and feel.
        • This isn't news about a point release - I've never heard of VCF before this so to me this is actually new. And it's actually vaguely interesting - as in something to consider using as opposed to many other announcements on slashdot. Obviously a disclaimer would be nice, but it's interesting enough to warrant some attention, and for me therefore leniency :-).

          And - nobody's reading slashdot with the expectation of well-filtered news anyhow.

          --Eamon
        • this isn't Freshmeat. It's a discussion forum. Maybe the fact that is was rejected 3 times should tell you something.

          The fact that it was submitted several times over the past several months by many people, rejected all of those times, and then now accepted like this tells me only that the editorial process is broken.


      • I don't like doing this anymore than you do but it seems that's what it takes to get a submission accepted.


        When all else fails, just lie...
  • Past Tomorrow? [slashdot.org]

    I hope it's just me, and the amount of work I've been doing lately on this subject- but XP with SP2 on any AMD processor won't even allow the Windows CE VM to execute in debug mode. What chance does a third party language/compiler/debugger have?
  • by JabberWokky ( 19442 ) <slashdot.com@timewarp.org> on Monday August 09, 2004 @04:04PM (#9923759) Homepage Journal
    Stuff like the application scripting language, data abstraction, relational database libraries, accelerated 3d, etc. Qt is a bit more than just a visual toolkit at this point, having pulled into it and made platform independant many of the ideas implemented in KDE.

    --
    Evan

  • What am I missing? (Score:4, Interesting)

    by I_Love_Pocky! ( 751171 ) on Monday August 09, 2004 @04:14PM (#9923891)
    Why is this just a competitor to QT? Is there something specific about it that makes it directly competitive with QT? Isn't it a windowing framework, making it competitive with GTK and others as well?
    • by SewersOfRivendell ( 646620 ) on Monday August 09, 2004 @04:34PM (#9924139)
      Why is this just a competitor to QT? Is there something specific about it that makes it directly competitive with QT? Isn't it a windowing framework, making it competitive with GTK and others as well?

      GTK and most others don't compile Mac OS X native apps, and GTK isn't written in C++. GTK 1.4 was ported for use with earlier versions of the GIMP, but no one's bothered to port a modern version, it would appear. Most frameworks don't bother with a Mac port. So Qt can currently use native (or pseudo-native, in the OS X case) controls on Windows, Mac, and Linux, and VCF would be a new competitor in that space. wxWindows probably already competes there, but the results I've seen from wxWindows apps have been pretty mixed, and the source code isn't pretty, being infested with win32 (pre-OO) notions of how event handling should work.

      • by JabberWokky ( 19442 ) <slashdot.com@timewarp.org> on Monday August 09, 2004 @05:11PM (#9924495) Homepage Journal
        Yes, but Qt isn't a GUI toolkit, it is an application development framework and language extension (Database abstraction, application scripting, Signals and Slots, the foreach loop, etc). All I see here is a GUI toolkit. GUI widgets and layout comprise only a small part of what Qt is.

        --
        Evan

        • by TioHoltzman ( 709089 ) on Monday August 09, 2004 @08:01PM (#9925629) Homepage

          In addition to the GUI stuff the VCF provides:

          • Thread support with Mutexts, Conditions, and Semaphores
          • File and file searching
          • Streams
          • Locale and Unicode support
          • Text codes
          • String messages for localizing your app
          • Registry wrapper for app prefs
          • A full fledged reflection API that is conceptually similar to the Java Reflection API. This allows for dynamically creating an object instance from only a class name, interrogating the instance for methods, properties, events, and interfances. The overhead for this is pretty minimal. You do have to register the class but this is pretty easy to do and doesn't require a separate pre-processor step like Qt's MOC does.
          • A event system that is very similar to delegates in .NET and extremely easy to use.
          • Simple XML parsing support
          All of this is plus, unlike Qt or WxWidgets, or FOX or whatever, the framework is broken into smaller pieces as opposed to one monolithic library. All of the above features are available in the FoundationKit and completely suitable for console/server developement, without any GUI baggage.

          Application scripting can be achieved by using the VCF's Reflection API's to wrap a script engine. For example, in one app I wrote I used the Mozilla JavaScript engine and made a VCF wrapper that simply hooked into the VCF's ClassRegistry. Thus any class that you registered with the VCF's runtime was also available for scripting with the JavaScript engine. Took about 200 lines of code. From what I have seen I would expect a Python wrapper to be equally easy to write.

          • by e8johan ( 605347 )
            The product seems to be missing database support. That is pretty much a requirement to compete with Qt. Many, if not most, custom applications used in businesses today use databases in some way.
          • by JabberWokky ( 19442 ) <slashdot.com@timewarp.org> on Tuesday August 10, 2004 @12:40AM (#9926792) Homepage Journal
            Yep - it has all that, which is why I didn't list them in my features of Qt that this dosen't have. Basically, it has all the stuff that is necessary to implement a GUI, and nothing else.

            unlike Qt or WxWidgets, or FOX or whatever, the framework is broken into smaller pieces as opposed to one monolithic library

            Same goes for Qt; the framework is broken out. Some of the enterprise features are sold as options.

            All of the above features are available in the FoundationKit and completely suitable for console/server developement, without any GUI baggage.

            Ditto for Qt.

            As for your last point, Qt already has scripting built in with secure access as opposed to a wrapper for Reflection. You can use several languages as well.

            I'm not saying that this isn't good... I'm just saying that there's quite a bit more to Qt than what is available here and that Qt is quite a bit down the development curve.

            --
            Evan "but then, I'm a procedural kinda guy anyway..."

            • Threading is not something you need for a GUI, though it does help. In particular threading is something that varies wildly between platforms, and as such desperately needs some compatibility layer to ease cross-platform development.
          • by Anonymous Coward
            All of this is plus, unlike Qt or WxWidgets, or FOX or whatever, the framework is broken into smaller pieces as opposed to one monolithic library. All of the above features are available in the FoundationKit and completely suitable for console/server developement, without any GUI baggage.

            this is just plain wrong, I've been using wxWidgets for a project I've been working on and it has many of those things and it is availible in many discreet modules, not simply a "monolithic library"

      • by ndogg ( 158021 ) <the.rhorn@nOsPAm.gmail.com> on Tuesday August 10, 2004 @04:40AM (#9927523) Homepage Journal
        Just to clear something up:
        So Qt can currently use native (or pseudo-native, in the OS X case)

        Pseudo-native? It is native. Emulating it would be too cumbersome [trolltech.com].
    • by stienman ( 51024 ) <adavis&ubasics,com> on Monday August 09, 2004 @07:28PM (#9925437) Homepage Journal
      Currently QT is really the only substantial cross platform framework that really does well on Windows as well as Linux/bsd/etc.

      However, QT is licensed such that Windows work cannot really be done for free. It may be open, but it certianly isn't free. This isn't a bad thing, but it is limiting.

      VCF is not only free and open, but it is licensed under the BSD license, meaning that it can (and likely will) gain a much larger audience than QT simply because it can do (or will do) everything QT does, but without cost. One can even modify the code without releasing their proprietary changes which is a big plus for many companies. One of the reasons, I suspect, Apple took from FreeBSD instead of Linux when they needed to Unix-ify their OS was because of the freedom it gave them. (probably also because BSD had already fought its legal battles and was known to be copyright safe)

      GTK and others really don't support windows and linux together as well as QT does.

      From the Features:
      The Visual Component Framework is a C++ application framework that offers a modern, clean, C++ architecture and is designed to be cross platform. The core framework is divided into three major libraries, the FoundationKit, the GraphicsKit, and the ApplicationKit. The FoundationKit provides basic services such as file access, streams, threads and synchronization primitives, and advanced RTTI features. The GraphicsKit provides a nice set of graphics classes for working with both image and vector graphics, and has built in support for the Anti-Grain Graphics library, as well as image loading services to facilitate loading various graphics formats. Finally, the ApplicationKit provides a rich set of GUI controls, use of the Model-View-Control pattern, property and component editors, undo/redo support, drag-and-drop, and clipboard services, application resources, and UI metrics and policy managers.


      To facilitate cross platform functionality the VCF is is built using a system of peer interfaces that abstract away the various platform specific calls, with each peer tackling a specific service, such as as threading, file handling, windowing system controls, and so forth. These peer classes are also exposed, and can be used to get access to the lower level OS handles or primitives that they wrap, allowing the developer to write platform specific code if the need arises.

      Finally, the VCF is flexible. While it is certainly designed to be a standalone application framework, it also aims, as much as possible, to cooperate with existing toolkits and/or frameworks. For example, if you have an MFC application, you can easily use just the GraphicsKit to make use of the more advanced features in it, as opposed to using the MFC CDC, CBrush, and CPen drawing classes.


      -Adam
      • I don't agree with you. My company develops all our cross-platform applications (Linux, *BSDs, OS X and Windows) using wxWidgets and everything works fine.

        Far better than QT, if you ask me. No metacompilers, no emulated look and feel and (thank god) no licencing issues.
        • It appears that wxWidgets has matured since I last looked at it. I don't know enough about them to point out differences, but it appears that they perform much of the same functionality.

          The license issue is interesting. Rather than go to a full BSD style license, they use a L-GPL with the exception that distributed binary dirivations can be distributed under the user's terms.

          -Adam
    • To the best of my knowledge, Qt is the only other C++ framework out there that offers the range of runtime dynamic introspection that the VCF does. The VCF (and Qt as well) allows you to get all sorts of meta information about a particular C++ instance, such as the class name, class UUID, interfaces implemented by the instance, methods of the instance, properties, and events. Methods can be invoked dynamically at runtime, and properties can be queried or modified as well.

      By allowing for all of this the

    • The majority of Windows and Mac devlopers don't use GPLd libraries because of the baggage/obligations that come along with the GPL. GTK is GPLd, but VCF isn't, and if you buy a license from trolltech, neither is QT.

      Plus, the Windows & MacOS ports of GTK are hopeless hacks.

  • Similar to Delphi? (Score:1, Interesting)

    by Anonymous Coward
    After looking at the sample code here:

    http://vcf.sourceforge.net/docs/ref_manual/ch02.ht ml [sourceforge.net]

    I have to say it looks similar to Delphi.
    I don't mind. I think its cool.

  • Didn't the VCF originate from Borland and the Delphi/Builder RAD suite?
  • by FFFish ( 7567 ) on Monday August 09, 2004 @06:15PM (#9924997) Homepage
    And doesn't Wx have the lead by, oooh, must be about five years?

    Of course, the biggest flaw with Wx is that its lead developer doesn't have the cojones to submit a Slashdot story as if he were an impartial user...
    • I am first of all a user of VCF. It's ok to compare VCF to QT, but please don't say that. It really shows that you never used it and you don't know. The time you do something with VCF is at least 10 times less then what it takes to do the same with MFC. Unless you are doing completely standard things.
  • Documentation (Score:4, Informative)

    by e8johan ( 605347 ) on Tuesday August 10, 2004 @12:35AM (#9926781) Homepage Journal
    I believe that one part of Qt's success is the great documentation. This: http://vcf.sourceforge.net/docs/ref_manual/ch03s04 .html does not look like great docs to me (the page has only titles, no text).
  • wxWidgets is free [unlike Qt] on all platforms - UNIX, Windows, Mac, embedded, and uses native widgets.

    Oh and the screenshots look crap, if you're going to post screenshots, at least make sure there's some recognisable widgets in them, not just something that like it was drawn in Illustrator.
  • It runs currently Windows only, with a Mac port currently developed. Where is the other myriad of OSes Qt runs on? Sorry, the only thing this is a competitor to is the awful MFC. But it does not take a lot to be better than the MFC, since the MFC is the worst there is.
  • I am first of all a user of VCF, and the time I give as a developer to it, is only a fraction of the time I save by coding with VCF. VCF is an extremely power library and with an unlimited potential. Unfortunately most of the people stick with the same crap over and over again. So VCF has essentially been developed by only one person for few years. Even though recently there are more contributors. If just few more developer would join the effort you would see VCF growing in a much shorter time. In my opi
  • I was thinking of trying this out, but I see it's currently Windows only. WTF? Ignore all the specious licensing arguments regarding Qt, if VCF can't run on my platform, then it really doesn't matter how free it is, does it?

Almost anything derogatory you could say about today's software design would be accurate. -- K.E. Iverson

Working...