una saber programas programar plataformas para online moviles gratis ganar dinero desde crear como cero apps app aplicaciones web-applications lisp common-lisp

web applications - saber - ¿Cómo creo una aplicación web usando LISP?



plataformas para crear apps (3)

Tengo experiencia en C # y JavaScript, y he estado trabajando durante los últimos años con Node.js. Básicamente, tengo mucha confianza en este entorno, pero un idioma siempre me llamó la atención: LISP. Me parece impresionante y fascinante lo expresivo que es LISP, dado sus conceptos mínimos de lenguaje. Es básicamente como con jQuery: hacer más con menos ;-)

Lamentablemente, mi experiencia con LISP es más o menos teórica y algunos juegos, pero no una programación seria.

Ahora me gustaría cambiar eso, pero estoy definitivamente dedicado al desarrollo de aplicaciones web (por lo tanto, Node.js). Mi problema no es aprender LISP como idioma, mi problema es que no sé dónde y cómo comenzar con una aplicación de "Hello LISP world" que no está basada en la consola, sino en la web.

Entonces, mi pregunta básicamente es: ¿Cómo podría escribir una aplicación web del lado del servidor en LISP que sea similar a la siguiente aplicación Node.js

var http = require(''http''); http.createServer(function (req, res) { res.end(''Hello world!''); }).listen(3000);

sin la necesidad de muchos marcos y bibliotecas adicionales y cosas, etc.

¿Cómo podría un programador experimentado de LISP resolver esta tarea? ¿Algún consejo?


La respuesta sobre Hunchentoot es realmente una forma de empezar, y recomiendo probarla.

La única diferencia importante de la variante node.js en la pregunta es que Hunchentoot es un servidor web síncrono. Si desea obtener el mismo comportamiento asincrónico (en realidad, ¿por qué lo haría, pero eso es para otra discusión?), Debe probar otra cosa, como wookie . El ejemplo Hello World similar se procuro en su página de documentación .


Una vez que haya instalado SBCL y Quicklisp ,

(ql:quickload "hunchentoot") (hunchentoot:start (make-instance ''hunchentoot:easy-acceptor :port 3000)) (hunchentoot:define-easy-handler (foo :uri "/bar") (name) (format nil "Hello~@[ ~A~]!" name))

Luego visita

http://127.0.0.1:3000/bar?name=World


Del mismo modo que para complementar otras respuestas, también están la primera y la segunda , que también están decentemente documentadas. El enrutamiento de Ningle es muy similar a Sinatra / Flask.