www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2015/10/03/22:48:50

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
Date: Sun, 4 Oct 2015 04:48:31 +0200 (CEST)
X-X-Sender: igor2 AT igor2priv
To: "Evan Foss (evanfoss AT gmail DOT com) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
X-Debug: to=geda-user AT delorie DOT com from="gedau AT igor2 DOT repo DOT hu"
From: gedau AT igor2 DOT repo DOT hu
Subject: Re: [geda-user] Stop playing stupid political games with gEDA
In-Reply-To: <CAM2RGhSuaNy3PQ7CJJjTbzTM6TckNGRShobchRj42Vk10ixPGQ@mail.gmail.com>
Message-ID: <alpine.DEB.2.00.1510040356140.7137@igor2priv>
References: <560DB972 DOT 30203 AT jump-ing DOT de> <201510012306 DOT t91N6MXc027775 AT envy DOT delorie DOT com> <560DCC35 DOT 9010505 AT jump-ing DOT de> <201510020041 DOT t920fM6o031268 AT envy DOT delorie DOT com> <560DE183 DOT 4060305 AT jump-ing DOT de> <5BF9C4DF-32C7-4C06-9F96-8F82C935254E AT sbcglobal DOT net>
<560EAEE1 DOT 6020701 AT jump-ing DOT de> <3E72AC35-5862-41B9-A8FD-6804E89E9FFB AT sbcglobal DOT net> <20151003210144 DOT GA21262 AT localhost DOT localdomain> <56104E16 DOT 3050006 AT jump-ing DOT de> <20151003222928 DOT GC4287 AT localhost DOT localdomain>
<CAM2RGhSuaNy3PQ7CJJjTbzTM6TckNGRShobchRj42Vk10ixPGQ AT mail DOT gmail DOT com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com


On Sun, 4 Oct 2015, Evan Foss (evanfoss AT gmail DOT com) [via geda-user AT delorie DOT com] wrote:

<snip>

> Igor2 is off working on something using SDL because it is maintained
> but has a slower release cycle. The logical reason being that we don't
> really care about new gtk functionality but we have to burn time
> fixing things for each major gtk release.

SPOLIER ALERT: I am not talking about gschem or pcb here; I don't say any 
of the geda tools should or should not use gtk. I just share my personal 
opinion about using gtk in general. I won't respond to text that ignores 
this.

Yes, I think GTK is a bad idea long term (for any application), and it's 
not qt that'd solve this. My resoning goes:

- When gtk changes API, sooner or later projects using gtk have to change 
too, even if there's no real reason for the change; this often involves 
not only technical code change, but gui redesign on the app side. To me 
it seems like a waste to do major changes on the GUI not because the app 
needs it but gtk needs it.

- I know I am not a typical user, but I hate eye-candy changes, and 
majority of such a gtk change is usually about that. So this is changing 
the GUI of an applicaiton just that it looks more modern while I'm still 
trying to do the same job as 10 years ago. I don't say the GUI or any 
other part should be frozen just because I got used to it, but I do say 
the desire for the change should be coming from the application not 
from a GUI toolkit change.

- GTK doesn't look native on anything else than gnome. Most other toolkits 
have the same property: native only on one or on a few systems. So using 
anything else doesn't make this worse or better. (If an app wants to look 
native on multiple platforms, it needs multiple native GUI frontends, one 
for each platform.)

- GTK is huge: gtk+2.0 is over 368k sloc. For the comparison, pcb-rnd 
trunk/ is about 160k and geda-gaf is below 120k. So having buttons and 
menus costs more code than the two tools combined - not counting the 
dependencies of GTK.

- Future of GTK doesn't look good either: gtk+3.0 is 672k sloc. I 
don't believe version 4 will be smaller than version 2, even if it'd be 
about cleanup.

- GTK brings other stuff like glib. I know my opinion is being extreme 
again, but I don't think glib is a good idea in its current form. I also 
believe it did nothing good for pcb or geda. Debian says gtk 2.0 
also depends on libs like glib, gdk, pango, atk, cairo.

- Portability; GTK and other major toolkits are usually ported to a few 
popular systems by the maintainers so projects don't need to worry about 
that, which is a good point. But if you have a system it is not ported to, 
you'll probably have hard time porting it. Especially if you need to also 
port the dependencies... Does GTK work well on tablets?


For my own amusement I'm working on a small UI toolkit based on SDL2. The 
SDL project doesn't have major API changes as often as gtk, and is much 
smaller. It is ported to at least as many systems as gtk is - inlcuding 
Linux, modern BSD systems (e.g. osx), windows, android and iOS. Looking at 
video/, porting to a new system doesn't seem to be very hard either. SDL 
doesn't bring excess dependencies.

With the SDL based toolkit, eventually I will have an SDL based HID 
for pcb-rnd. I believe it will be faster than the gtk hid, it will be more 
customizable (GUI layout will be data, not code), and more portable 
(windows cross compiles will be much simpler). It'll take a long time to 
finish the toolkit, tho.

Regards,

Igor2



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019