Quais estruturas a serem usadas para inicializar meu primeiro projeto Scala de produção?

StackOverflow https://stackoverflow.com/questions/3066682

Pergunta

Estou fazendo minha primeira incursão em Scala para um aplicativo de produção. O aplicativo está atualmente embalado como um arquivo de guerra. Meu plano é criar um arquivo JAR dos artefatos compilados do Scala e adicioná -lo na pasta Lib para o arquivo de guerra. Meu aprimoramento é um aplicativo apoiado pelo MySQL exposto pela Jersey e será integrado a um site de terceiros por meio de invocações HTTPClient. Eu sei como fazer isso via java simples. Mas ao fazê -lo em Scala, há vários pontos de decisão em que estou com os pés.

  1. Scala 2.7.7 ou 2.8 RC?
  2. JDBC via Querida Esta API está pronta para a produção?
  3. SBT vs Maven. Estou confortável com o Maven.
  4. Existe um invólucro idiomático do Scala para httpclient (ou devo usá -lo como em java)?

Eu adoraria ouvir seus comentários e experiências ao começar com Scala.

Foi útil?

Solução

  1. Eu usaria 2.8.0. Existem muitos recursos úteis em 2.8. Além disso, 2.8 está se aproximando de um lançamento final. Se você está apenas começando, por que não começar com isso? FWIW, uso 2.8.0 desde o Beta1, em várias ferramentas e bibliotecas que uso diariamente. Embora tenha havido bugs, eles não foram suficientes para me fazer voltar para 2.7.7. YMMV, no entanto.
  2. Isso não facilitará sua decisão, mas existem outras possibilidades para o acesso ao banco de dados. Eu tenho usado SQUERYL, por exemplo; Eu gosto disso. Orbroker é outra opção.
  3. Se você se sentir confortável com o Maven, use -o, por todos os meios. Pessoalmente, eu prefiro SBT. Recebo todo o poder de uma linguagem de programação real, quando preciso implementar a lógica de construção especial. Tão útil quanto não preciso lidar com os arquivos de configuração XML. (XML é bom para dados, mas é um formato ruim para um arquivo de configuração com edição humana.)
  4. Você pode tentar o envio do banco de dados. Ver Este artigo Para uma boa visão geral.

Outras dicas

  1. Se você só vai começar o desenvolvimento, o Scala 2,8 GA provavelmente estará disponível no momento em que você for a produção. Mesmo que não seja, eu escolheria o pacote de 2.8rc mais fresco em vez de aderir a 2.7.7. 2.8 Não apenas possui vários recursos excelentes, mas também contém muitas correntes 2.7.7.
  2. Não há muitos ORMs prontos para a produção projetados para Scala nos dias de hoje. Eu provavelmente escolheria Elevar persistência, por causa da equipe de profissionais e comunidade amigável por trás da estrutura do elevador. Mas se você não quiser arriscar, considere usar o bom bom Java Orms: Hibernate, JPA, Ibatis (que foi recentemente renomeado para Mybatis), etc.
  3. Você deve experimentar o SBT! É compatível com poms maven, portanto, a migração para o SBT não deve ser muito dolorosa para você. Benefícios do uso do SBT:
    • Ele foi projetado para Scala, para que você seja aliviado com o ônus de manter inúmeros número de plugins para Maven para fazê -lo funcionar com Scala consistentemente
    • Você poderá escrever scripts de construção em Scala (é uma experiência incrível em comparação com XMLs)
    • SBT tem um recurso assassino - contínuo qualquer coisa (Construindo, testando, implantando). O SBT monitora seu código, detecta quando alterado e aciona uma ação (teste, re-implantação etc.).
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top