Comment construire un client REST frontend pour une API REST backend?
J'ai intégré une API REST backend à l'aide de Django et je suis maintenant à l'étape de la conception d'un client face à frontend. Cependant, je n'arrive pas à comprendre comment ce client frontend doit être structurée et quelles langues il doit utiliser.
PHP côté serveur, et il est généralement utilisé en tant que langue de construction backends. Lorsqu'il est couplé avec un cadre comme Codeigniter, il peut également être utilisé pour jouer avec les sessions, route des Url, et de décider que les modèles à utiliser. Cependant, je ne crois pas qu'il peut être utilisé pour appeler mon API REST pour récupérer des ressources (peut-être faux, corrigez-moi s'il vous plaît si je suis).
Javascript est client en face mais n'est utilisé qu'une seule fois la page a été récupéré depuis le serveur. AngularJS est grand, mais de ce que j'ai lu, il semble qu'elle seule permet d'ajouter très dynamique d'une fonctionnalité déjà rendu des pages statiques.
Je suis vraiment ouvert à toutes les idées, suggestions et conseils en fonction de votre expérience de la création d'interfaces client. Donc, retour à ma question initiale, comment la structure d'un client REST frontend, la langue la mieux adaptée pour atteindre cet objectif, et si de cadres, doit-on considérer?
Mise à jour de 1
Quelqu'un a demandé si le client interface sera exécuté dans un navigateur, la réponse est oui, il le fera. Je suis en train de construire un Twitter-like client web frontend qui interagit avec un Twitter-comme le RESTE de l'API backend. Fondamentalement, tout ce que vous voyez quand vous allez sur Twitter du site.
Vous devez lié le côté client, le problème un peu ici. Êtes-vous à la livraison d'une application dans un navigateur? Ou êtes-vous la construction d'une application native (qui n'est pas exécuté dans un navigateur) et de certains autres environnement d'exécution? Si l'application vit dans un navigateur, puis d'utiliser les appels Ajax à partir du navigateur de parler à votre API REST.
Oui, l'interface sera une application dans un navigateur. Je suis en train de construire un Twitter-like client web frontend qui interagit avec un Twitter-comme le RESTE de l'API backend. Fondamentalement, tout ce que vous voyez quand vous allez sur Twitter du site.
Vous devez avoir la capacité de servir des pages web à partir du back-end. Même si c'est seulement une coquille d'une page, il doit au moins contenir tout le code Javascript côté client de sorte que vous pouvez ensuite utiliser les appels Ajax pour appeler votre API REST, obtient quelques données du back-end, format en HTML, puis l'afficher dans le navigateur. Plus souvent vous servir plus de HTML que le back-end et ensuite utiliser côté client JS pour aller chercher les mises à jour et de répondre aux actions de l'utilisateur. Maintenant, je crains que votre question est une façon, de manière trop large pour StackOverflow. On dirait que vous vous demandez comment construire un site web.
OriginalL'auteur heapoverflow | 2015-02-22
Vous devez vous connecter pour publier un commentaire.
RESTE vraiment, vraiment n'est pas nouveau. Il a été une partie de HTTP au moins aussi loin que de HTTP 1.1
Jetez un oeil à cette question: Backbone.js interface RESTful Rails backend? la réponse sommet des listes de 20 cadres possibles pour la construction d'un front-end.
OriginalL'auteur Andy Preston
Puisque c'est un navigateur frontend, j'irais avec HTML/JavaScript. Pas besoin de PHP ou de tout serveur côté de la langue à mon humble avis. Cela a l'avantage d'être extrêmement portable.
Je voudrais aussi utiliser un JS cadre pour que la fin ( la tendance de nos jours semble être angulaire).
OriginalL'auteur Tivie
Merci pour votre aide, tout le monde. Trouvé exactement ce que je cherchais ici:
http://docs.python-requests.org/en/latest/
Une jolie petite bibliothèque Python qui me permet en gros de faire des appels à un REPOS backend de l'intérieur d'une application Django, qui sert de mon frontend.
AngularJS seront également utilisés pour les pages statiques que Django est de retour plus dynamique. Pourquoi? Parce que AngularJS par lui-même peut être la solution complète seulement si l'ensemble de votre site est constitué d'une page. Si vous avez plusieurs pages où chacun a son propre ensemble d'éléments dynamiques, vous avez besoin d'une combinaison de Django et AngularJS.
Apparemment RESTE est encore assez nouveau et il semble que il n'y a pas beaucoup de gens qui ont trébuché sur cette question fondamentale que je me dois.
Une fois de plus, merci!
OriginalL'auteur heapoverflow