Pregunta

Estoy haciendo mi primera incursión en Scala para una aplicación de producción. La aplicación está empaquetado como un archivo de la guerra. Mi plan es crear un archivo JAR de los artefactos Scala compilado y añadir que en la carpeta lib para el archivo de la guerra. Mi mejora es una aplicación de MySQL respaldados expuestos a través de Jersey y se integrará con un sitio de 3 ª parte a través de HttpClient invocaciones. Yo sé cómo hacer esto a través de Java normal. Sin embargo, cuando se trabaja en Scala, hay varios puntos de decisión que estoy en Pussyfooting.

  1. Scala 2.7.7 o 2.8 RC?
  2. quejumbrosa esta API listo para la producción?
  3. SBT vs experto. Me siento cómodo con Maven.
  4. ¿Hay un envoltorio idiomática Scala de HttpClient (o debería usarlo al igual que en Java)?

Me encantaría escuchar sus comentarios y experiencias que se parta de Scala.

¿Fue útil?

Solución

  1. Me gustaría utilizar 2.8.0. Hay demasiadas características útiles en 2.8. Además, se está cerrando en 2.8 en una versión final. Si usted está empezando a cabo, por qué no empezar con eso? Fwiw, he estado usando desde 2.8.0 Beta 1, en diversas herramientas y bibliotecas que utilizo a diario. Mientras que ha habido errores, no han sido suficientes para hacerme caer de nuevo a 2.7.7. Tu caso es distinto, sin embargo.
  2. Esto no se va a tomar su decisión más fácil, pero hay otras posibilidades de acceso a la base de datos. He estado usando SQueryL , por ejemplo; Me gusta. ORBroker es otra opción.
  3. Si se siente cómodo con Maven, y luego usarlo, por todos los medios. En lo personal, prefiero SBT. Me da la potencia de un lenguaje de programación real, cuando necesito para implementar la lógica de construcción especial. Tan útil, no tengo que lidiar con archivos de configuración XML. (XML es bueno para los datos, pero es un formato de mierda para un archivo de configuración editado por seres humanos.)
  4. Usted puede tratar de DataBinder Despacho. Ver este artículo para una buena visión de conjunto.

Otros consejos

  1. Si sólo va a comenzar el desarrollo, Scala 2.8 GA probablemente estará disponible en el momento en que vaya producción. Incluso si no es así, yo elegiría el paquete 2.8RC más actualizado en lugar de limitarse a 2.7.7. 2.8 no sólo tiene una serie de funciones muy útiles, pero también contiene una gran cantidad de correcciones de errores 2.7.7.
  2. No se es demasiado muchos ORM listos para la producción diseñados para Scala estos días. Probablemente elegiría Levante Persistencia , porque del equipo de profesionales y comunidad amistosa detrás Ascensor marco. Pero si usted no quiere correr el riesgo, se debe considerar el uso de edad buena probada de Java ORM: Hibernate, JPA, iBatis (que recientemente fue renombrado a mybatis), etc.
  3. Usted debe dar una oportunidad SBT! Es compatible con los POM Maven, por lo que la migración a SBT no debe ser demasiado doloroso para usted. Beneficios del uso de SBT:
    • Está diseñado para Scala, por lo que será un alivio de la carga de mantener infinidad de plugins de Maven para que funcione con Scala consistentemente
    • Usted será capaz de escribir scripts de construcción en Scala (que es una experiencia increíble en comparación con XMLs)
    • SBT tiene una función única - continua lo (construcción, pruebas, despliegue ). SBT supervisa su código, detecta cuando es cambiado, y ejecuta una acción (de prueba, redistribución, etc.).
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top