lqml/examples/clog-demo
2025-04-16 18:01:02 +02:00
..
build-android revisions 2022-03-31 08:30:45 +02:00
clog-assets example 'clog-demo': update to CLOG version 2.2; update CLOG apk demo 2025-04-16 18:01:02 +02:00
lisp example 'clog-demo': update to CLOG version 2.2; update CLOG apk demo 2025-04-16 18:01:02 +02:00
platforms/android example 'clog-demo': update to CLOG version 2.2; update CLOG apk demo 2025-04-16 18:01:02 +02:00
qml example 'clog-demo': update to CLOG version 2.2; update CLOG apk demo 2025-04-16 18:01:02 +02:00
.gitignore add example 'clog-demo' (currently only runs '01-demo.lisp'); tested on android 2022-03-22 11:10:19 +01:00
app.asd example 'clog-demo': update to CLOG version 2.2; update CLOG apk demo 2025-04-16 18:01:02 +02:00
app.pro example 'clog-demo': update to CLOG version 2.2; update CLOG apk demo 2025-04-16 18:01:02 +02:00
make.lisp example 'clog-demo': update to CLOG version 2.2; update CLOG apk demo 2025-04-16 18:01:02 +02:00
ql-libs.lisp example 'clog-demo': update to CLOG version 2.2; update CLOG apk demo 2025-04-16 18:01:02 +02:00
readme.md example 'clog-demo': update to CLOG version 2.2; update CLOG apk demo 2025-04-16 18:01:02 +02:00
run.lisp make 'clog-demo' work on latest android (ditch websocket, use direct JS calls) 2022-03-25 20:20:52 +01:00
static-files example 'clog-demo': update to CLOG version 2.2; update CLOG apk demo 2025-04-16 18:01:02 +02:00

This example has been updated in 2025 to CLOG version 2.2.

Try it

You can download an APK (android devices) of this example from DropBox: CLOG demo.

Prepare

Please copy the app template files first:

$ cd ..
$ ./copy.sh clog-demo

See also ../../slime/src/readme-sources for installing the Slime sources where this example can find them.

Important: you need to put this fork of CLOG in your ~/quicklisp/local-projects/ directory: CLOG for mobile.

If you want to run this example on the desktop, you need to uncomment the Qt WebEngine dependency in ../../src/lqml.pro and rebuild the lqml executable. Additionally you need to clear the ECL cache of CLOG (see ~/.cache/common-lisp/ecl-...), because the CLOG desktop version for LQML is different from the standard version (see #+mobile in CLOG fork, which is also needed on the desktop, if used with LQML).

Info

This shows how to run a CLOG app locally on mobile. It uses two different approaches, depending on the OS:

  1. direct calls to the browser to run JS, and a small hack to call back to CLOG on browser events

  2. a simple local websocket-server; this is needed on iOS, where the above approach doesn't work

The webview is the native one of the mobile device, which has some restrictions: it can't overlap with QML items, and things like swiping don't work.

On the second page you can see a log of CLOG messages, and start Swank from the REPL. Just connect from Slime using the WiFi IP of the mobile device.