2010-01-20 4 views
30

Puoi condividere la tua esperienza sull'uso di Scala e Wicket? Si adattano naturalmente l'un l'altro? Approfitta dell'uso di Scala (e FP) con Wicket sull'uso di Java? Perché (vuoi) preferisci Wicket over Lift?La tua esperienza con Scala + Wicket

+0

dovrebbe probabilmente essere comunità wiki - Non c'è davvero sarà una risposta "giusta" per questo. –

risposta

24

Per chi è interessato a guardare il codice, I re-implemented la demo "Prenotazione hotel" di Seam in Scala + Wicket qui: Browse | SVN - la versione di Java + Wicket è qui: Browse | SVN

Ho usato il (non ancora finale) Scala 2.8 e il plugin NetBeans. Avevo un significato nel blog in dettaglio (c'è persino un'implementazione di Groovy + Wicket in atto) ma alcune impressioni di alto livello sotto; ad esempio, ecco lo stesso codice UI in Java | Scala. Osservazioni:

  • certamente molto meno boilerplate e meno 'rumore'
  • Scala si sente come una misura molto buona per Wicket quando si tratta di componenti di nidificazione
  • per esempio meno lavoro/linee di codice per definire classi interne/costruttori, quindi può farlo principalmente in linea e mantenere il nesting senza molto confusione
  • e allo stesso tempo sovrascrivere i metodi framework come one-liner. simpatico !
  • Scala sembrava funzionare bene con Wicket Generics, il compilatore sembrava essere molto più severo, a volte, forse questa è una buona cosa. Il plug-in di NetBeans aiuta, ma a volte buggy e lento.
  • Non è un applicazione molto complessa, quindi non abbiamo avuto l'occasione di applicare chiusure e FP molto
  • Ci sono alcuni trucchi che dovete essere consapevoli di come questo: Fighting Scala – Scala to Java List Conversion - per il momento sono riuscito utilizzando collezioni di Java per il dominio proprietà dell'oggetto.

Non hanno ancora eseguito un test/confronto delle prestazioni. Resta sintonizzato :) Fammi sapere se c'è qualcosa che vuoi sapere quando arrivo a postare un blog dettagliato su questo. Oh, e se hai la possibilità di leggere il codice e farmi sapere cosa può essere migliorato, sarebbe fantastico!

Non ho guardato Ascensore ancora, ma qui è un post sul blog che può aiutare il PO: Lift from a Wicket Developer's Perspective

dire che vorrei scegliere Scala su Groovy da un miglio se miscelazione con Wicket. La funzione IDE "importa le importazioni" risolve la domanda. Il nuovo supporto per le classi interne di Groovy ha alcuni trucchi che interferiscono seriamente con l'utilizzo di Wicket. Ho anche riscontrato alcuni problemi come groovy.lang.Riferimento non serializzabile ecc.

+0

Amico, usi il progetto di estensione Scala Wicket? http://www.mail-archive.com/[email protected]/msg40899.html? –

4

Ho usato Scala + Wicket un po '- è un buon punto per introdurre qualche Scala. Le chiusure con possono aiutare a ridurre le linee di codice in un controller Wicket, date alcune conversioni implicite o metodi di utilità. Anche Dave Pollak una volta ha suggerito questa combinazione, se preferisci Wicket to Lift o hai un'applicazione Wicket esistente con cui vuoi eseguire il retrofit di Scala.

Basta fare attenzione ai tipi di dati utilizzati in qualsiasi componente Wicket stateful poiché devono essere serializzabili. A volte puoi fare a meno di questo e usare componenti Wicket senza stato.

3

Lavorano davvero bene insieme. Per non parlare di tutti i bonus di usare Scala come lingua.

Lungo la mia strada ho tirato fuori pezzi che ho fatto che ho trovato utile e creato il progetto roba Scala Wicket estensioni: http://www.mail-archive.com/[email protected]/msg40899.html non l'ho usato per un po ', ma dovrebbe essere ancora buono. Sarei davvero entusiasta di coinvolgere più persone nel progetto.

Il pronti contro termine è qui: https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicketstuff-core/scala-extensions-parent/

E 'un peccato wicket-stuff (e pedonale) è/non sono in Github:/

1

Vorrei solo segnalare nuovi modi, in Scala 2.8, per eseguire conversioni da scala a java e viceversa, poiché è stato indicato come un problema nella risposta di Peter Thomas. Il nuovo materiale è descritto lì: Conversions between Java and Scala collections

Dovrebbe risolvere il problema Scala collezioni < => java Credo

+1

Spazio Borg, penso, dovresti metterlo come commento alla sua risposta, non come risposta separata in quanto non risponde alla domanda. – Alexey

+1

Sono d'accordo ma non ho scoperto come, il "Aggiungi commento" non è stato offerto a me ... Freel libero di modificare/cambiare se possibile (??). –