scala - ¿Está lista la producción de Spray framework?
rest akka (3)
Aunque todavía no estamos en producción, estamos usando spray para Shopolate, un nuevo inicio. Hasta ahora, nuestras pruebas muestran un rendimiento excelente, y el desarrollo con ellas es muy eficiente.
No hemos encontrado errores hasta ahora.
Las respuestas a las preguntas en el foro de Spray llegan con bastante rapidez, pero sigue siendo una comunidad de partida. Encontré la documentación bastante completa y clara. Una gran ventaja es la ligereza / elegancia del diseño subyacente, que hace que el código fuente de rociado sea muy fácil de agarrar y extender.
El único inconveniente que nos ha afectado hasta ahora es el conjunto relativamente pequeño de características, pero está aumentando constantemente.
No conozco a BlueEyes, así que no puedo responder a la segunda parte de la pregunta.
Spray framework (spray.cc) parece ser una forma divertida y productiva de crear servicios REST utilizando Scala y Akka. Vengo de la escuela Java + Spring, donde todo está bien documentado, es maduro y tiene un buen apoyo de la comunidad.
Mientras que Spray es divertido para jugar, pero tiene sus bordes ásperos. Soy escéptico sobre su uso en una aplicación real.
¿Alguien ha usado Spray en el entorno de producción? ¿Qué pasa con la comunidad de código abierto alrededor de Spray? ¿Es posible obtener ayuda fácilmente?
ACTUALIZACIÓN: ¿Cómo se compara Spray con BlueEyes (https://github.com/jdegoes/blueeyes)?
Estamos utilizando Spray en una aplicación de middleware de telecomunicaciones y diría que Spray está listo para la producción y,
- Peso ligero y se integra perfectamente con Akka.
- Puede probar fácilmente los servicios (no es necesario disparar el contenedor o el micro kernel Akka)
- Bien documentado en comparación con BlueEyes
- Calcular y desmarcar a JSON es simple y eficiente
- Puede obtener soporte del grupo de correo de usuario de spray.
Creo que BlueEyes no tiene una integración perfecta con Akka o buena documentación. No estoy seguro de que pueda implementarse dentro de un contenedor web o kernel akka. Algunas funciones de Spray también se copian de BlueEyes.
-Jestan
Spray es un marco realmente agradable con algunos tipos excepcionalmente inteligentes detrás de él. Le proporciona un código simple que se adapta bien en términos de características y usuarios concurrentes. Si desea terminar con una aplicación que se lea bien (buena estructura, fácil de encontrar qué url se asigna a qué función, etc.), Spray es increíble.
Aunque no todo es genial.
El acoplamiento apretado con Akka es una espada de dos caras. Para aplicaciones simples agrega complejidad innecesaria. Piense con cuidado si quiere abrazar a Akka antes de usar Spray.
En este momento, Spray (1.1M4) tiene una documentación muy limitada para las directivas, por lo que está solo, lee el código avanzado de Scala y se rasca la cabeza.
La compatibilidad hacia atrás no se toma en serio hasta ahora. Espera tocar todo tu código al actualizar. Esto es tanto culpa de Akka y de Scala como de Spray. Si no te gusta esto, elige algo aburrido y confiable como Spring MVC.
Las construcciones del lenguaje Scala utilizadas son tan difíciles de analizar correctamente que la mayoría de los IDE se pierden y tendrá que esperar a que el compilador real haga su trabajo antes de saber a qué se enfrenta. Dije antes que el código era fácil de leer, pero eso es solo en un nivel alto. Es muy fácil que entiendas lo que está pasando, pero para obtener lo que está pasando necesitarás mucho espacio de pila en tu cabeza.
Estoy usando Spray en la producción y me quedo con él (probablemente), pero no es un viaje fácil. Espera estar frustrado y encantado en igual medida.