Recent

Author Topic: How long gtk+2.0 will last?  (Read 14622 times)

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: How long gtk+2.0 will last?
« Reply #30 on: January 03, 2021, 10:11:54 pm »
Customdrawn will face constant challenges of being non native, and as soon as development slows down will look outdated too. It is as thankless a job as adapting a new GTK.

There is simply no longterm stability in the *nix GUI world.

If it looks like Fusion Qt style and has light and dark themes it works for me, no matter the OS and the current theme of that OS;

For people that e.g. use it for displays of machines (HMI) that is often fine.

Quote
No need to "update" it as it looks the same on all OSes (Fusion is pretty enough), just HiDPI compatible.  But if is equipped with a style engine, it can look like the whatever theme the OS has. You don't need to play "catch up".

And solve all the bugs that popup doing it, and expand the style engine again for the GUI-trends du jour.  Which is exactly what I meant.

Moreover most of the style engines only govern native look, not feel (reacting to keyboard and mouse events). I use pretty expensive Java software, and are constantly annoyed by their non-native file (open/save)  dialogs.

Custom drawn has some aspects of being is the same trap as modularization, it just separates the hard parts out, and postpones them.

As said that doesn't need to be bad if you are in a business where you don't distribute widely to users, and users might not even known on what OS they are. For that I customdraw might be a good thing, with a long term very stable GUI option.

But if you have to compete with native apps, that is a delusion.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: How long gtk+2.0 will last?
« Reply #31 on: January 03, 2021, 10:38:33 pm »
I think the web interfaces are good to try, now for example chrome embedded framework for linux. Or just use the OS default browser, making the application just a local server. I did that in a commercial application and works fine. No more LCL issues.

It depends on the nature of the application. It is harder to load screens full of functionality in webbrowsers. For our own apps that are somewhat HMI like in principle they are therefore a bad fit.


lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: How long gtk+2.0 will last?
« Reply #32 on: January 03, 2021, 11:52:13 pm »
I never seen an HMI application so I can't say.

But I think if you do the same as in the desktop, say separate into components and determine their functionality very well, it can do the same, there is no limitation, of course it uses more memory, but the final result can be the same that in an LCL application.

dbannon

  • Hero Member
  • *****
  • Posts: 2786
    • tomboy-ng, a rewrite of the classic Tomboy
Re: How long gtk+2.0 will last?
« Reply #33 on: January 04, 2021, 12:50:01 am »
Wow, this quite an old thread. Two years ago I was dismissing Qt5, now I am a believer. 

Apparently GTK3 is officially 'stable' now meaning that we can expect to see a reduction in the things being changed as soon as we use them.  So, maybe it is time to really concentrate on getting the GTK3 interface up to scratch. Maybe.

From memory, adding Qt5 to a system without it is about 50Meg, for GTK2, its about 200 Meg. I have no idea what GTK3 would require but I am guessing its heaps more than GTK2.  And, maybe, the size of the library is some indication of the size of the effort to use it effectively ?

Anyway, as a confirmation that this thread is important,  I have recently been working on getting my application into the Debian repositories. They made it quite clear that they were not accepting any new GTK2 apps. So Qt5 it is folks.  It looks good but I believe the GTK2 version is just a little more 'polished' but Qt5 it is !

Davo

Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

Fred vS

  • Hero Member
  • *****
  • Posts: 3158
    • StrumPract is the musicians best friend
Re: How long gtk+2.0 will last?
« Reply #34 on: January 04, 2021, 02:03:37 am »
...
  I have recently been working on getting my application into the Debian repositories. They made it quite clear that they were not accepting any new GTK2 apps. So Qt5 it is folks.  It looks good but I believe the GTK2 version is just a little more 'polished' but Qt5 it is !
Davo

Hello Davo.

Do you know if Debian accept "Pure Xorg" applications, I mean applications that does not use classical widgetset and dont need to install any others dependencies?

(Like fpGUI or MSEgui for example).

Thanks.
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1106
Re: How long gtk+2.0 will last?
« Reply #35 on: January 04, 2021, 05:01:08 am »
Taking advantage of this discussion, what about wxWidgets?
Would it be more difficult to make Lazarus bindings to wxWidgets than to GTK4 or Qt6?
Would wxWidgets be more resource (performance, RAM, disk) consuming than GTK4 and Qt6?
Would wxWidgets be a viable alternative to GTK4 and Qt6?

funlw65

  • Full Member
  • ***
  • Posts: 148
    • Visual Pin Configurator for Nucleo 64pin boards
Re: How long gtk+2.0 will last?
« Reply #36 on: January 04, 2021, 08:09:42 am »
Taking advantage of this discussion, what about wxWidgets?
Would it be more difficult to make Lazarus bindings to wxWidgets than to GTK4 or Qt6?
Would wxWidgets be more resource (performance, RAM, disk) consuming than GTK4 and Qt6?
Would wxWidgets be a viable alternative to GTK4 and Qt6?

Apart of the fact that has a unique (the same) look (Windows like) on all platforms (not a problem for me anymore)? It is not so widely used as the other two and has the same problem as those - it is written in C/C++  and this is a major problem. The gcc compiler changes from a year to another and those libraries require code maintenance (if the project lags behind then introduces delays to Lazarus LCL development).

Qt5 is the most portable among OSes and is theme-able. A GUI written completely in Pascal that can look as Qt5 is the future proof solution. And no more memory leaks. LCL is better in every aspect compared to Qt5 but we need our own low-level GUI to really compete with Qt5 based solutions. I see here are people that already do that with their tools  :P and this is how you secure your solution.

So, really serious reasons to go to pit stop...
FreePascal 3.2.2, C 10.2.1, D 1.24 under Linux(init,musl,glibc), DragonflyBSD, NetBSD
gui: gtk2, qt5, raylib4.x+raygui3.x, nanovg 
tui: freevision, tvision2, termbox2+widgets, finalcut
db: typhoon-1.11...

devEric69

  • Hero Member
  • *****
  • Posts: 648
Re: How long gtk+2.0 will last?
« Reply #37 on: January 04, 2021, 11:22:12 am »
For information,

the fastest and lightest desktop ("out of the box") is XLDE (a GTK+ desktop). I've tried to create a 100% Qt desktop during 2 days long, starting from LXQt desktop: I couldn't do it. I may have been bad. But, I've noticed that LXQt comes with a whole "Qt layer over GTK", and has some essential desktop management utilities that need the GTK+ layer. In addition, they install Firefox or Office suites (which use GTK) instead of Konqueror (which uses Qt). Overall, I would say that installing a 100% operational Qt desktop alone on a workstation, without GTK+ seems impossible to me.

I have the feeling that the reverse is not necessarily true. I only ask to be invalidated.
use: Linux 64 bits (Ubuntu 20.04 LTS).
Lazarus version: 2.0.4 (svn revision: 62502M) compiled with fpc 3.0.4 - fpDebug \ Dwarf3.

funlw65

  • Full Member
  • ***
  • Posts: 148
    • Visual Pin Configurator for Nucleo 64pin boards
Re: How long gtk+2.0 will last?
« Reply #38 on: January 04, 2021, 12:05:32 pm »
LXQt is an work in progress, it started from LXDE and it seems that they still have a long way to go. But this means nothing and is specific to Linux/Unix only. I do not vote for Qt, but it has the most coverage compared to gtk3. It will save resources developing only for Qt, but I vote for CustomDrawn or a similar, pascal only solution - practically, not prolonging the agony.
FreePascal 3.2.2, C 10.2.1, D 1.24 under Linux(init,musl,glibc), DragonflyBSD, NetBSD
gui: gtk2, qt5, raylib4.x+raygui3.x, nanovg 
tui: freevision, tvision2, termbox2+widgets, finalcut
db: typhoon-1.11...

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: How long gtk+2.0 will last?
« Reply #39 on: January 04, 2021, 12:14:00 pm »
I never seen an HMI application so I can't say.

It's just a term for software to operate machines using a industrial touch panel (which necessarily are much less sensitive than phones, since it is often covered in grime etc)  Since scrolling is awkward you don't want a layout paradigm that has wide spacing and adds a scroller constantly.

And while in theory you can get html to layout very tightly with css for a defined browser with defined fonts installed, that usually beats any of the (portability, longevity) arguments for html, and then it is just a more difficult solution without benefits. Specially because these apps go for maintenance for long times, but not indefinitely (*)

That said, I deliver them mostly on Windows which is fairly stable GUI wise. I did have some breakage with Windows XP (with theming enabled) and Vista and later (always), that sometimes labels directly on a tform/tframe are not repainted for some reason. Putting a panel inbetween solved that.

Reading this thread, I remember why again  ;)

(*) many of our own machines are not connected to the net, so don't run windows update. Occasionally for revision purposes the customer moves them to an engineering area and connects them to the internet, against our express wishes, running updates and wreaking all kinds of havoc.
« Last Edit: January 04, 2021, 12:17:33 pm by marcov »

lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: How long gtk+2.0 will last?
« Reply #40 on: January 04, 2021, 01:13:08 pm »
Ok, yes seems that is a good use case of a native application.
« Last Edit: January 04, 2021, 01:48:36 pm by lainz »

PascalDragon

  • Hero Member
  • *****
  • Posts: 5446
  • Compiler Developer
Re: How long gtk+2.0 will last?
« Reply #41 on: January 04, 2021, 03:59:09 pm »
Also there is quite some work going on in the GTK3 backend so maybe you can help out to improve that?

At this point, if they aren't targeting Gtk4 (as of 2020-12-16, officially released), then they're really just setting themselves (and everyone else) for a rerun of the current situation with GTK2. I mean, at this point working on GTK3 is fairly close to targeting an already-dead platform. Not quite necrophilia, but a bit morbid.

No, GTK3 is stable enough now, GTK4 is not. Yes, it has its first release now, but that doesn't mean that it's stable now. GIMP (originally the main driver behind GTK) is only now switching from GTK2 to GTK3. Thus GTK3 is indeed the right way to go for the GTK platform.

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1106
Re: How long gtk+2.0 will last?
« Reply #42 on: January 04, 2021, 05:19:38 pm »
...
It is not so widely used as the other two [GTK and QT] and has the same problem as those - it is written in C/C++  and this is a major problem. The gcc compiler changes from a year to another and those libraries require code maintenance (if the project lags behind then introduces delays to Lazarus LCL development).

Qt5 is the most portable among OSes and is theme-able. A GUI written completely in Pascal that can look as Qt5 is the future proof solution. And no more memory leaks. LCL is better in every aspect compared to Qt5 but we need our own low-level GUI to really compete with Qt5 based solutions. I see here are people that already do that with their tools  :P and this is how you secure your solution.

So, really serious reasons to go to pit stop...
As far as I know, Qt development has always been backed up by Trolltech's money and took 25 years to be where it is now.
How many years and how many people and how much money would be necessary to build a Pascal solution similar to Qt from ground up?

Fred vS

  • Hero Member
  • *****
  • Posts: 3158
    • StrumPract is the musicians best friend
Re: How long gtk+2.0 will last?
« Reply #43 on: January 04, 2021, 05:38:46 pm »
How many years and how many people and how much money would be necessary to build a Pascal solution similar to Qt from ground up?

Hello.

0 second and 0 $ : fpc has already MSEgui that works perfectly and without any bug.

Fre;D
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1106
Re: How long gtk+2.0 will last?
« Reply #44 on: January 04, 2021, 05:52:29 pm »
Taking advantage of this discussion, what about wxWidgets?
Would it be more difficult to make Lazarus bindings to wxWidgets than to GTK4 or Qt6?
Would wxWidgets be more resource (performance, RAM, disk) consuming than GTK4 and Qt6?
Would wxWidgets be a viable alternative to GTK4 and Qt6?

Apart of the fact that has a unique (the same) look (Windows like) on all platforms (not a problem for me anymore)?
...
I am not defending wxWidgets, but just to be fair,  it seems it has a native look and fell to OSes:

https://en.wikipedia.org/wiki/WxWidgets:
"wxWidgets is best described as a native mode toolkit as it provides a thin abstraction to a platform's native widgets, contrary to emulating the display of widgets using graphic primitives. Calling a native widget on the target platform results in a more native looking interface than toolkits such as Swing (for Java), as well as offering performance and other benefits."

https://wiki.wxwidgets.org/WxWidgets_Compared_To_Other_Toolkits:
"Whenever possible, wxWidgets uses the native platform SDK and system provided widgets. This means that a program compiled on Windows will have the look and feel of a Windows program, and when compiled on a Linux machine, it will get the look and feel of a Linux program."

wxWidgets is around for 29 years, Qt for 25 years and GTK for 22 years.

Is there any other viable options (widget toolkits, also known as GUI frameworks) beyond GTK and Qt?
https://en.wikipedia.org/wiki/List_of_widget_toolkits

 

TinyPortal © 2005-2018