Le choix d'un Scala framework web

Je suis sur le point de commencer un projet pour une application web qui doit s'exécuter sur un serveur Tomcat. J'ai décidé d'aller pour Scala - l'autre alternative où je travail Groovy - essentiellement pour le type de sécurité. Je suis maintenant confronté à la tâche de choisir les bons outils pour le travail.

Le projet, j'ai besoin de développer des seront accessibles que via une API JSON. Il va interagir à la fois avec sa propre base de données et avec deux services externes, qui exposent respectivement un JSON et XML API. J'aurai aussi besoin d'être en mesure de planifier périodique des emplois où ma demande d'exécuter diverses synchronisation des tâches avec ces services externes.

Pour la base de données, je voudrais être en mesure de définir mes modèles de Scala et de générer automatiquement le schéma. Si le besoin de changer mes modèles, je voudrais avoir les migrations de le gérer.

Pour cette application, je suis en train d'évaluer Ascenseur, Jouer! 2 et Scalatra.

  • Ascenseur était mon premier choix. Il est le plus mature des trois projets, et semble être considérée comme hautement sécurisé (je ne veux pas faire de compromis sur la sécurité). En outre, il dispose ce qui semble être le meilleur JSON de la manipulation de la bibliothèque en Scala. Encore, après avoir tenté sa chance un peu avec elle, je ne suis pas sûr que ce serait le bon choix. La documentation n'est pas exactement le meilleur que j'ai vu. En outre, Record de + Squeryl me semble une meilleure abstraction que Mappeur, mais la documentation pour cet usage est encore plus rare. Enfin, bien que l'Ascenseur peut certainement être utilisé pour créer un service web, il semble que sa vraie force réside dans l'état de la manipulation, et donc je ne suis pas convaincu que la complexité supplémentaire est nécessaire pour mon projet.

  • Jouer! 2 semble avoir une meilleure documentation, et semble plus familier pour moi (je viens d'un Django d'arrière-plan). Encore une fois, par défaut d'abstraction de base de données n'a pas vraiment d'apaiser moi: ANORM s'appuie sur SQL, ce qui n'aide pas à la vérification de type. Je dois utiliser Squeryl de toute façon, et je ne suis pas sûr de savoir si la documentation pour ce cas d'utilisation est aussi bon. En outre, le déploiement de Jouer! 2 applications est à l'heure actuelle moer compliqué que je le voudrais. On a plus qu'à installer le Jeu! sur le serveur de production, et je ne suis pas sûr que ce est une option où je travaille. Sinon, il existe un plugin pour le faire fonctionner avec des conteneurs de servlets, mais il est très nouveau et je ne suis pas sûr de la façon stable/fiable il est.

  • Enfin, il y a la possibilité d'utiliser Scalatra. Scalatra semble très facile à mettre en place, et il est conçu exactement pour créer des services web. Le compromis est que Scalatra n'offre pas beaucoup de fonctionnalités. Il n'a pas d'intégrer avec existant Orm ou suggérer comment organiser le modèle de la partie de l'application, et il n'est pas utile dans la conception de cron ou de tâches en ligne de commande. Je suis également pas sûr de l'avenir à long terme du projet.

Que pensez-vous serait le meilleur choix pour ma tâche?

  • S'il vous plaît, expliquer le vote de fermer avec un commentaire, pour que je puisse améliorer ma question.
  • Je vais essayer de le deviner: c'est parce que ce genre de questions (ici X,Y,Z -- quel est le meilleur?) sans dur paramètres tend à donner opionated et subjective des réponses. Autant que je sache, tous les cadres de travail que vous avez énumérés, s'adapte à des pourparlers en JSON, auto schéma de base de données. Ou peut-être il ya une autre raison.
  • Eh bien, j'ai pensé que j'ai donné à certains paramètres: une bonne documentation, seulement besoin d'interface de service web, doit être en mesure de planifier des tâches, doit pouvoir être déployé de manière fiable sur Tomcat, poignées schéma des migrations.
  • C'est un peu ennuyeux d'avoir la question fermée, sans aucun commentaire, que ce soit sur la façon de l'améliorer, et plus encore au cours de l'Été de l'Amour :-/ blog.stackoverflow.com/2012/07/kicking-off-the-summer-of-love
InformationsquelleAutor Andrea | 2012-08-01