ClojureScript: un compilador Clojure orientado a JavaScript
ClojureScript es un compilador para Clojure orientado a JavaScript. Emite código JavaScript compatible con el modo de compilación avanzado del compilador optimizado Google Closure.
Es ideal para crear aplicaciones web modernas con la filosofía funcional de Clojure.
Del sitio oficial podemos tomar lo siguiente:
"ClojureScript combina el alcance de la plataforma JavaScript, la flexibilidad y el desarrollo interactivo de Clojure, y la optimización integral de Google Closure para ofrecer el lenguaje más potente para la programación web".
Como nota interesante, Nu (una plataformas de banca digital) es un patrocinador corporativo clave de Clojure y ClojureScript.
¿Qué es ClojureScript y para qué sirve?
En pocas palabras, es un lenguaje funcional basado en Clojure, pero diseñado para ejecutarse en JavaScript (navegadores y Node.js).
Permite usar la inmutabilidad y programación funcional de Clojure en el ecosistema web.
Se utiliza para:
- Aplicaciones web interactivas.
- Integración con librerías JavaScript.
- Desarrollo multiplataforma (web, móvil con React Native).
Como programador Java, ¿cómo podría servirte y cuáles son sus alternativas?
Ventajas para un programador Java:
- Filosofía funcional sobre un entorno conocido (JVM y ecosistema Clojure).
- Puedes mantener tu backend en Java/Clojure y usar ClojureScript en el frontend.
- Reutilización de conceptos: REPL, funciones puras, interoperabilidad.
Alternativas:
- TypeScript: tipado estático sobre JavaScript, más cercano a Java.
- Scala.js: compila Scala a JavaScript, con fuerte tipado y orientación a objetos/funcional.
- Elm: lenguaje funcional puro para frontend, con enfoque en seguridad y simplicidad.
Instalación de ClojureScript en Windows
Debemos descargar el JAR ``cljs.jar`` de este sitio: https://clojurescript.org/guides/quick-start
Una vez descargado vamos a crear este directorio:
hola_mundo ├─ deps.edn └─ src └─ hola_mundo └─ core.cljs
Editamos el archivo deps.edn
{:deps {org.clojure/clojurescript {:mvn/version "1.11.132"}}}
Creamos el programa core.cljs
(ns hola-mundo.core) (defn ^:export main [] (println "Hola, mundo desde ClojureScript!"))
Ejecutamos:
$ clj -M --main cljs.main --repl
Esto abrirá una ventana del navegador:
Dentro del REPL escribiremos lo siguiente:
Creando una página HTML
Editamos el programa core.cljs
(ns hola-mundo.core) (defn ^:export main [] ;; Esto escribe en la consola del navegador (js/console.log "Hola, mundo desde ClojureScript!") ;; Esto escribe directamente en el DOM (set! (.-innerHTML (.getElementById js/document "app")) "Hola, mundo desde ClojureScript en la página!"))
Creamos la página index.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ClojureScript</title> </head> <body> <div id="app"></div> <script src="out/main.js"></script> <script> window.onload = function() { hola_mundo.core.main(); }; </script> </body> </html>
Ejecutamos:
$ clj -M -m cljs.main --compile hola-mundo.core --output-dir out --output-to out/main.js
Esto creará un archivo out/main.js el cual se debe incrustar en la página HTML. Ejecutamos este comando:
$ http-server .
Si tenemos Python instalado, podemos ejecutar este otro comando:
$ python -m http.server 8080
Esto abrirá una ventana del navegador:
¡Hemos aprendido a usar ClojureScript!
En próximas entregas veremos más sobre esta herramienta.
Enlaces:
https://clojurescript.org/https://www.learn-clojurescript.com/
https://alquimistadecodigo.blogspot.com/2025/05/calculadora-de-pulsaciones-con.html
https://alquimistadecodigo.blogspot.com/2025/05/clojurescript.html




Comentarios
Publicar un comentario