Je commence un nouveau projet Java qui nécessitera une API RESTful. Ce sera une application professionnelle SaaS destinée aux clients mobiles.
J'ai développé un projet avec Java EE 6, mais je ne suis pas très familier avec l'écosystème, car la plupart de mon expérience concerne la plate-forme Microsoft.
Quel serait un choix judicieux pour une implémentation JAX-RS pour un nouveau projet tel que décrit?
À en juger par la liste de Wikipedia , les principaux concurrents semblent être Jersey, Apache CXF, RESTeasy et Restlet. Mais la comparaison des implémentations JAX-RS citées sur Wikipedia date de 2008.
Mes premières impressions de leurs pages d'accueil respectives sont les suivantes:
- CXF vise à être une solution très complète (me rappelle WCF dans l'espace Microsoft), ce qui me laisse penser qu'il peut être plus complexe à comprendre, à configurer et à déboguer que ce dont j'ai besoin;
- Jersey est l’implémentation de référence et constitue peut-être un bon choix, mais c’est un héritage de Sun et je ne sais pas comment Oracle le traite (la page d’annonces ne fonctionne pas et le dernier avis de validation date de 4 mois);
- RESTeasy vient de JBoss et constitue probablement une option solide, bien que je ne sois pas sûr d'apprendre la courbe;
- Restlet semble être populaire, mais il a beaucoup d’histoire. Je ne sais pas dans quelle mesure il est à jour dans le monde Java EE 6 ou s’il comporte un état d’esprit J2EE lourd (comme beaucoup de configuration XML).
Quels seraient les avantages de chacune de ces alternatives? Qu'en est-il de la courbe d'apprentissage? Support technique? Outils (par exemple, assistants NetBeans ou Eclipse)? Qu'en est-il de la facilité de débogage et du déploiement? Est-ce que l'un de ces projets est plus à jour que les autres? Dans quelle mesure sont-ils stables?