L'épargne comme une API Publique de remplacement pour le REPOS?
J'ai commencé à créer une API pour un nouveau site que je suis en train de travailler sur.
Je voulais à l'origine faire un normal API REST, mais je continue de penser à combien frais d'épargne serait avec la possibilité de compiler plusieurs bibliothèques client en un seul lot.
L'Épargne est une option viable pour une API publique ,les prises et tous, ou devrais-je coller avec le RESTE?
Et si RESTE ce qui serait la meilleure approche pour créer plusieurs bibliothèques client ou serait-je n'ai qu'à descendre et sale et fait écrire?
D'autre si l'Épargne, aurais-je compiler les bibliothèques et en offrant des liens de téléchargement ou de simples donner aux développeurs la .l'épargne fichier à générer leur propre bibliothèque ?
Remarque: C'est toujours un petit site et je voudrais donc créer les Aubaines fichier de Spécification juste pour l'API.
- Cela dépend: qui va se connecter et comment? (Personnellement, j'ai trouvé ProtocolBuffers d'être plus agréable et mieux conçus, même si il n'y a pas de "standard" serveur RPC. Pour les plus sophistiquées RPC il y a des choses comme de la GLACE, mais, encore une fois, qui va se connecter et comment?)
- Donc dans Google Tampons, je voudrais être en mesure de toujours définir les types d'objet, sérialiser et de les envoyer sur http. Un peu comme un remplacement en JSON, mais avec un Type défini qu'un Client Attend? Une expérience avec cela en PHP ?
- Tampons de protocole est une sérialisation binaire protocole, à l'instar de l'Épargne est. (L'épargne est juste un "tout-en-un" package car il inclut également le service de point de fin de mise en œuvre.) Il ya un soutien pour les RPC de points dans ProtocolBuffers, comme prise en charge RPC a été conçu dans, mais il n'y a pas de "standard", le serveur de mise en œuvre. Il y a, toutefois, les projets qui fournissent les RPC points d'extrémité.
- Si vous décidez d'aller avec le RESTE-comme APIs: et souhaitez stub génération, découvrez style, et si vous voulez client générique découvrez HAL et Hypermédia Api en général.
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, le REPOS et l'Épargne sont des pommes et des oranges -- l'ancien est un style général, celui-ci binaire spécifique RPC système.
Mais pour les interfaces publiques, je pense que le REPOS standard en utilisant des formats textuels (JSON ou XML, généralement) plus de sens; comme il est plus facile d'accès à partir de n'importe quelle langue ou de la plate-forme; et bien qu'il existe de l'Épargne des clients sur de nombreuses plate-forme, il est encore plus de travail. Il est également des forces d'accès spécifique de style sur les clients, beaucoup de d'avoir à utiliser des Aubaines de la bibliothèque du client.
Donc, la question serait plutôt qu'est-ce exactement que vous essayez de gagner? Qu'est-ce exactement avez-vous considèrent comme "cool" là? Si vous voulez juste jouer avec les nouvelles technologies, il n'y a rien de mal à cela, mais vous devez d'abord jouer avec elle, puis voir si cela fait sens.
Si votre API est assez simple que vous pouvez exprimer au REPOS, avec des performances acceptables, qu'il serait sans doute préférable de s'en tenir REPOS, car il est généralement plus faible barrière à l'écriture de code client pour l'API REST.
Si, en revanche, RESTE a la complexité ou les problèmes de performance, aller avec l'épargne, ou de quelque chose de plus adapté.
Vous serez dans le même bateau, si le développement de différentes bibliothèques de vous-même. Je pense que le REPOS serait plus facile pour les gens à utiliser même sans la bibliothèque (ou s'ils mettent en œuvre leurs propres). D'autre part, si ce que vous aimez à propos de l'Épargne, c'est qu'il est binaire, json peut être utilisé de la même façon aussi, vérifiez ici pour plus d'infos http://bsonspec.org/
L'un des gros avantage de REPOS, c'est que vous n'avez pas à créer des bibliothèques clientes. Vous pouvez simplement pointer les devs à votre liste de points d'extrémité et ils devraient être en mesure de le comprendre à partir de là. Certains gros mal conçu REPOS de services de fournir au client des bibliothèques de masquer leur laideur, mais si l'API est simple et bien conçu, il ne devrait pas être nécessaire.