chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Need GUI (again), gauging interest in an alternative approach.


From: Thomas Chust
Subject: Re: Need GUI (again), gauging interest in an alternative approach.
Date: Thu, 23 Mar 2023 14:48:46 +0100

Hello,

wxWidgets seems to be slowly dying these days. Support for anything else than the classic desktop platforms is virtually non-existent and even things like subpixel scaling support are flaky at best. Creating bindings for a large C++ codebase like wxWidgets also seems like a major endeavour. Even the "official" wxPython bindings are often years out of sync with current versions of wxWidgets 🤔

That said, if your target are classic desktop platforms and you like to write code in C++, wxWidgets is still a solid option for a UI toolkit! In particular, the API stability is great, which can't be said about the big competitor Qt, where even a patchlevel version number change often brings breaking API or behaviour changes that take at lot of effort to adapt to.

Ciao,
Thomas C.


Am Do., 23. März 2023 um 13:07 Uhr schrieb elf <elf@ephemeral.net>:
Perhaps something more like wx would be better? Excellent cross-platform support, including all necessary support structures, and iirc it can give you lower-level graphics access too? Plus, of course, there are already bindings for a large num of languages, and a guide to writing new bindings, so...

-elf


On 23 March 2023 13:43:10 GMT+02:00, Matt Welland <mattrwelland@gmail.com> wrote:
Tk is great, no doubt about it. I still miss Eric Gallesio's STk. The reasons I decided against tk include:
  1. Clunky 1980's look and feel. (i)
  2. No IOS or Android support. (ii)
  3. I seemed to fight the widget layout model a lot when I used it. (iii)
  4. Two of the projects I'm starting are more game than normal app, including plans to have a VR view.
(i) has been addressed with the latest tk, including themes apparently.
(ii) it does appear possible to use tk on android but there is no touch support as best I can tell.
(iii) Godot seems somewhat similar to IUP with hboxes, vboxes etc. hopefully easier for me to learn.

#2 is a big concern but #4 is the deciding factor. I really need something that works and where I can reuse what I learn in many projects. I'd strongly prefer to use 100% Chicken but I also need to get things done and if I have to learn and use gd script for some of my projects I'll deal with it. I am also starting to see the value of a well done gui designer.

What I want is a button in Godot that switches out gd script for Chicken Scheme. That would be an awesome tool! I'll settle for doing the communications, logic and other heavy lifting in a Chicken program and bolt on Godot for the user interface (via tcp for now).

Just my $0.02

On Wed, Mar 22, 2023 at 11:37 PM elf <elf@ephemeral.net> wrote:
Erm, what's wrong with the tk bindings, which should work everywhere already?

-elf

On 23 March 2023 02:36:43 GMT+02:00, Matt Welland <mattrwelland@gmail.com> wrote:
>That would be great Thomas. For my part, I'll start working on my project
>using what I can, learning Godot along the way. When you get to working on
>this please let me know how I can help.
>
>Regarding the approach, I like the tooling to generate a loadable module
>idea. I figure leverage as much of Godot as a tool as possible.
>
>Thanks.
>
>On Wed, Mar 22, 2023 at 12:27 PM Thomas Chust <thomas.chust@gmail.com>
>wrote:
>
>> Hello,
>>
>> a combination of CHICKEN and Godot sounds very interesting! I've been
>> meaning to experiment more with that engine for a while, and with Godot 4.0
>> just out the door the time is probably perfect to try out the new extension
>> APIs.
>>
>> I'm not completely sure how the CHICKEN/Godot hybrid should look like and
>> suspect that embedding Godot in a CHICKEN egg would at least be cumbersome.
>> Maybe some kind of tooling to streamline the task of rolling CHICKEN code
>> into a single loadable module for Godot to use would be most promising 🤔
>>
>> I think I've just found a project for the upcoming CHICKEN summer workshop
>> 😁
>>
>> Ciao,
>> Thomas C.
>>
>>
>> Am Mi., 22. März 2023 um 15:28 Uhr schrieb Matt Welland <
>> mattrwelland@gmail.com>:
>>
>>> I've been using IUP with Chicken for years. I really enjoy using it
>>> (thanks Thomas!). But, here we are, over 10 years later and IUP is still
>>> not available as an official Debian package and it is a burden to deploy.
>>> It is also still not supported on Mac.
>>>
>>> So, I'm scouting around (again) for alternatives and I'm starting to lean
>>> towards using Godot for my next project. Godot + Chicken scheme that is.
>>> I'm hoping that I can deploy  to mac, Linux and Windows and maybe even
>>> android without too much pain.
>>>
>>> Here is an article that makes the case for using Godot for graphical user
>>> interfaces:
>>>
>>>
>>> https://medium.com/swlh/what-makes-godot-engine-great-for-advance-gui-applications-b1cfb941df3b
>>>
>>> I can achieve what I need with any one of three approaches:
>>>
>>> 1. Godot <==> chicken executable, where the connection could be tcp, http
>>> or similar.
>>>
>>> 2. Godot <==> chicken .so file
>>>
>>> 3. Chicken <==> godot egg
>>>
>>> I don't have time or expertise to do an egg without help. Before I start
>>> working using option 1 or 2 I wanted to ask the chicken community if there
>>> was interest in collaborating on creating a godot egg.
>>>
>>> Thanks!
>>>
>>> NOTE: If hypergiant had a widget library with a decent text widget (line
>>> wrapping, copy/paste to the OS etc.) I'd have considered it. Raylib was
>>> also interesting and it's text support might have been adequate but the egg
>>> was never published and seems abandoned.
>>>
>>>
>>> --
>>> Complexity is your enemy. Any fool can make something complicated.
>>> It is hard to keep things simple. - Richard Branson.
>>>
>>
>


--
Complexity is your enemy. Any fool can make something complicated.
It is hard to keep things simple. - Richard Branson.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]