2010-06-18 21 views
9

我正在爲scala生產我的第一個應用程序。 該應用程序當前打包爲一個戰爭文件。 我的計劃是創建一個scala編譯構件的jar文件,並將其添加到war文件的lib文件夾中。 我的增強功能是通過澤西島公開的一個mysql支持的應用程序&將通過HttpClient調用與第三方站點集成。我知道如何通過普通的java來做到這一點。但是在scala中做這件事的時候,有幾個決定點是我正在做的。用什麼框架來引導我的第一個生產Scala項目?

  1. scala 2.7.7或2.8 RC?
  2. JDBC via querulous該API是否可以用於生產?
  3. sbt vs maven。我對maven很滿意。
  4. 是否有一個Scala慣用包裝HttpClient(或者我應該使用它就像在Java中)?

我很想聽聽你的評論和經驗,開始與斯卡拉。

回答

10
  1. 我會用2.8.0。 2.8中有太多有用的功能。另外,2.8版正在關閉最終版本。如果你剛剛開始,爲什麼不開始呢? FWIW,自從Beta1以來,我一直使用2.8.0,每天都在使用各種工具和庫。儘管存在缺陷,但它們還不足以讓我回落到2.7.7。 YMMV,但。
  2. 這不會讓你的決定變得更容易,但是對於數據庫訪問還有其他的可能性。例如,我一直在使用SQueryL;我喜歡。另一種選擇是ORBroker
  3. 如果您對Maven感到滿意,那就儘量使用它。就個人而言,我更喜歡SBT。當我需要實現特殊的構建邏輯時,我獲得了真正的編程語言的全部力量。同樣有用,我不必處理XML配置文件。 (XML對數據很有用,但對於人工編輯的配置文件來說,這是一種糟糕的格式。)
  4. 您可能會嘗試Databinder Dispatch。查看this article有一個很好的概述。
1
  1. 如果你只打算開始發展,斯卡拉2.8 GA將可能是可利用你去生產的時間。即使不是,我會選擇最新鮮的2.8RC包裝,而不是堅持2.7.7。 2.8不僅具有許多強大的功能,而且還包含大量的2.7.7錯誤修正。
  2. 現在沒有太多爲Scala設計的生產就緒ORM。我可能會選擇Lift Persistence,因爲Lift Framework的專業團隊和友好社區。但如果你不想冒險,你應該考慮使用久經考驗的Java ORM:Hibernate,JPA,iBatis(最近更名爲myBatis)等。
  3. 你應該給SBT一個試試!它與Maven POMs兼容,所以遷移到SBT不應該對你太痛苦。使用SBT優點:
    • 它被設計爲斯卡拉,所以你會從維護插件的Maven的無數做出的負擔減輕它使用Scala工作始終
    • 您將能夠編寫構建腳本中Scala(與XML相比,這是一個了不起的體驗)
    • SBT具有殺手功能 - continuous whatever(構建,測試,部署)。SBT監視您的代碼,檢測其更改時間並觸發操作(測試,重新部署等)。
相關問題