2012-03-10 4 views
5

¡Estoy pensando en escribir una aplicación web en Scala usando Play! marco para el front-end, y probablemente MongoDB para el back-end. ¿Hay alguna razón por la que no pueda/quiera usar scala para toda la aplicación? En otras palabras, ¿hay áreas donde me veré obligado a usar ruby ​​o php? Me gusta la idea de tener la pila completa en Scala, pero realmente no sé si eso es realista o no.¿Es realista para mí esperar que pueda usar Scala para una pila completa?

Soy muy nuevo en el desarrollo web, pero tengo experiencia en Java, por lo que reproducir framework y scala me parecen buenas opciones. Pero me disculpo si mis preguntas no tienen exactamente sentido.

+1

Sugerir trymersmers.stackexchange.com para este. –

+0

Pensé que el desbordamiento de pila era para programadores? – wbarksdale

+0

SO es para preguntas y respuestas a preguntas objetivas de respuesta real. P.SE es para subjetivo "debería hacer x", o "¿qué piensas sobre y"? –

Respuesta

2

Usted trae a colación una buena pregunta sobre: ​​Scala para el desarrollo web de pila completa.

yo diría que, en general, sí, usted puede hacerlo todo en Scala (y en tiempo de compilación de código para arrancar marcada) con una excepción *, la capa motor de plantillas

juego proporciona su propio motor de plantillas, pero no espere obtener el código completo en su IDE; técnicamente está fuertemente tipado, pero su IDE no recogerá el código de Scala; se interpretará como texto sin formato en el IDE. Cargando en la ventana del navegador revela errores y números de línea correspondientes para evitar problemas de tiempo de ejecución de los frameworks ruby, python, php, etc.

Mismo trato con Scalatra y el motor de plantillas Scalate. No obtendrá ese feedback rápido del código comprobado/completado del compilador que obtiene al escribir el código de archivo .scala directo en su IDE.

Ahora, si usted es un usuario de EMACS, VIM, etc., no hay grandes pérdidas, pero una vez más, tener código autocompletado en las capas del motor scala y template es difícil de superar. Al parecer IntelliJ está proporcionando un plug-in de este verano que por fin proporcionar resaltado de sintaxis, completado de código, etc., para Scalate, un proyecto increíble que es más de 3 años de edad y todavía tiene soporte IDE cero ;-(

  • elevación de enfoque es, por supuesto, totalmente diferente y un tanto evita este punto débil en las herramientas existentes Scala, pero por otra parte, se pierde terminación automática de etiquetas XHTML!

Actualmente Eclipse con el plugin de Aptana utilizo el apoyo .erb para negociar código completo xhtml y luego los plugins sbt para LESS y CoffeeScript. Puede hacer que funcione, solo un poco molesto en el estado actual de los IDEs de Scala.

Por favor corrígeme si me equivoco en algo de esto, me encantaría saber lo contrario. A partir de un mes atrás, lo siguiente era cierto en mi entorno de desarrollo (Scala IDE 2.0)

+0

No creo que la finalización de código faltante sea la tapa del show aquí. Creo que la pregunta estaba más dirigida a posibles restricciones técnicas, pero por supuesto no puedo estar seguro :) –

+1

@NiklasB. sí, es cierto, pero es importante tener en cuenta que el soporte de la herramienta va de la mano con una llamada pila completa. En otras palabras, la adopción de Scala sería bastante pequeña si uno se viera obligado a quedarse "ciego" en vi o en el bloc de notas.Esto solo indica que las cosas son bastante halagüeñas en Scala en este momento (Scala IDE 2.0 es, imo, awesome) con la excepción del soporte de motor de plantillas. Mire sobre M $ stack y allí tiene soporte de herramientas de la secuencia de comandos code-to-template-to- (java) incorporada en Visual Studio. No es la única razón, pero C# es el lenguaje # 1 de Stackoverflow, al menos en parte debido a las herramientas. – virtualeyes

+0

Como uno de los hackers de VIM, solo quería mencionar que el lenguaje y un buen editor de texto en general es mucho más importante que un IDE particular o la ayuda del código "intellingent". En mi opinión, Scala es definitivamente un lenguaje más productivo que, por ejemplo, Java, independientemente del entorno de desarrollo. –

4

Para abreviar: no veo ninguna razón por la que deba usar PHP o Ruby. Puedes hacerlo completamente en Java (Play1.x) o Scala. Si prefieres a Scala, recomendaría Playframework 2.0.

+0

Definitivamente recomendaría esperar 2.0 si puede esperar, porque es mucho mejor. – Nick

Cuestiones relacionadas