software play framework español scala frameworks web-frameworks lift

español - playframework scala



¿Qué marcos web de Scala están disponibles? (18)

Acabo de empezar a aprender Scala, y lo primero que voy a implementar es una pequeña aplicación web. He estado usando Erlang durante el último año para implementar software del lado del servidor, pero nunca antes he escrito aplicaciones web. Será una gran experiencia.

¿Existen marcos web para Scala, excepto Lift ?

No me malinterpretes, Lift se ve increíble. Solo quiero saber cuántos marcos hay para poder elegir entre ellos. Siempre es bueno tener una opción, pero lo único que encontré fue Lift.


A continuación se muestra un volcado de marcos. No significa que realmente los usé:

  • Coeus . Un framework web tradicional de MVC para Scala.

  • Unfiltered . Un kit de herramientas para el servicio de solicitudes HTTP en Scala.

  • Granito Uniscala .

  • Gardel

  • Mondo

  • Amore Un puerto de Scala del framework web Ruby Sinatra.

  • Escalas XML . Un enfoque flexible para el manejo de XML y una forma simplificada de interactuar con XML.

  • Belt Una interfaz tipo rack para aplicaciones web construida sobre Scalaz-HTTP

  • Frank Aplicación web DSL construida sobre Scalaz / Belt

  • MixedBits . Un marco para el lenguaje de programación Scala para ayudar a construir sitios web

  • Circumflex Une varios proyectos de código abierto independientes para el desarrollo de aplicaciones utilizando el lenguaje de programación Scala.

  • Scala Webmachine . El webmachine del puerto de Basho en Scala, un sistema basado en REST para crear aplicaciones web

  • Bowler Un marco web de Scala preparado para REST, multicanal




Escribí un blog sobre esto.

Para resumir, algunas de las opciones son:

  1. Lift
  2. Sweet
  3. Slinky

Finalmente encontré que ninguno era adecuado para mí y desarrollé mi propio "marco". (No es de código abierto todavía).


Estoy muy interesado en Scala, pero aún no lo he usado, por lo que con esa advertencia, los marcos que tengo en cuenta no se mencionan en la respuesta de HRJ (Lift, Sweet, Slinky) son:


Hay un nuevo framework web, llamado Scala Web Pages . Desde el sitio:

Público objetivo

El marco web de Scala Pages es probable que resulte atractivo para los programadores web que provienen de un entorno Java y desean programar aplicaciones web en Scala. El énfasis está en la programación orientada a objetos en lugar de la programación funcional.

Características y características

  • Se adhiere al paradigma modelo-vista-controlador.
  • Motor de plantillas basado en texto
  • Sintaxis simple: $variable y <?scp-instruction?>
  • Codificación / detección de contenido, capaz de manejar codificaciones de texto internacionales.
  • Fragmentos en lugar de etiquetas personalizadas.
  • Reescritura de URL

Me gusta Lift ;-)

El juego es mi segunda opción para los marcos web compatibles con Scala.

Wicket es mi tercera opción.


Me gustaría agregar mis propios esfuerzos a esta lista. Puedes encontrar mas información aquí:

marco brzy

Está en desarrollo temprano y todavía estoy trabajando en ello agresivamente. Incluye características como:

  • Un enfoque en la simplicidad y la extensibilidad.
  • Herramienta de construcción integrada.
  • Diseño modular; algunos módulos iniciales incluyen soporte para servicios de escalado, correo electrónico, jms, jpa, squeryl, cassandra, cron y más.
  • Controladores y acciones RESTful simples.

Cualquier y todos los comentarios son muy apreciados.

ACTUALIZACIÓN: 2011-09-078, acabo de publicar una actualización importante a la versión 0.9.1. Hay más información en http://brzy.org que incluye un screencast.


Me he topado con tu pregunta hace unas semanas, pero desde entonces también aprendí sobre Circumflex . Este es un marco agradable y mínimo que, por lo tanto, es fácil de aprender y también tiene bastante buena documentación disponible.

Además de ser mínimo, también afirma que funciona bien con otras bibliotecas y le permite usar su propia implementación de las cosas cuando la necesite.


Prikrutil, creo que estamos en el mismo barco. También vengo a Scala desde Erlang. Me gusta mucho el Nitrogen así que decidí crear un framework web de Scala inspirado en él.

Echa un vistazo a Xitrum . Su doc es bastante extenso. De README:

Xitrum es un framework y servidor web Scala asíncrono y en clúster encima de Netty y Hazelcast:

  • Llena el espacio entre Scalatra y Lift: más potente que Scalatra y más fácil de usar que Lift. Puede crear fácilmente tanto las API RESTful como las devoluciones de datos. Xitrum es el controlador primero como Scalatra, no la vista primero como Lift.
  • La anotación se utiliza para las rutas URL, en el espíritu de JAX-RS. No tienes que declarar todas las rutas en un solo lugar.
  • Tipo seguro, en el espíritu de Scala.
  • Async, en el espíritu de Netty.
  • Las sesiones se pueden almacenar en cookies o Hazelcast agrupados.
  • jQuery Validation está integrada para la validación del lado del navegador y del lado del servidor. i18n utiliza GNU gettext, lo que significa que, a diferencia de la mayoría de las otras soluciones, se admiten formas tanto singulares como plurales.
  • GET condicional usando ETag.

Hazelcast también da:

  • En el proceso y en caché en clúster, no necesita servidores de caché separados.
  • Comet en proceso y agrupado, puede escalar Comet a múltiples servidores web.

Siga el tutorial para un comienzo rápido.



También está Pinky, que solía estar en bitbucket pero fue transferido a github .

Por cierto, github es un gran lugar para buscar proyectos de Scala, ya que hay muchos puestos allí.


También puedes probar Context . Fue diseñado para ser un marco de Java pero lo he utilizado con éxito con Scala también sin dificultades. Es un marco basado en componentes y tiene propiedades similares como Lift o Tapestry.


Tanto Sweet como Slinky parecen no haber sido vistos por cerca de un año. Sweet Maven repo sweetsoftwaredesign.com está muerto, por lo que no hay forma de descargar dependencias.


Tiendo a usar JAX-RS usando Jersey (puede escribir buenos recursos en Scala, Java o Groovy) para escribir aplicaciones web RESTul. Luego utilizo Scalate para representar las vistas usando uno de los distintos idiomas de plantilla ( JADE , Scaml , Scaml (Páginas del servidor Scala), Mustache , etc.).



El juego es bastante dulce.

Ahora está listo para la producción. Incorpora: un marco de plantilla fresco, recarga automática de archivos de origen en caso de que sea seguro, un sistema de acción componible, akka awesomeness, etc.

Es parte de la pila Typesafe .

Después de haberlo utilizado para dos proyectos, puedo decir que funciona bastante bien y debería ser algo que considerar la próxima vez que busque aprender nuevos marcos web.


Nota: Spiffy está desactualizado.

< enchufe >

Spiffy :

  • esta escrito en scala
  • Utiliza la fantástica biblioteca Akka y los actores a escala.
  • usa la API 3.0 del servlet para el manejo asíncrono de solicitudes
  • es modular (reemplazar componentes es sencillo)
  • usa DSL para reducir el código donde no lo quieres
  • soporta Scalate y Freemarker para plantillas

Spiffy es un marco web que usa Scala, Akka (una implementación de actor de Scala) y la API de Java Servlet 3.0. Hace uso de la interfaz asíncrona y tiene como objetivo proporcionar un entorno masivamente paralelo y escalable para aplicaciones web. Los diversos componentes de Spiffy se basan en la idea de que deben ser módulos minimalistas independientes que realicen pequeñas cantidades de trabajo muy rápidamente y pasen la solicitud al siguiente componente en tramitación. Una vez que el último componente haya terminado de procesar la solicitud, este señaliza el contenedor del servlet al "completar" la solicitud y enviarla de vuelta al cliente.

https://github.com/mardambey/spiffy

< / plug >