2010-01-20 21 views
30

¿Podría compartir su experiencia de usar Scala y Wicket juntos? ¿Se ajustan naturalmente el uno al otro? ¿Obtiene ventaja de usar Scala (y FP) con Wicket sobre el uso de Java? ¿Por qué (preferirías) Wicket over Lift?Su experiencia con Scala + Wicket

+0

probablemente debería ser wiki de la comunidad - en realidad no existe va a ser una respuesta "correcta" a esta. –

Respuesta

24

Para aquellos interesados ​​en mirar el código, I re-implemented la demostración de "reserva de hotel" en Scala + Wicket aquí: Browse | SVN - la versión de Java + Wicket está aquí: Browse | SVN

Utilicé el (aún no final) Scala 2.8 y el complemento NetBeans. Tenía la intención de blog en detalle al respecto (incluso hay una implementación de Groovy + Wicket en su lugar), pero algunas impresiones de alto nivel a continuación; como ejemplo, aquí está el mismo código de UI en Java | Scala. Observaciones:

  • ciertamente mucho menos repetitivo y menos 'ruido'
  • Scala se siente como una muy buena opción para Wicket cuando se trata de componentes de anidación
  • por ejemplo, menos trabajo/líneas de código para definir clases internas/constructores, por lo que puede hacerlo principalmente en línea y seguir anidando sin demasiado desorden
  • y, al mismo tiempo, anular los métodos de marco como line-lines. bonito !
  • Scala parecía funcionar bien con Wicket Generics, el compilador parecía ser mucho más estricto a veces, tal vez esto es algo bueno. El plugin de NetBeans ayuda, pero a veces con errores y lento.
  • No es una aplicación muy compleja, por lo que no tuvimos la oportunidad de aplicar los cierres y FP mucho
  • Hay también algunas precauciones que hay que estar al tanto de esta manera: Fighting Scala – Scala to Java List Conversion - por el momento he conseguido usando colecciones de Java para el dominio propiedades del objeto.

No se han realizado ninguna prueba/comparación de rendimiento. Estén atentos :) Háganme saber si hay algo que quiera saber cuando llegue a publicar una entrada de blog detallada sobre esto. Ah, y si tienes la oportunidad de revisar el código y decirme qué se puede mejorar, ¡sería genial!

no he mirado Ascensor todavía, pero aquí es un blog que puede ayudar a la OP: Lift from a Wicket Developer's Perspective

que decir que yo elegiría Scala más maravilloso por una milla si la mezcla con Wicket. La función IDE "Organizar importaciones" en sí misma resuelve la cuestión. El nuevo soporte de la clase interna de Groovy tiene algunas trampas que se interponen en serio al usar Wicket. También experimentó algunos problemas como groovy.lang.Reference no Serializable etc.

+0

Tío, ¿utiliza el proyecto de ampliación Scala Wicket? http://www.mail-archive.com/[email protected]/msg40899.html? –

4

He usado Scala + Wicket un poco - es un buen punto para presentar algunos Scala. Los cierres con pueden ayudar a reducir las líneas de código en un controlador Wicket, dadas algunas conversiones implícitas o métodos de utilidad. Incluso Dave Pollak una vez sugirió esta combinación, si prefiere Wicket to Lift o tiene una aplicación de Wicket existente con la que desea actualizar Scala.

Solo tenga cuidado con los tipos de datos que usa en cualquier componente de Wicket con estado, ya que deben ser serializables. A veces puede prescindir de esto y usar componentes de Wicket sin estado.

3

Funcionan muy bien juntos. Sin mencionar todas las bonificaciones de usar Scala como tu idioma.

A lo largo de mi camino Saqué trozos que he hecho que he encontrado útil y creó el proyecto Scala cosas Extensiones de garaje: Gracias http://www.mail-archive.com/[email protected]/msg40899.html no lo ha usado durante un tiempo, pero aún debe ser bueno. Me encantaría que más personas contribuyan al proyecto.

el repositorio está aquí: https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicketstuff-core/scala-extensions-parent/

Es una pena portillo-cosas (y peatonal) es/no están en Github:/

1

acabo gustaría señalar nuevos caminos, en Scala 2.8, hacer conversiones scala a java y volver, ya que se señaló como un problema en la respuesta de Peter Thomas. El nuevo material se describe allí: Conversions between Java and Scala collections

Debe resolver el problema Scala colecciones < => Java supongo

+1

Space Borg, creo que debe ponerlo como comentario en su respuesta, no como respuesta separada, ya que no responde la pregunta. – Alexey

+1

Acepto, pero no descubrí cómo, no se me ofreció el "Agregar comentario" ... Freel puede editarlo/cambiarlo si puede (??). –