Other Which GUI library should I use?

Sensucht94

Well-Known Member

Reaction score: 387
Messages: 388

"According to the internet", the world "is moving" to Qt, GTK is dead, blabla.
There's also FLTK, x11-toolkits/fltk, simple and portable. Some cool, lightweight stuff is based on it, like Dillo Browser (ported even to FreeDOS), Equinox Desktop Environment (ported even to MINIX3), FLWM, Yoshimi synthetizer and even some '00 games IIRC. Unlike Lesstif, it's still active
 

kpedersen

Daemon

Reaction score: 480
Messages: 1,355

I really hope Qt abandon the MOC in favor of a more C++ idiomatic solution. Also I would like to have human creatable makefile for Qt-based project.
Agreed, I have similar reservations against using MOC. I believe in the latest version of Qt they are starting to add the ability to use some of the new C++ functionality to avoid MOC but it is going to be a long time before actual developers or documentation move on to the pure C++ solution. For web stuff there is also Wt. Basically an API similar to Qt but without all the MOC cruft.

GTK+3 is becoming a tad Gnome centric which is not ideal. I found version 2 to be much more cross platform to other systems too. That said, the average lifespan of a Gtk version is pretty darn long so I have no real problems with using Gtk+2 for many years to come. I am pretty sure it will outlive Gnome 3 in any case. Gtkmm 2 is more awkward on Windows but Gtk+ dlls work really well, even on less common compilers such as TinyC or Borland.

wxWidgets is generally my first choice too. I often patch the source code with a couple of C++ memory safety features because in general it uses quite old C++ (i.e no smart pointers etc..). I don't think using raw pointers in this day and age is a good idea (unless absolutely performance critical).
 
G

giahung1997

Guest


There's also FLTK, x11-toolkits/fltk, simple and portable. Some cool, lightweight stuff is based on it, like Dillo Browser (ported even to FreeDOS), Equinox Desktop Environment (ported even to MINIX3), FLWM, Yoshimi synthetizer and even some '00 games IIRC. Unlike Lesstif, it's still active
And FLTK Apps look ugly like hell. Modern Desktop App inspired by Web Apps, not only have to be good but beautiful. The ability to theming like CSS is needed :p
 

ronaldlees

Aspiring Daemon

Reaction score: 308
Messages: 732

Which brings me to wxwidget.

... While coding in C++, wxwidget is more comfortable for me to use than Qt. Vanilla C++, and classic makefiles.

... wxwidget is sane, simple, smooth (it is C++).

...
The wxwidgets documentation is real nice too.

BTW: Welcome to the FreeBSD forum.
 

Spartrekus

Aspiring Daemon

Reaction score: 135
Messages: 899

In my opinion, using C++ is not likely to be greatest idea. There are good opportunities for programming, but there are many more bugs compared to C (when moving from/to Windows <-> BSD <-> Linux with C++, not so easy always).

Graphical libs, GTK,... SDL, OpenGL, ... will make you looooose soooo much time, you'll be dependent on library versions. Just time consuming for rewriting and maintaining all over.

Why not ncurses or simply term?
 
G

giahung1997

Guest


In my opinion, using C++ is not likely to be greatest idea. There are good opportunities for programming, but there are many more bugs compared to C (when moving from/to Windows <-> BSD <-> Linux with C++, not so easy always).

Graphical libs, GTK,... SDL, OpenGL, ... will make you looooose soooo much time, you'll be dependent on library versions. Just time consuming for rewriting and maintaining all over.

Why not ncurses or simply term?
No. Because it's ugly. Normal user need eye candy :confused:
 

funkygoby

New Member

Reaction score: 9
Messages: 13

giahung1997
How about "normal user needs usability"?
I have yet to encounter a usable webapp.

ronaldlees
Thank you!
Long time lurker.
I am a OpenBSD user, Debian refugee, but I like to see what is going on in other communities.
 

ronaldlees

Aspiring Daemon

Reaction score: 308
Messages: 732

*dos pic*
LOL. Well, the FLTK toolkit has been ported to DOS, and (I think) Dillo. So, you could then have a real killer internet machine! A couple years ago I hooked up my 3.5 inch DOS floppy and cruised the internet for awhile using Lynx - but that's so low brow compared to 640 graphics!
 

Spartrekus

Aspiring Daemon

Reaction score: 135
Messages: 899

FLTK in FreeDOS, really?? Would you have a pictures / screenshot maybe.

I believe that borland graphics wasn't that bad, because it was fairly used. Today, completely outdated for any use. Visual C/C++, but GTK / QT / other rule.

FLTK is not wise, because it has some problems with compatibility, porting and bugs.

I would really think about the library of Borland Graphics, since it will always exist.
Students learn Borland C/C++ in first years of university study, so why not.
 

ronaldlees

Aspiring Daemon

Reaction score: 308
Messages: 732

FLTK in FreeDOS, really?? Would you have a pictures / screenshot maybe.
...
I would really think about the library of Borland Graphics, since it will always exist.
Students learn Borland C/C++ in first years of university study, so why not.
...
Still they do?! I had that exact same version of Turbo C when it was new! Also I had all of the Borland Turbo Pascal compilers from v3 thru v7, and a bunch of supporting libraries. Now you can get it for non-commercial use for free (or at least you could some time ago, fairly recently). I still have the floppies around here - I think somewhere in the bottom of a drawer: some were 5 inch floppies and others 3.5 :) . I haven't used the FLTK on DOS, but only just read about it in combination with Dillo:

https://sourceforge.net/p/freedos/news/2011/11/dillo-a-web-browser-for-dos/

A nice trip down memory lane, but not really very viable anymore :-(
 

Spartrekus

Aspiring Daemon

Reaction score: 135
Messages: 899

Still they do?! I had that exact same version of Turbo C when it was new! Also I had all of the Borland Turbo Pascal compilers from v3 thru v7, and a bunch of supporting libraries. Now you can get it for non-commercial use for free (or at least you could some time ago, fairly recently). I still have the floppies around here - I think somewhere in the bottom of a drawer: some were 5 inch floppies and others 3.5 :) . I haven't used the FLTK on DOS, but only just read about it in combination with Dillo:

https://sourceforge.net/p/freedos/news/2011/11/dillo-a-web-browser-for-dos/

A nice trip down memory lane, but not really very viable anymore :-(
Good time, no? Turbo Pascal too?

I see no point to use FLTK on DOS. I don't know why...GTK either. Qt either, sorry.
I believe more the MS/Windows Library, still today, simple programmes work on MS.
 

kpedersen

Daemon

Reaction score: 480
Messages: 1,355

Since we have gone quite "ancient" and Borland Turbo C reminded me of this GUI builder:

http://img15.itog.info/2/a/8/0/2/ab8f172681641b23bcb0d6a6789.jpg
Borland C++ Builder 5 (the screenshot shows version 6), is the best GUI builder I have used. It was windows only though and even though Borland Kylix was cross platform, its GUI system was based on Qt which made it heavy and pretty crappy for portability.

Followed extremely closely with dtbuilder (CDE Drag-drop designer) which came as part of CDE. Can't get more "integrated" than that! :)
https://www.marutan.net/pics/CDE-20120412.png
 

Spartrekus

Aspiring Daemon

Reaction score: 135
Messages: 899

Since we have gone quite "ancient" and Borland Turbo C reminded me of this GUI builder:

http://img15.itog.info/2/a/8/0/2/ab8f172681641b23bcb0d6a6789.jpg
Borland C++ Builder 5 (the screenshot shows version 6), is the best GUI builder I have used. It was windows only though and even though Borland Kylix was cross platform, its GUI system was based on Qt which made it heavy and pretty crappy for portability.

Followed extremely closely with dtbuilder (CDE Drag-drop designer) which came as part of CDE. Can't get more "integrated" than that! :)
https://www.marutan.net/pics/CDE-20120412.png
Did C++ Borland Builder exist on Win3.1 already?

cde motif xt isnt nice license. no one wants that today.

Today QT is heavily mostly used, even on ARM machines/embedded linux.
 

kpedersen

Daemon

Reaction score: 480
Messages: 1,355

Did C++ Borland Builder exist on Win3.1 already?
Not C++ builder (as far as I know). Just Turbo C++ (fun / hobbiest market) or Borland 4 (win3.1+) or Borland 3 (*DOS+)

cde motif xt isnt nice license. no one wants that today.
GPL or purchase a commercial license from ICS (http://motif.ics.com/)? Surely that is better than Borland's proprietary or nothing one. Also, Motif is Xm. Xt is part of X11's intrinsics library. Other than that, I agree. No-one wants Motif today ;)

Today QT is heavily mostly used, even on ARM machines/embedded linux.
Yes, Qt back then was very different from today. For example Qt from Borland Kylix era had absolutely no chance of working on Windows 3.1 or even Windows 95 if I recall. Qt is slowly improving but backwards compatibility is still pretty poor IMO.
 

Spartrekus

Aspiring Daemon

Reaction score: 135
Messages: 899

Not C++ builder (as far as I know). Just Turbo C++ (fun / hobbiest market) or Borland 4 (win3.1+) or Borland 3 (*DOS+)


GPL or purchase a commercial license from ICS (http://motif.ics.com/)? Surely that is better than Borland's proprietary or nothing one. Also, Motif is Xm. Xt is part of X11's intrinsics library. Other than that, I agree. No-one wants Motif today ;)


Yes, Qt back then was very different from today. For example Qt from Borland Kylix era had absolutely no chance of working on Windows 3.1 or even Windows 95 if I recall. Qt is slowly improving but backwards compatibility is still pretty poor IMO.
Seems to me that it is rather a dead end. No reliable library for the author title topic :;

QT well..., what else?
GTK, we know future,
Borland, of course not possible,
XT/Motif/... maybe 20y ago,
...
and so on,
Maybe Windows, no of course.
So, ... finally, ok, this is the solution: term/ncurses/termcap !
 

kpedersen

Daemon

Reaction score: 480
Messages: 1,355

So, ... finally, ok, this is the solution: term/ncurses/termcap !
I kinda agree but lets add a few more for interest:

wxWidgets - wxUniversal (raw X11), wxGtk, wxMotif and in future wxQt. Helps keep your code relatively flexible but IMO the GUI designers are a little awkward. I tend to gravitate towards manual code with layout managers.

Javax.swing - Obviously C/C++ is crucial but perhaps you can call your C++ code from the JNI system in Java?

.NET Winforms - This is pretty decent to be fair. On windows I actually use this with C++/clr. I don't touch C# but C++/clr is still not very portable. I don't really like Mono on *nix however. I don't think it will have much of a life now that MS is moving back to native with C++/cx.

But yeah, for my own projects I actually try to avoid GUIs and go for CLI / TUI. Having your application work over SSH is remarkably useful!
 

Spartrekus

Aspiring Daemon

Reaction score: 135
Messages: 899

I kinda agree but lets add a few more for interest:

wxWidgets - wxUniversal (raw X11), wxGtk, wxMotif and in future wxQt. Helps keep your code relatively flexible but IMO the GUI designers are a little awkward. I tend to gravitate towards manual code with layout managers.

Javax.swing - Obviously C/C++ is crucial but perhaps you can call your C++ code from the JNI system in Java?

.NET Winforms - This is pretty decent to be fair. On windows I actually use this with C++/clr. I don't touch C# but C++/clr is still not very portable. I don't really like Mono on *nix however. I don't think it will have much of a life now that MS is moving back to native with C++/cx.

But yeah, for my own projects I actually try to avoid GUIs and go for CLI / TUI. Having your application work over SSH is remarkably useful!
Those add-ons may confirm it really: ;)
- term/termcap/ncurses
 

ronaldlees

Aspiring Daemon

Reaction score: 308
Messages: 732

Borland C++ Builder 5 (the screenshot shows version 6), is the best GUI builder I have used .. :)
I'd agree with that (I still have v5 around here somewhere - probably in the bottom of that same drawer I mentioned!). If I did Windows programming anymore it'd be loaded on the dev machine. I bought it during that temporary span when it was a product of Inprise, and they sold it for a pretty low cost for a while - ridiculously low IIRC.

Spartrekus said:
Maybe Windows, no of course.
So, ... finally, ok, this is the solution: term/ncurses/termcap !
I don't know if it was mentioned, but you could always use graphics/svgalib and devel/sdl! I'm only partially kidding. You can team this up with some recent game libraries for a half decent GUI.
 

Spartrekus

Aspiring Daemon

Reaction score: 135
Messages: 899

I'd agree with that (I still have v5 around here somewhere - probably in the bottom of that same drawer I mentioned!). If I did Windows programming anymore it'd be loaded on the dev machine. I bought it during that temporary span when it was a product of Inprise, and they sold it for a pretty low cost for a while - ridiculously low IIRC.



I don't know if it was mentioned, but you could always use graphics/svgalib and devel/sdl! I'm only partially kidding. You can team this up with some recent game libraries for a half decent GUI.
today term is underrated. windows users are addicted to their mouse

sdl is ugly way, not minimalist, and lib issues, bloated
svgalib is not common, outdated, unused, since x rules and soon/later wayland or other gfx env. all your code will be waste

linux programmer story:
cant you resize a bitmap? 1% coders or less know! ;) a lib, a lib give me a lib ;)

i need coffee, but how? I need a lib to make me a coffee please ;) kidding
 

kpedersen

Daemon

Reaction score: 480
Messages: 1,355

svgalib is not common, outdated, unused, since x rules and soon/later wayland or other gfx env. all your code will be waste
Technically, svgalib is one of the only "GUI" solutions if you do not want your code to go to waste. If X11 gets replaced with *shudder* Wayland, a lot of great software will be killed. For example the ubiquitous XTerm, SDL 1.2, Gtk+ 2.x and other libraries that are quite critical for older software to work. However since svgalib does not require a display system like X11 or Wayland (it works underneath). Your code will continue to work.

However, doesn't svgalib only work on x86?

linux programmer story:
cant you resize a bitmap? 1% coders or less know! ;) a lib, a lib give me a lib ;)
Ugh yes. Also especially in the game industry. Developers just drag in any old crap. I even saw someone drag in OpenSSL just to use something like an md5 hashing function. Crazy!

That said, Spartrekus, perhaps don't think *too* much about portability or you will go crazy (and get very little done). Remember, if you write your software efficiently (and stick to C or C++) it will likely run well inside a 100% emulated environment (i.e Qemu, Bochs, DosBox) for generations to come.
 

Spartrekus

Aspiring Daemon

Reaction score: 135
Messages: 899

i have no gui needs, just C and math lib, svga lib is broken or no longer iin linux repos
svgalib is likely not to work on unix bsd linux

now, playing dune 2, that was good game with excellent progrmming, vga is fine too

dosbox to work?

vga is dead today, soon no developments anyvmore
 
G

giahung1997

Guest


giahung1997
How about "normal user needs usability"?
I have yet to encounter a usable webapp.
If you mean online websites provide services run on a browser, this is not what I want to mention.
I said about desktop app build using web technology, html5, nodejs, css... Ex: Atom, VSCode...
 
Top