• Autore:   Elia Argentieri
  • Ultima modifica:   9 gen 2023 01:22
  • Redazione:   9 gen 2023 01:20
  • Sorgente di questa pagina
  • Tempo di lettura:   un minuto

Dato che più o meno nello stesso periodo mi sono appassionato di Mahjong e di Clojure, ho creato questo calcolatore per Rīchi (variante giapponese del Mahjong) scritto in Clojure e ClojureScript.

Clojure è un linguaggio appartenente alla famiglia LISP, che può essere compilato in bytecode JVM ed può interoperare facilmente con programmi Java.

ClojureScript è essenzialmente Clojure compilato in JavaScript, quindi un unico linguaggio può essere impiegato per sviluppare applicativi web sia lato front-end che back-end.

Dato che inizialmente mi sono concentrato su Clojure e avevo bisogno di una interfaccia grafica, ho usato l’ottima libreria Clojure chiamata cljfx che si interfaccia con JavaFX, per creare una interfaccia desktop.

Tuttavia l’utilizzo principale di questo programma dovrebbe essere tramite smartphone, dato che solitamente non si ha a disposizione un pc fisso in una partita a Mahjong dal vivo. Così ho imparato anche ClojureScript e ho scritto una nuova interfaccia tramite la libreria reagent che invece si interfaccia con React.js.

Schermata della interfaccia grafica cljfx
Schermata della interfaccia grafica cljfx

La versione Web scritta in ClojureScript è diventata quella principale, ma di tanto in tanto aggiorno anche la versione desktop. Potete provare la versione ClojureScript del calcolatore direttamente nel vostro browser: https://riichi.elinvention.ovh/.