2010-10-13 4 views
1

Je naviguais SO depuis quelques heures ce soir à la recherche de réponses, mais je n'ai rien trouvé qui répond vraiment à ce que je cherche. Mes excuses si, en fait, il a déjà été répondu.PHP Web Design: Utilisation de Smarty vs Rest nourrit avec jQuery

Je suis en train de concevoir un nouveau site web et j'essaie de décider de l'architecture à utiliser pour servir le contenu. Par le passé, mes sites Web utilisaient des données d'alimentation PHP dans des modèles Smarty. Cependant, récemment, j'ai travaillé sur une application web Java où jQuery a été utilisé pour récupérer les données d'une API RESTful (qui renvoyait JSON), où des pages HTML ont été utilisées comme base et javascript a été utilisé (en utilisant jQuery) pour remplir le contenu.

Ma question:

Le site que je suis la conception sera en PHP, mais serait-il préférable de construire (ou utiliser un existant) API RESTful ou de continuer comme je l'ai fait avant de nourrir les données dans les modèles Smarty?

Y a-t-il de réels avantages pour l'un ou pour l'autre, ou s'agit-il simplement d'une préférence/expérience de développeur? Si cela aide, le site Web sera pour une église, où les types de contenu seront de type CMS; nouvelles/annonces, pages de type wiki, et un type limité de réseau social (pour le ministre de communiquer avec les paroissiens).

Répondre

1

Réponse courte: Il semble que remplir le contenu avec JavaScript ne serait pas utile dans votre cas. Chargement des données avec JavaScript ajoute une couche de complexité avec un minimum ou aucun avantage (dans votre cas). Jetez un coup d'oeil aux CMS et aux sites Web qui ont des fonctionnalités similaires à ce que vous faites. WordPress, Drupal, etc

Pour un exemple de quand il peut être utile de charger des données avec JavaScript, consultez la section des balises sur ce site. Lorsque vous recherchez un tag, il interroge le serveur sans recharger la page. Cependant, la liste de balises initiale est chargée pendant le chargement de la page initiale sans JS.

Voici quelques cas où vous pourriez bénéficier d'informations avec chargement JS:

  • Il y a certaines données qui prendra plus de temps à charger. Par exemple, vous obtenez des données d'un service Web. En utilisant la méthode traditionnelle, vous aurez besoin de toutes les données dont vous avez besoin pour que la page soit disponible avant qu'elle puisse être affichée. Si vous avez chargé ces données avec JavaScript, la page pourrait charger et les données lentes apparaîtraient quand elle reviendrait. De façon réaliste, vous mettriez probablement juste en cache les données, mais ce n'est qu'un exemple.
  • Vous obtiendrez plus de données que l'utilisateur reste sur la page. Vous voudrez peut-être mettre à jour la page sans la rafraîchir.
  • Vous souhaitez que l'utilisateur puisse interroger plus de données sans actualiser la page.
  • Vos utilisateurs ont une bande passante limitée (mobile).
  • Ce site a plus de lignes directrices: http://www.oracle.com/technetwork/articles/javase/index-137171.html
+0

Merci pour votre réponse. Il semble que la fonctionnalité RESTful serait mieux adaptée en tant que fonctionnalité supplémentaire, en aidant à l'interface utilisateur et l'assistance à la navigation, plutôt que la livraison de contenu principal? – Cyntech

+0

Ouais, c'est mon opinion sur le sujet pour la majorité des sites web. Chaque application est différente cependant. Gmail est un exemple d'application Web qui charge à peu près tout le contenu via Ajax. – Uriah