Twoje doświadczenia ze Scala+Wicket

Czy mógłbyś podzielić się swoimi doświadczeniami z używania Scali i Wicket razem? Czy pasują do siebie naturalnie? Czy korzystasz ze Scali (i FP) z Wicket nad Javą? Dlaczego wolisz Wicket zamiast Lift?

Author: Alexey , 2010-01-20

4 answers

Dla zainteresowanych obejrzeniem kodu, i ponownie zaimplementowane demo Seam "Hotel Booking" w Scali + tutaj: Przeglądaj | SVN - wersja Java + Wicket jest tutaj: Przeglądaj | SVN

Użyłem (jeszcze nie ostatecznej) Scali 2.8 i wtyczki NetBeans. Zamierzałem szczegółowo o tym blogować (jest nawet implementacja Groovy + Wicket), ale kilka wrażeń na wysokim poziomie poniżej; jako przykład, oto ten sam kod UI w Java | Scala . Uwagi:

    Z pewnością dużo mniej kotła i mniej "hałasu"]} Scala czuje się bardzo dobrze dopasowana do bramki, jeśli chodzi o komponenty zagnieżdżania]}
  • dla np. mniej pracy / linii kodu, aby zdefiniować wewnętrzne klasy / konstruktory, więc może to zrobić głównie in-line i zachować zagnieżdżanie bez większego bałaganu
  • i jednocześnie nadpisuje metody frameworkowe jako Jednowierszowe. nieźle !
  • Scala wydaje się działać dobrze z Wicket Generyki, kompilator wydawał się być czasem o wiele bardziej rygorystyczny, może to dobrze. Plugin NetBeans pomaga, ale czasami jest wadliwy i powolny.
  • Nie jest to bardzo skomplikowana aplikacja, więc nie dostał szansę na zastosowanie zamknięć i FP dużo
  • jest kilka gotchas, o których powinieneś wiedzieć tak: walka ze scalą-Konwersja Scali na Listę Java - na razie zarządzałem przy użyciu Java collections dla właściwości obiektu domain.

Nie wykonałem test / porównanie jeszcze. Stay tuned :) daj mi znać, jeśli jest coś, co chcesz wiedzieć, kiedy przejdę do opublikowania szczegółowego wpisu na blogu na ten temat. Oh I jeśli masz szansę przejrzeć kod i dać mi znać, co można poprawić, byłoby świetnie !

Nie patrzyłem jeszcze na Lift, ale oto wpis na blogu, który może pomóc w OP: Lift z perspektywy Wicket Developera

Muszę powiedzieć, że wybrałbym Scalę zamiast Groovy o milę, jeśli miesza się z Wicket. Sama funkcja IDE "organizuj import" rozstrzyga pytanie. Nowe Groovy Inner class support ma kilka gotchas, które poważnie przeszkadzają podczas korzystania z Wicket. Również doświadczył pewnych problemów, takich jak groovy.lang.Reference not Serializable etc.

 24
Author: Peter Thomas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-21 17:39:22

Użyłem trochę Scali + Wicket - warto wprowadzić trochę Scali. Closures with może pomóc zmniejszyć liczbę linii kodu w kontrolerze Wicket, biorąc pod uwagę kilka ukrytych konwersji lub metod użytkowych. Nawet Dave Pollak zasugerował tę kombinację, jeśli wolisz Wicket do podnoszenia lub masz istniejącą aplikację Wicket, którą chcesz doposażyć Scalę.

Po prostu uważaj na typy danych, których używasz w dowolnych składnikach stateful Wicket, ponieważ muszą one być serializowalne. Ty czasami może się bez tego obejść i używać bezpaństwowych elementów furtki.

 4
Author: retronym,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-20 23:40:32

Naprawdę dobrze ze sobą współpracują. Nie wspominając o wszystkich bonusach związanych z używaniem Scali jako języka.

Po drodze wyjąłem bity, które uznałem za przydatne i stworzyłem projekt Scala Wicket Extensions stuff: http://www.mail-archive.com/[email protected]/msg40899.html Nie używałem go przez jakiś czas, ale nadal powinien być dobry. Bardzo bym chciała, żeby więcej osób przyczyniło się do tego projektu.

Repo jest proszę.: https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicketstuff-core/scala-extensions-parent/

Szkoda, że wicket-rzeczy (i wicket) są / nie są w Githubie : /

 3
Author: Antony Stubbs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-03 21:20:07

Chciałbym tylko wskazać nowe sposoby, w Scali 2.8, aby wykonać konwersje Scali na Javę i z powrotem, ponieważ zostało to wskazane jako problem w odpowiedzi Petera Thomasa. Nowa rzecz jest tam opisana: konwersje pomiędzy kolekcjami Javy i Scali

Powinno rozwiązać problem scala java collections chyba

 1
Author: space borg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-07 22:19:31