Question

Je fais ma première incursion dans scala pour une application de production. L'application est actuellement emballé comme un fichier de guerre. Mon plan est de créer un fichier jar des objets compilés scala et ajouter que dans le dossier lib pour le fichier de guerre. Mon amélioration est une application soutenue mysql exposée via Jersey et sera intégré à un site 3ème partie via HttpClient invocations. Je sais comment faire via java simple. Mais quand il fait SCALA, il y a plusieurs points de décision que je Pussyfooting sur.

  1. scala 2.7.7 ou 2.8 RC?
  2. plaintif Est-ce API prêt pour la production?
  3. SBT vs Maven. Je suis à l'aise avec Maven.
  4. Yat-il un scala emballage idiomatiques pour HttpClient (ou devrais-je l'utiliser comme en java)?

J'aimerais entendre vos commentaires et expériences sur le démarrage avec scala.

Était-ce utile?

La solution

  1. J'utiliser 2.8.0. Il y a trop de fonctionnalités utiles à 2,8. En outre, 2,8 se referme sur une version finale. Si vous êtes débutant, pourquoi ne pas commencer avec ça? FWIW, je me sers depuis 2.8.0 Beta1, dans divers outils et bibliothèques que j'utilise tous les jours. Bien qu'il y ait eu des bugs, ils n'ont pas été assez pour me faire revenir à 2.7.7. YMMV, cependant.
  2. Ce ne va pas prendre votre décision plus facile, mais il existe d'autres possibilités d'accès aux bases de données. Je me sers SQueryL , par exemple; Je l'aime. ORBroker est une autre option.
  3. Si vous êtes à l'aise avec Maven, utilisez-le, par tous les moyens. Personnellement, je préfère SBT. Je reçois toute la puissance d'un vrai langage de programmation, quand j'ai besoin de mettre en œuvre la logique de construction spéciale. Tout aussi utile, je n'ai pas à traiter les fichiers de configuration XML. (XML est bon pour les données, mais il est un format merdique pour un fichier de configuration modifié humain.)
  4. Vous pouvez essayer DataBinder Dispatch. Voir cet article pour une belle vue d'ensemble.

Autres conseils

  1. Si vous allez seulement pour commencer le développement, Scala 2.8 GA sera probablement disponible au moment où vous allez la production. Même si ce n'est pas, je choisirais la plus fraîche pack 2.8RC plutôt que de coller à 2.7.7. 2.8 n'a pas seulement un certain nombre de fonctionnalités, mais contient aussi beaucoup de 2.7.7 bugfixes.
  2. Il ne sont pas trop nombreux ORM prêtes pour la production conçus pour Scala ces jours-ci. Je choisirais probablement Lift persistance , car de l'équipe de professionnels et de la communauté amicale derrière cadre Lift. Mais si vous ne voulez pas le risque, vous devriez envisager d'utiliser bon vieux prouvé Java ORM: Hibernate, JPA, iBatis (qui a été récemment renommé mybatis), etc.
  3. Vous devriez donner SBT essayer! Il est compatible avec POMs Maven, si la migration vers SBT ne devrait pas être trop pénible pour vous. Avantages de l'utilisation SBT:
    • Il est conçu pour Scala, vous serez soulagé de la charge de maintenir un nombre incalculable de plugins pour Maven pour le faire fonctionner avec Scala toujours
    • Vous pourrez construire des scripts d'écriture à Scala (c'est une expérience incroyable par rapport à XMLs)
    • SBT a une fonction killer - continue quel que soit (bâtiment, test, déploiement ). SBT surveille votre code, détecte son changement, et déclenche une action (test, redéploiement, etc.).
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top