2010-01-20 33 views
30

您可以分享一下使用Scala和Wicket的經驗嗎?它們自然適合彼此嗎?你是否利用Scala(和FP)與Wicket一起使用Java?爲什麼你會喜歡Wicket而不是Lift?您對Scala + Wicket的體驗

+0

大概應該是社會的維基 - 有沒有真正將是一個「正確」的答案。 – 2010-01-20 20:38:43

回答

24

對於那些有興趣查看代碼的人,I re-implemented Scala + Wicket中的Seam「酒店預訂」演示:Browse | SVN - Java + Wicket版本在這裏:Browse | SVN

我使用的(尚未最終)斯卡拉2.8和NetBeans插件。是否有意詳細地介紹它(甚至有一個Groovy + Wicket實現),但在下面有一些高級別的展示;作爲示例,這裏是Java |中的相同UI代碼Scala。觀察:

  • 肯定少了很多樣板少「噪音」
  • 斯卡拉感覺就像一個非常不錯的選擇檢票,當涉及到嵌套組件
  • 用於例如更少的工作/代碼行來定義內部類/構造函數,因此可以大多數內聯和保持嵌套而不會混亂
  • 並且同時將框架方法重寫爲單行。很好!
  • 斯卡拉似乎與檢票泛型很好地工作,編譯器似乎多了很多嚴格的時間,也許這是一件好事。 NetBeans插件有所幫助,但仍然有問題,並且有時很慢。
  • 不是一個非常複雜的應用程序,所以沒有得到一個機會,申請關閉和FP多
  • 有一些你需要知道的這樣的陷阱:Fighting Scala – Scala to Java List Conversion - 暫時我使用域Java集合管理對象屬性。

還沒有遇到一個性能測試/對比呢。敬請關注:)當我發佈詳細的博客文章時,請告訴我是否有任何您想知道的內容。哦,如果你有機會查看代碼並讓我知道有什麼可以改進的地方,那太棒了!

我還沒有電梯還沒有看,但這裏是一個博客貼子,可以幫助OP:Lift from a Wicket Developer's Perspective

不得不說的是,如果使用Wicket混合,我會選擇在斯卡拉Groovy的一大截。 「組織導入」IDE功能本身解決了這個問題。新的Groovy內部類支持有一些陷阱,在使用Wicket時會嚴重阻礙。還經歷了一些問題,如groovy.lang.Reference不可串行化等。

+0

你使用Scala Wicket擴展項目嗎? http://www.mail-archive.com/[email protected]/msg40899.html? – 2010-03-03 21:16:53

4

我已經使用了Scala + Wicket - 這是介紹一些Scala的好點。考慮到一些隱式轉換或實用方法,閉合可以幫助減少Wicket控制器中的代碼行。即使戴夫波拉克曾經提出過這種組合,如果你更喜歡Wicket Lift或者想要改造Scala的現有Wicket應用程序。

只是要小心,你在任何狀態Wicket組件使用,因爲它們必須是可序列化的數據類型。有時您可以不使用它,並使用無狀態的Wicket組件。

3

他們工作得很好。更不要說使用Scala作爲您的語言的所有獎金。

伴隨的路上,我拿出我做了我認爲有用,並建立了斯卡拉檢票擴展的東西項目位: http://www.mail-archive.com/[email protected]/msg40899.html 沒有使用過了一段時間,但它應該還是不錯的。我真的很想讓更多的人爲這個項目做出貢獻。

回購是在這裏: https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicketstuff-core/scala-extensions-parent/

這是一個恥辱檢票的東西(和檢票口)是/不是在Github上:/

1

我只是想點新的方式,在斯卡拉2.8,對Java轉換進行scala並返回,因爲它被指出是Peter Thomas的答案中的一個問題。新的東西是有描述:Conversions between Java and Scala collections

應該解決斯卡拉< => Java集合的問題,我想

+1

太空博格,我認爲,你應該把它作爲對他答案的評論,而不是單獨的答案,因爲它不回答問題。 – Alexey 2011-08-14 11:04:12

+1

我同意,但我沒有發現如何,「添加評論」沒有提供給我...弗雷爾自由編輯/如果你可以(??)改變它。 – 2011-08-24 12:12:02