Je sais que cette question est trop vaste pour être traitée avec un simple "utiliser ce cadre", mais j'apprécierais vraiment vos conseils à ce sujet.Comment choisir le cadre RESTful parfait?
Je cherche à faire un projet (plutôt complexe) que de lancer une API. Je suis ouvert à tout langage de programmation (PHP, Python, Java principalement) et j'ai trouvé de nombreux frameworks plus orientés pour faire un serveur web RESTful. La seule contrainte majeure que j'ai est que j'aurais un paquet indépendant réutilisable, simple et non-code-spaghetti afin d'améliorer mon API facilement plus tard ou même passer à un autre framework sans douleur.
Pour Python & Java, j'ai pensé à faire un paquet dédié. Chaque action appelle la méthode dédiée dans le package, le paquet renvoie object/dict et l'action le transforme au format approprié.
Après de nombreuses recherches, je hésite entre deux cadre qui pourrait être bon pour mon travail, mais je besoin de vos conseils parce que je ne voudrais pas faire des erreurs ici.
- Play! Framework (Java)
- Pros:
- Router sont orientées RESTFul (vous définissez la méthode (GET, POST, etc.), la demande et la class.method à utiliser)
- Vous ne devez pas faire une classe par l'action
- Contre:
- Le modèle est déjà inclus. Si je change plus tard le cadre, peut-être je serai coincé avec (mais apparemment pas depuis que Play! Semble utiliser JPA)
- Peut-être le fait que si je veux envoyer des paramètres à l'action qui serait définie dans la signature de la méthode , je dois adopter les ClassName.properties au lieu d'un JSON comme {ClassName: {propriétés: 'valeur'}}
- Pros:
- Tornado Web (Python)
- Plus:
- Semble être très puissant: utilisé par FriendFeed (au moins)!
- Auth via majeur OpenId, OAuth et Facebook déjà mis en œuvre
- Très léger (peut-être un problème)
- Moins:
- Pas si populaire: vous comprenez mieux le travail en allant Dans le code que le doc
- Urls semble être très basique (Autant que je l'ai vu, vous devez définir toutes les URL dans un fichier, avec toute la classe incluse)
- une classe par l'action (qui pourrait être lourd)
- Décorateurs pour la base (tests si l'utilisateur est auth, etc.) doit être
- Plus:
Pour les utiliser dans la production, il serait être facilement possible avec apache & mod_proxy ou nginx. Donc, mes questions sont assez simples: que choisiriez-vous (entre ces deux ou d'autres, je ne suis pas fermé aux suggestions) et pourquoi?
Merci beaucoup pour vos conseils!
Whoa! C'est une réponse très complète! J'apprécie vraiment le temps que tu as pris pour me répondre! Je vais jeter un coup d'oeil à Restlet :) Merci beaucoup! –
@ cx42net: mon plaisir! S'il vous plaît laissez-nous savoir ce que vous pensez! (BTW si vous aimez ma réponse, vous devriez voter.) –
Je voudrais voter (j'ai essayé dès que je l'ai lu) mais mon profil bas ne me permet pas de le faire :( –