chicken-users
[Top][All Lists]
Advanced

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

Re: Chicken GUI options survey and questions.


From: Vasilij Schneidermann
Subject: Re: Chicken GUI options survey and questions.
Date: Fri, 5 Mar 2021 17:46:21 +0100

Hello Matt,

> What is your preferred toolkit for making GUI apps with chicken? 

I've spent a few months evaluating the existing options for C4 and
making a few myself. From the existing options pstk was the only one
worth using as it has been around the longest and solves the common GUI
problems you'd run into. Consider whether a design like ma [1] would
work for you (written in Tcl, interfaces with Scheme via IPC) and make
sure to look at bintracker [2].

I contributed the kiwi, libui and nuklear eggs to the C4 coop. kiwi is a
toy (it's interesting to study though), libui is nowhere near done,
nuklear however is refreshing to use. Weren't it for the lack of
documentation I'd fully recommend it for multimedia applications (such
as inside a SDL2 game or application). There is some extra work to be
done for a C5 port, such as figuring out how to package it with regards
to backends (some backends are platform-specific and it's unclear
whether to use auto-detection, allow users to pick them at installation
time or splitting them into many eggs) and looking into changes made
since then (it seems to have gained actual documentation).

> Alternatives to consider
> ------------------------
> 
>  * webview egg
>  * qt-light 
>  * pstk (probably not really an option, ancient look/feel).
>  * kiwi (probably too limited for my needs)

I've used both the webkit (C4) and webview (C5) eggs for a simple ebook
reader application [3]. You may find its source code useful to determine
whether it will do the trick for whatever you've had in mind. They're
attractive for simple tasks, but as soon as you need access to native
resources, you'll run into security/usability issues (SOP and caching
are a deadly combination) and might have to write code you didn't plan
to, such as a web server offering ressources/RPC. qt-light covers very
little ground overall, so I'd dismiss it for the same reasons as kiwi.
See above for my thoughts on pstk, bintracker shows that the stock
appearance can be changed with some effort.

> Others
> ------
> 
> nuklear http://wiki.call-cc.org/eggref/4/nuklear,
>         https://github.com/Immediate-Mode-UI/Nuklear
>         looks interesting, not clear if actively supported

I'll work on it some day, perhaps earlier if I find someone else to
figure out the packaging and update parts :>

> flutter - no egg yet but checks all modern gui boxes and
>           highly portable. Comments on effort required to 
>           make a binding to Chicken would be appreciated.
>           BTW: No, I'm not interested in developing in dart.
>           I'm sure it is a great language but I like Chicken.

I haven't looked much into it, but it seems to be firmly locked into the
Dart ecosystem. One way or the other, you'll end up writing Dart code to
use it. I remember someone on the #chicken channel announcing to look
into DOtherSide [4], that would give you Qt/QML at the expense of having
to write programming logic in something resembling JavaScript.

[1]: http://www.call-with-current-continuation.org/ma/ma.html
[2]: https://bintracker.org/
[3]: https://depp.brause.cc/teapub/
[4]: https://github.com/filcuc/DOtherSide

Attachment: signature.asc
Description: PGP signature


reply via email to

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