lqml/examples/clog-demo
2024-10-26 16:27:59 +02:00
..
build-android revisions 2022-03-31 08:30:45 +02:00
clog-assets several additions and revisions to prepare for new example 'sokoban' 2022-03-30 00:11:45 +02:00
lisp example 'cl-repl': add help, screenshot; several revisions 2022-04-11 16:47:17 +02:00
platforms/android revisions 2022-03-31 08:30:45 +02:00
qml example 'cl-repl': bigger font size on tablets; revisions 2022-12-19 11:09:57 +01: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 make 'clog-demo' work on latest android (ditch websocket, use direct JS calls) 2022-03-25 20:20:52 +01:00
app.pro revisions 2024-10-26 16:27:59 +02:00
htm add missing files, revisions 2022-03-22 12:26:35 +01:00
make.lisp revisions 2023-12-12 20:43:12 +01:00
ql-libs.lisp add example 'clog-demo' (currently only runs '01-demo.lisp'); tested on android 2022-03-22 11:10:19 +01:00
readme.md add Qt6 version of some examples (see below); revisions 2024-10-22 13:27:56 +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

This example is outdated and not really useful anymore, sorry.

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.