2010-09-16 11 views
5

Estoy bien en aprender Scala ahora y disfrutarlo mucho; Espero comenzar proyectos futuros en él, en lugar de Java. Lo que estoy disfrutando menos es el (relativamente) pobre soporte IDE. He descubierto que tanto IDEA como Eclipse con el complemento Scala (incluidas las compilaciones nocturnas) son poco confiables o difíciles de usar; quiero algo en lo que siempre pueda confiar. P.ej. ayer no pude obtener una nueva instalación de eclipse + plugin para ejecutar mis pruebas, ¡o incluso abrir una ventana de editor!¿Cómo construir/probar Scala sin dependencia IDE?

Estoy considerando saltar entre Eclipse/IDEA dependiendo de cuál se adapte mejor a la tarea en cuestión y, lo que es más importante, de cortar mi dependencia del IDE para compilar y ejecutar pruebas (ScalaTest). Esto no es trivial para mí, ya que crecí en Java en Eclipse; dejar a Eclipse SVN para usar GIT fue inicialmente un gran problema. Dado que solo tengo tiempo para aprender una herramienta, ¿debería ser Ant, Maven, buildr, sbt, ....? ¿Cómo trabajan otras personas?

Respuesta

10

He usado tanto Maven y sbt con Scala y encontré que ambos son bastante fáciles de usar.

Sin embargo, SBT sentirá mucho más cerca de Scala como sus archivos de generación se escriben en sí mismo Scala (a diferencia de XML en Maven) y cuentan con un SBT REPL acumulación, tiene recopilación continua y pruebas, etc.

Por lo tanto, le aconsejaría usar sbt para un proyecto simple de Scala.

Pero en caso de que desee crear proyectos Java estándar como WAR, EJB, etc., creo que Maven tiene un mejor soporte para ellos.

También Maven tiene un enorme ecosistema de complementos que le permite hacer prácticamente todo, cobertura de código, informes, verificación de código estándar, generación de documentación y mucho más.

1

EDIT: Uuuups. Lo siento. De hecho, leí mal tu pregunta y solo comento sobre IDEs. Cuando se trata de construir el proyecto utilizo make;) porque está bien integrado en Vim

mientras que yo no querría hacer CUALQUIER proyecto Java sin IDE, actualmente estoy haciendo un proyecto bastante grande solo en Vim . Sé que es un enfoque bastante "de la edad de piedra", pero funciona muy bien.

Por un lado, estaba cansado por el soporte de Scala/lento/deficiente de Scala de todos los IDEs. Intenté con Scala, netbeans e IDEA y encontré que trabajar con ellos (en Scala) era bastante doloroso.

Por otro lado, Scala tiene algunas propiedades que ayudan cuando se trabaja con un Editor simple: puede tener más clases en un archivo, así que generalmente defino un paquete completo en un archivo que de nuevo no crece demasiado, ya que Scala la clase suele ser muy (o incluso extremadamente) pequeña. Por lo tanto, normalmente solo tengo dos o tres archivos abiertos a la vez y, por lo tanto, no necesito una gestión de paquete/archivo.

No pude obtener el código plegado por etiquetas de idiomas para trabajar, pero doblar por sangría funciona muy bien si se apega a las convenciones de sangría de Scala.

Una cosa que no funciona es autocompletar. Pero, una vez más, esto me hace escribir objetos más débilmente acoplados;)

+0

Es bueno saber de un enfoque más 'hardcore' :) Lo que me preocuparía sería el re-factoring. Normalmente no hago las cosas bien la primera vez y dependo de volver a factorizar un poco más de lo que debería. – Pengin

+1

En esta línea, he escuchado que emacs + sbt + ENSIME es un buen combo (¡y ENSIME sí refactoriza!). Más sobre este hilo de usuario scala: http://scala-programming-language.1934581.n4.nabble.com/Best-free-IDE-for-Scala-td2533572.html –

+0

@Pengin: como si estuviera escrito anteriormente, tiendo para escribir sistemas de clase más débilmente acoplados debido a la falta de finalización automática. Por lo general, la refactorización me lleva unos 5 minutos o menos – Agl

3

Usaría SBT con IDEA. Aunque no lo he probado, sé que hay algo de apoyo para la integración de SBT e IDEA.

De todos modos, SBT es una gran base para todas las necesidades de prueba de Scala building &.

+0

La integración de SBT e IDEA es mejor que nunca. ¡Es fantástico! – film42

1

Buildr es compatible con Scala y Java como idiomas de primera clase, con soporte para ScalaCheck y ScalaSpecs, y por supuesto también tiene suficientes complementos para que sea un buen candidato para Maven.

0

Solo agrego mis dos centavos. Creo que deberías probar Netbeans también. Se supone que es el más amigable con Scala entre los tres jugadores principales (Eclipse, Idea y Netbeans).

He estado teniendo un montón de diversión con Netbeans 6.8 y Scala-2.8.0.r22602-b20100720020114

Es justo decir que no estaría programando Scala ahora si no hubiera sido por el plugin Netbeans. He pasado bastante tiempo intentando que funcione sin problemas con los demás, pero sin mucho éxito.

Uso Netbeans para desarrollo y Ant para compilación independiente. Información sobre la configuración de Ant para Scala aquí: http://scriptlandia.blogspot.com/2007/04/how-to-compile-and-run-scala-program.html

Cuestiones relacionadas