Fox: best GUI Lib?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • gamaron

    Fox: best GUI Lib?

    Summary
    ---------

    Is Fox Toolkit ( http://www.fox-toolkit.org/ ) the "best" C++ GUI
    library/toolkit?

    My key goals (at least those that come to mind right now):
    * Portability (Windows, Linux, MacOS, other unix)
    * Open source
    * Maturity
    * Broad feature set
    * Large community following & support

    More Details
    -------------

    I'm an ex-C++ programmer/designer that has come back to "the fold" after a
    long hiatus doing non-programming work (program management, sales,
    marketing, etc).

    After browsing ( http://www.thefreecountry.com/sourcecode/gui.shtml ), Fox
    Toolkit seems to be a clear winner for my goals above.

    Maybe I missed something? Can anyone provide other toolkit/library
    suggestions...a nd (very important) their associated reasoning? Nothing
    I've looked at thus far seems to be nearly as "open-source" available,
    popular, and mature. Fox's web presence (web page, mailing lists,
    documentation) also seems quite professional, mature, and popular.

    (Disclaimer: I realize it's difficult to label something as "best."
    Often a solutions choice might heavily depend on the problem to solve and
    the problem's associated "environmen t"--be it technical, political,
    personal preference, etc. However, I use the word "best" here mostly to
    be concise...and to spark some feedback. ;)

    Thanks for any help!
    -Matt


  • Phlip

    #2
    Re: best GUI Lib?

    gamaron wrote:
    [color=blue]
    > Is Fox Toolkit ( http://www.fox-toolkit.org/ ) the "best" C++ GUI
    > library/toolkit?
    >
    > My key goals (at least those that come to mind right now):
    > * Portability (Windows, Linux, MacOS, other unix)
    > * Open source
    > * Maturity
    > * Broad feature set
    > * Large community following & support[/color]

    Qt has a slight edge on features and maturity, but it's not strictly open
    source.
    [color=blue]
    > I'm an ex-C++ programmer/designer that has come back to "the fold" after a
    > long hiatus doing non-programming work (program management, sales,
    > marketing, etc).
    >
    > After browsing ( http://www.thefreecountry.com/sourcecode/gui.shtml ), Fox
    > Toolkit seems to be a clear winner for my goals above.
    >
    > Maybe I missed something?[/color]

    GUI programming works "best" using a language with dynamic typing, such as
    Ruby. So if you leave off the C++ requirement, you can find Ruby bindings
    for many popular GUI toolkits.

    However, all those toolkits were written in C or C++, so...

    --
    Phlip



    Comment

    • Ioannis Vranos

      #3
      Re: best GUI Lib?

      Phlip wrote:
      [color=blue]
      > GUI programming works "best" using a language with dynamic typing, such as
      > Ruby. So if you leave off the C++ requirement, you can find Ruby bindings
      > for many popular GUI toolkits.[/color]


      Here we go again. :-)




      --
      Ioannis Vranos


      Comment

      • Karthik Kumar

        #4
        Re: Fox: best GUI Lib?

        gamaron wrote:[color=blue]
        > Summary
        > ---------
        >
        > Is Fox Toolkit ( http://www.fox-toolkit.org/ ) the "best" C++ GUI
        > library/toolkit?
        >
        > My key goals (at least those that come to mind right now):
        > * Portability (Windows, Linux, MacOS, other unix)
        > * Open source
        > * Maturity
        > * Broad feature set
        > * Large community following & support
        >
        > More Details
        > -------------
        >[/color]


        My vote goes to FLTK. I had tried wxWidgets and FOX before. I find
        FLTK API relatively easy to deal with.
        As the name says, it is really a light-weight
        toolkit. It is portable, open source, matured and got a large community
        following and support. Whether it got a broad feature set would be
        entirely subjective and I leave it to your choice depending on your
        application.

        --
        Karthik. http://akktech.blogspot.com .
        'Remove _nospamplz from my email to mail me.'

        Comment

        • Phlip

          #5
          Re: best GUI Lib?

          Ioannis Vranos wrote:
          [color=blue]
          > Phlip wrote:
          >[color=green]
          > > GUI programming works "best" using a language with dynamic typing, such[/color][/color]
          as[color=blue][color=green]
          > > Ruby. So if you leave off the C++ requirement, you can find Ruby[/color][/color]
          bindings[color=blue][color=green]
          > > for many popular GUI toolkits.[/color]
          >
          >
          > Here we go again. :-)[/color]

          Or Lisp. ;-)

          --
          Phlip



          Comment

          • Ioannis Vranos

            #6
            Re: best GUI Lib?

            Phlip wrote:
            [color=blue][color=green]
            >>Here we go again. :-)[/color]
            >
            >
            > Or Lisp. ;-)[/color]


            Lisp sounds OK I guess. :-)




            --
            Ioannis Vranos


            Comment

            • Ivan Vecerina

              #7
              Re: best GUI Lib?

              "gamaron" <matt@downwiths pammers-mengland.net> wrote in message
              news:46533d4325 00c283703f58efe cd0695a@localho st.talkaboutpro gramming.com...[color=blue]
              > Summary
              > ---------
              >
              > Is Fox Toolkit ( http://www.fox-toolkit.org/ ) the "best" C++ GUI
              > library/toolkit?
              >
              > My key goals (at least those that come to mind right now):
              > * Portability (Windows, Linux, MacOS, other unix)
              > * Open source
              > * Maturity
              > * Broad feature set
              > * Large community following & support[/color]

              How would you compare Fox to WxWidgets? (http://www.wxwidgets.org/)
              For each of the goals above, I think wxWidgets scores pretty well.
              I haven't heard of Fox as often as of Wx. While Fox is more recent,
              I does not seem to have avoided the mistakes of its predecessors
              (e.g. heavy use of macros for event dispatching...)
              NB: I'm just gesssing from a quick review of the docs on the site



              Ivan
              --
              http://ivan.vecerina.com/contact/?subject=NG_POST <- email contact form


              Comment

              • Steven T. Hatton

                #8
                Re: best GUI Lib?

                Phlip wrote:
                [color=blue]
                > gamaron wrote:
                >[color=green]
                >> Is Fox Toolkit ( http://www.fox-toolkit.org/ ) the "best" C++ GUI
                >> library/toolkit?
                >>
                >> My key goals (at least those that come to mind right now):
                >> * Portability (Windows, Linux, MacOS, other unix)
                >> * Open source
                >> * Maturity
                >> * Broad feature set
                >> * Large community following & support[/color]
                >
                > Qt has a slight edge on features and maturity, but it's not strictly open
                > source.[/color]

                There /is/ a very capable opensource subset of Qt. The entire KDE[*] is
                written using that subset and extensions thereof. I'm not going to get
                into the game of judging what is the best. Qt, from what I've seen, is the
                most successfull in terms of creating useful application. GTK has it's
                bragging rights [**] as well, but since this is a C++ newsgroup, I have to
                observe that it is not a C++ toolkit. It does have some C++ wrappers,
                however.

                My approach has been to write code that remains as independent of any
                particular toolkit as possible, and to treat the GUI as an interface. That
                is often easier said than done. Quite often much of what a program does is
                to provide a user interface.

                I find the "hard parts" of figuring out the algorithms and logical
                structures are usually far easier than providing an interface to them.
                [*] http://www.kde.org/
                [**] http://www.mozilla.org/
                --
                "If our hypothesis is about anything and not about some one or more
                particular things, then our deductions constitute mathematics. Thus
                mathematics may be defined as the subject in which we never know what we
                are talking about, nor whether what we are saying is true." - Bertrand
                Russell

                Comment

                • Phoenix Fyrestar

                  #9
                  Re: best GUI Lib?

                  The only problem with Qt is that you have to buy a book* (C++
                  GUthereafterrrm ing with Qt 3)** to get the GPL version for windows. I
                  agree that it's a great toolset, and if you don't already know Qt, the
                  caveat about buying the book doesn't really apply, since this is simply the
                  best documentation on Qt available, and you'll want to fork over for the
                  book anyway (I think it cost me $30 at Barnes and Nobel, probably be able
                  to find it cheaper if you look on Amazon).

                  * Since it's the GPL version, you really don't have to buy the book, just
                  find someone to give you a copy of the libraries, but that's the only
                  "official" way to get it for windows that I know of.

                  ** Qt 4 should be comming out soon (or is it out now?) and soon thereafter a
                  new book.

                  Steven T. Hatton wrote:
                  [color=blue]
                  > Phlip wrote:
                  >[color=green]
                  >> gamaron wrote:
                  >>[color=darkred]
                  >>> Is Fox Toolkit ( http://www.fox-toolkit.org/ ) the "best" C++ GUI
                  >>> library/toolkit?
                  >>>
                  >>> My key goals (at least those that come to mind right now):
                  >>> * Portability (Windows, Linux, MacOS, other unix)
                  >>> * Open source
                  >>> * Maturity
                  >>> * Broad feature set
                  >>> * Large community following & support[/color]
                  >>
                  >> Qt has a slight edge on features and maturity, but it's not strictly open
                  >> source.[/color]
                  >
                  > There /is/ a very capable opensource subset of Qt. The entire KDE[*] is
                  > written using that subset and extensions thereof. I'm not going to get
                  > into the game of judging what is the best. Qt, from what I've seen, is
                  > the
                  > most successfull in terms of creating useful application. GTK has it's
                  > bragging rights [**] as well, but since this is a C++ newsgroup, I have to
                  > observe that it is not a C++ toolkit. It does have some C++ wrappers,
                  > however.
                  >
                  > My approach has been to write code that remains as independent of any
                  > particular toolkit as possible, and to treat the GUI as an interface.
                  > That
                  > is often easier said than done. Quite often much of what a program does
                  > is to provide a user interface.
                  >
                  > I find the "hard parts" of figuring out the algorithms and logical
                  > structures are usually far easier than providing an interface to them.
                  >
                  >[*] http://www.kde.org/
                  > [**] http://www.mozilla.org/[/color]

                  Comment

                  • Steven T. Hatton

                    #10
                    Re: best GUI Lib?

                    Phoenix Fyrestar wrote:
                    [color=blue]
                    > The only problem with Qt is that you have to buy a book* (C++
                    > GUthereafterrrm ing with Qt 3)** to get the GPL version for windows. I
                    > agree that it's a great toolset, and if you don't already know Qt, the
                    > caveat about buying the book doesn't really apply, since this is simply
                    > the
                    > best documentation on Qt available, and you'll want to fork over for the
                    > book anyway (I think it cost me $30 at Barnes and Nobel, probably be able
                    > to find it cheaper if you look on Amazon).
                    >
                    > * Since it's the GPL version, you really don't have to buy the book, just
                    > find someone to give you a copy of the libraries, but that's the only
                    > "official" way to get it for windows that I know of.
                    >
                    > ** Qt 4 should be comming out soon (or is it out now?) and soon thereafter
                    > a new book.
                    >[/color]

                    You are correct. I had forgotten about that. I haven't booted into Chi Rho
                    in months, so I haven't had to deal with issue lately. As for the Qt book,
                    it's a damn good book!



                    --
                    "If our hypothesis is about anything and not about some one or more
                    particular things, then our deductions constitute mathematics. Thus
                    mathematics may be defined as the subject in which we never know what we
                    are talking about, nor whether what we are saying is true." - Bertrand
                    Russell

                    Comment

                    • Ioannis Vranos

                      #11
                      Re: best GUI Lib?

                      Steven T. Hatton wrote:
                      [color=blue]
                      > There /is/ a very capable opensource subset of Qt. The entire KDE[*] is
                      > written using that subset and extensions thereof. I'm not going to get
                      > into the game of judging what is the best. Qt, from what I've seen, is the
                      > most successfull in terms of creating useful application. GTK has it's
                      > bragging rights [**] as well, but since this is a C++ newsgroup, I have to
                      > observe that it is not a C++ toolkit. It does have some C++ wrappers,
                      > however.
                      >
                      > My approach has been to write code that remains as independent of any
                      > particular toolkit as possible, and to treat the GUI as an interface. That
                      > is often easier said than done. Quite often much of what a program does is
                      > to provide a user interface.
                      >
                      > I find the "hard parts" of figuring out the algorithms and logical
                      > structures are usually far easier than providing an interface to them.[/color]


                      I think a good approach for this is what Bjarne says in an interview:






                      " I think people should mentally separate programming into building
                      libraries and using them. Today you write a supporting library, and
                      tomorrow you use it. Far too many times people try and build their
                      systems as one big conglomerate. Even when I do individual work for only
                      a short time, I tend to build some supporting functions and classes, and
                      I design them to be supporting. I don't dive straight into building the
                      whole thing that can do the whole job. So, whether you are by title a
                      library designer or application designer, you should think about how you
                      can separate logically the different parts of your system."




                      --
                      Ioannis Vranos


                      Comment

                      • Ioannis Vranos

                        #12
                        Re: Fox: best GUI Lib?

                        gamaron wrote:
                        [color=blue]
                        > Summary
                        > ---------
                        >
                        > Is Fox Toolkit ( http://www.fox-toolkit.org/ ) the "best" C++ GUI
                        > library/toolkit?
                        >
                        > My key goals (at least those that come to mind right now):
                        > * Portability (Windows, Linux, MacOS, other unix)
                        > * Open source
                        > * Maturity
                        > * Broad feature set
                        > * Large community following & support[/color]


                        In the Windows world, we are coming to WinFX (which is a managed API),
                        with Win32 becoming deprecated.


                        WinFX which is now .NET is a CLI VM. CLI is a standard defining how such
                        a *multilingual* VM works, its assembly language and a *minimal* API.


                        CLI: http://www.ecma-international.org/pu...s/Ecma-335.htm



                        There are becoming many CLI VMs out there, the current mainstream ones are:

                        NET framework (Windows): http://msdn.microsoft.com/netframework

                        Mono (GNU/Linux, Unix, Mac OS X and Windows): http://www.mono-project.com

                        DotGNU (GNU/Linux, Mac OS X, Windows): http://www.gnu.org/projects/dotgnu




                        QT etc are great, however I do not know how they will encapsulate CLI
                        environments.



                        Ioannis Vranos


                        Comment

                        • Phlip

                          #13
                          Re: best GUI Lib?

                          Ioannis Vranos wrote:
                          [color=blue]
                          > I think a good approach for this is what Bjarne says in an interview:
                          >
                          > http://www.artima.com/intv/elegance.html
                          >
                          > " I think people should mentally separate programming into building
                          > libraries and using them. Today you write a supporting library, and
                          > tomorrow you use it. Far too many times people try and build their
                          > systems as one big conglomerate. Even when I do individual work for only
                          > a short time, I tend to build some supporting functions and classes, and
                          > I design them to be supporting. I don't dive straight into building the
                          > whole thing that can do the whole job. So, whether you are by title a
                          > library designer or application designer, you should think about how you
                          > can separate logically the different parts of your system."[/color]

                          Add Features not Modules

                          During a project's growth, the code always supports its current feature set
                          with the fewest design elements and fewest source statements possible, no
                          more. Groom the code to preen out Cruft; this frees the schedule, and lowers
                          the defect rate. Compete to add features elegantly.

                          Developers gifted with the ability to plan a design that could cover all
                          potential features are welcome here, if they hold that complete design up
                          for a goal but not the path. Teams expect members to specialize, and to
                          teach others how they do what they do. Nobody "owns" any module, and pairs
                          switch frequently.

                          A feature is not finished without its servants and clients in other modules.
                          At all times a program should form a useable round-trip application. And at
                          all times a user can comfortably drive all of a system's current features,
                          without gaps.

                          Developers volunteer to complete User Stories that affect modules they
                          understand. No module grows in isolation without immediately satisfying
                          other modules. Each User Story requires changes to any number of modules.

                          Libraries are modules for sale. Application-specific modules are skeletons
                          of libraries, presenting clean interfaces over only those few features their
                          applications need.

                          --
                          Phlip



                          Comment

                          • Keith H Duggar

                            #14
                            Re: best GUI Lib?

                            > > My key goals (at least those that come to mind right now):[color=blue][color=green]
                            > > * Portability (Windows, Linux, MacOS, other unix)
                            > > * Open source
                            > > * Maturity
                            > > * Broad feature set
                            > > * Large community following & support[/color][/color]

                            Personally, I think native widget libraries blow in so far
                            as portability goes. If portability is key I would much
                            rather use something built on OpenGL such as GLOW, GLUI,
                            etc. I've used GLOW for a few small projects and it was
                            simple, clear, and effective. Though it doesn't have a
                            "broad" feature set nor a large community for support.
                            However, both of those are easily overcome if you are a
                            capable programmer and you understand OpenGL.

                            Also, GLOW is nicely coded C++. No macro crap or huge
                            complicated make files and utilities to get the thing
                            to compile. You just include and compile, that's it.

                            Comment

                            • Matt

                              #15
                              Re: best GUI Lib?

                              On 31 Oct 2004 12:44:58 -0800, duggar@alum.mit .edu (Keith H Duggar)
                              wrote:[color=blue]
                              >Personally, I think native widget libraries blow in so far
                              >as portability goes. If portability is key I would much
                              >rather use something built on OpenGL such as GLOW, GLUI,
                              >etc.[/color]

                              Ok. I see that GLOW has not released a new version in 4 years. Is
                              this a good or a bad sign? Maybe this is indicative of maturity;
                              maybe there's no ongoing work/development? Is any needed?



                              Also, is this the the "home page" for GLUI?



                              At first glance, OpenGL ( http://www.opengl.org/ ) seems to be
                              oriented towards "High Performance Graphics." My goals at this time
                              are not high-peformance graphic oriented. I'm wondering if this is a
                              good fit for my work? Maybe there's more to it then meets the eye?
                              Like you say, it's simple, clear, and effective. I'll keep this in
                              mind. Thanks for the input!

                              -Matt

                              Comment

                              Working...