juantomas Hacking the planet

2 marzo, 2015

Scalatra para impacientes: como crear tu primer proyecto

Filed under: ASPgems,Proyectos — Etiquetas: , , , , , , — juantomas @ 2:40 pm

En el post anterior os conté como instalar algunos requisitos previos para poder usar scalatra. Ahora vamos a crear un primer proyecto.

Usaremos giter8 para crear la estructura inicial del proyecto. Vamos a utilizar SBT pero también se podría hacer con maven y le guste usar esta herramienta de compilación.

Para ello vamos a ejecutar:

g8 scalatra/scalatra-sbt 

nos hará las siguientes preguntas:

$ g8 scalatra/scalatra-sbt 
organization [com.example]:
package [com.example.app]:
name [My Scalatra Web App]:
servlet_name [MyScalatraServlet]:
scala_version [2.9.2]:
version [0.1.0-SNAPSHOT]:

Donde:

organization:  nombre del dominio del que publica al reves, si no tienes la gente acostumbra a usar: com.github.username

package: A Paquete al que se asigna todo el código que se va a generar. La Scala Style Guide  recomienda que tu organización tenga todo su código bajo mismo namespace.

name:  El nombre de tu proyecto. giter8 creará un directorio con este nombre y dentro estará toda la estructura.

servlet_name: El nombre de la clase Servlet podría ser BlogServlet o Blog.

scala_version: Que versión de Scala vas a utilizar.

version: La versión de tu proyecto.

Ahora es el momento de construir tu primer proyecto:

$ cd 
$ chmod u+x sbt
$ ./sbt

sbt se encargará de bajarse todo lo que necesite tu máquina para que funcione scalatra y sus dependencias. La primera vez es posible que tarde unos minutos.

Una vez generado el proyecto y para probar que funciona:

$ ./sbt
> container:start

Ahora puedes probarlo en este enlace http://localhost:8080

Los tutoriales de Scalatra son muy buenos. Te recomiendo que les des un vistazo. Tienen ejemplos de cada caso de uso: como subir ficheros, JSON, Akka, etc.

El siguiente post de esta serie será montar un proxy de Elastic Search usando Scalatra.

Bonus de Post:

Si inicializas un proyecto de Scalatra con estas opciones en una ventana aparte:

$ ./sbt
> container:start
> ~ ;copy-resources;aux-compile

Cada vez que modifiques el código, se compilará automáticamente y recargará la nueva versión si accedes a la url 😉

 

Powered by WordPress