2008-11-18 9 views
0

J'ai un service Web côté serveur qui sert plusieurs clients. Les clients comprennent les navigateurs Web, iPhone, BlackBerry, Android, etc Ma question est, je dois être en mesure de générer du contenu dynamique pour les vues à ces clients. Qu'il s'agisse d'un modèle HTML complet, d'un extrait de code HTML, de JSON, de XML, etc. En fonction de l'agent utilisateur du client demandeur, un autre modèle de «vue» est généré et craché par le serveur Web. Ma question est la suivante: y a-t-il d'élégants frameworks ou styles de visualisation qui simplifient la gestion de tous ces snippets/fragments/templates complets de façon ordonnée? Je cherchais un moyen élégant de gérer cette myriade de gestion des clients, avec une maintenance simple et une procédure de transfert simple vers les développeurs de l'interface utilisateur.Gestion des vues/modèles de service Web pour plusieurs clients

Répondre

-2

Tout d'abord, vous ne devez pas renvoyer le code HTML par un service Web. À mon humble avis un webservice devrait retourner le formulaire générique/client indépendant. Je suggère d'utiliser une simple page Web ASPX qui obtient un tas de transformations de mise en page XSL pour certains clients. Faites en sorte qu'il soit personnalisable et que vous n'ayez pas à toucher au code pendant longtemps, même si de nouveaux clients arrivent ou que votre visualisation change.

+0

Html est un type de média parfaitement valide pour revenir d'une interface REST. Les microformats sont un excellent exemple d'utilisation de Html pour fournir des informations lisibles par une machine. –

+0

Darrel: Vous avez peut-être raison, si vous utilisez seulement les navigateurs de serveurs. Mais la question énonce plusieurs clients - parmi eux des navigateurs. XML est un format indépendant client et plate-forme pour ces seules fins. Pas besoin de forcer les autres clients à utiliser un format convivial pour les données. (Bien que ce soit possible, mais ce n'est pas le point.) Il y a de l'information dans XML et XSLT. – MrFox

1

Ce dont vous avez besoin, c'est d'une séparation claire entre le modèle et la présentation. Si vous écrivez un certain nombre de composants génériques qui extraient des données de manière agnostique (le modèle), vous pouvez alors avoir un certain nombre d'adaptateurs, qui rendent la sortie pour chaque cible spécifique (les vues). Il y a des cadres autour de cela qui relient tout cela dans un gros paquet; Ils sont généralement étiquetés comme suit: MVC-framework s. Mais vous n'en avez pas vraiment besoin, si ce n'est pas à votre goût. Pour la plupart des types de sortie, vous pouvez utiliser un moteur de modèle pour vous aider à écrire les vues. Pour les choses qui sont plus de données - moins de présentation - telles que JSON ou XML et la sortie générale qui est pour la consommation de la machine, vous utiliserez probablement quelque chose d'autre pour générer la sortie.

+0

J'aime Codeigniter et CakePHP. MVC est le chemin à parcourir. – Abinadi

0

Je pense que vous cherchez un moteur de template. J'utilise Smarty depuis un bon moment et je l'aime vraiment. Cela crée une séparation entre la logique et le design des pages. Tout ce que vous devez faire est de charger le fichier de modèle pour l'agent utilisateur qui a fait la demande. Le reste de la logique resterait le même.

http://www.smarty.net/

Questions connexes