framapiaf.org est l'un des nombreux serveurs Mastodon indépendants que vous pouvez utiliser pour participer au fédiverse.
Un service Mastodon fourni par l'association d’éducation populaire Framasoft.

Administré par :

Statistiques du serveur :

1,4K
comptes actifs

@vindarel A meta comment...

The font you're using for your blog is so thin it is rather difficult for my old eyes. Also a lot of really low-contrast text. Just kind of an FYI I guess, if you care about such things.

@vindarel Thanks for that overview!

So the options are:
1. Electron: add a modified browser to your project.
2. WebUI, CLOG: Use an external Web browser for your UI.
3. Webview/CLOGFrame: use a WebView library for your platform.

Question: What's the advantage of WebUI compared to CLOG for a Lisp-only project?

@khinsen You mean WebUI compared to Webview / CLOG Frame? One difference is the renderer. Webview = WebKit on Gtk and Cocoa, Edge WebView2 on Window$. WebUI: we can choose a browser (or default to any existing one).

The devil is in the details so I'll bet there are many more differences. Experience will tell.

I see an open issue about which it is not possible to have multiple windows with Webview. It's possible with WebUI.

@vindarel Not CLOG Frame, CLOG. My impression is that WebUI does in C (or C++?) what CLOG does in Lisp: setting up a websocket connection to a browser.

@khinsen Oh indeed WebUI seems to be doing what CLOG does. So we can ignore this feature set from it IMO and only use its capacity to open a browser window, and use it with CLOG, or any other classical web stack. With CLOG: websocket interactive stuff. Without it: clicking links and adding bits of JS.

BTW CLOG's open-browser is just "xdg-open URL:PORT". CLOG Frame would open it in webview.h, and we can open it with WebUI:

(webui-show w "http://127.0.0.1:8080")

Tell us when you test more!

@vindarel Thanks for confirming that I understood all that correctly!

It's nice to have several options for this. Not that I like Web-based UIs, but it's the most pragmatic option nowadays.

Yet another option would be Nyxt (nyxt.atlas.engineer/), which already combines WebKit and Lisp in one executable. But you'd have to package your app as an extension for Nyxt, which feels weird.

nyxt.atlas.engineerNyxt browser: The hacker's browser