Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What frameworks to use to bootstrap my first production scala project?

I am making my first foray into scala for a production app. The app is currently packaged as a war file. My plan is to create a jar file of the scala compiled artifacts and add that into the lib folder for the war file. My enhancement is a mysql-backed app exposed via Jersey & will be integrated with a 3rd party site via HttpClient invocations. I know how to do this via plain java. But when doing it in scala, there are several decision points that I am pussyfooting on.

  1. scala 2.7.7 or 2.8 RC ?
  2. JDBC via querulous Is this API ready for production ?
  3. sbt vs maven. I am comfortable with maven.
  4. Is there a scala idiomatic wrapper for HttpClient (or should I use it just like in java) ?

I'd love to hear your comments and experiences on starting out with scala.

like image 575
Jacques René Mesrine Avatar asked Feb 03 '23 04:02

Jacques René Mesrine


1 Answers

  1. I would use 2.8.0. There are just too many useful features in 2.8. Besides, 2.8 is closing in on a final release. If you're just starting out, why not start out with that? FWIW, I've been using 2.8.0 since Beta1, in various tools and libraries that I use daily. While there have been bugs, they haven't been enough to make me fall back to 2.7.7. YMMV, though.
  2. This isn't going to make your decision any easier, but there are other possibilities for database access. I've been using SQueryL, for instance; I like it. ORBroker is another option.
  3. If you're comfortable with Maven, then use it, by all means. Personally, I prefer SBT. I get the full power of a real programming language, when I need to implement special build logic. Just as useful, I don't have to deal with XML configuration files. (XML is good for data, but it's a crappy format for a human-edited configuration file.)
  4. You might try Databinder Dispatch. See this article for a nice overview.
like image 91
Brian Clapper Avatar answered Feb 05 '23 21:02

Brian Clapper