我首次涉足Scala进行生产应用程序。该应用程序目前被包装为战争文件。我的计划是创建一个Scala编译的文物的JAR文件,并将其添加到WAR文件的LIB文件夹中。我的增强功能是通过Jersey暴露的MySQL支持的应用程序,将通过HTTPCLCLIENT Invications与第三方网站集成。我知道如何通过普通Java做到这一点。但是,在Scala做到这一点时,我有几个决定要点。

  1. Scala 2.7.7或2.8 RC?
  2. JDBC通过 怪异 这个API准备生产了吗?
  3. SBT vs Maven。我对小牛很满意。
  4. HTTPCLIENT是否有Scala惯用包装器(或者我应该像Java一样使用它)?

我很想听听您从Scala开始的评论和经验。

有帮助吗?

解决方案

  1. 我将使用2.8.0。 2.8中有太多有用的功能。此外,2.8正在关闭最终版本。如果您只是刚开始,为什么不从那开始呢? FWIW,自Beta1以来,我一直在使用2.8.0,在我每天使用的各种工具和库中。虽然有虫子,但还不足以使我回到2.7.7。 ymmv,不过。
  2. 这不会使您的决定变得更加容易,但是数据库访问还有其他可能性。我一直在使用 Squeryl, , 例如;我喜欢。 齿条 是另一个选择。
  3. 如果您对Maven感到满意,请一定要使用它。就个人而言,我更喜欢SBT。当我需要实施特殊的构建逻辑时,我会获得真正的编程语言的全部功能。同样有用,我不必处理XML配置文件。 (XML非常适合数据,但它是人为编辑的配置文件的糟糕格式。)
  4. 您可以尝试使用数据支持调度。看 本文 为了一个不错的概述。

其他提示

  1. 如果您只想开始开发,那么Scala 2.8 GA可能会在您进行生产时可用。即使不是,我也会选择最新鲜的2.8RC包,而不是坚持2.7.7。 2.8不仅具有许多出色的功能,而且还包含大量2.7.7个错误。
  2. 如今,为Scala设计的生产准备就绪的ORMS并不多。我可能会选择 举起持久性, ,由于升降机框架背后的专业人士和友好社区团队。但是,如果您不想冒险,则应考虑使用旧的良好的Java Orms:Hibernate,JPA,Ibatis(最近被重命名为Mybatis)等。
  3. 您应该尝试一下SBT!它与Maven Poms兼容,因此迁移到SBT对您来说不应该太痛苦。使用SBT受益:
    • 它是为Scala设计的,因此您将免除无数插件的负担
    • 您将能够在Scala中编写构建脚本(与XML相比,这是一次了不起的体验)
    • SBT具有杀手级功能 - 连续不断 (建筑物,测试,部署)。 SBT监视您的代码,检测其何时更改,并触发操作(测试,重新部署等)。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top