Bon bah appelle moi Thor le Viking alors car c'est ce que je fais.
Par expérience, le fait de charger un layout est plus simple que de récupérer les informations en JSON et de tout parser ensuite. Cela permet une meilleur réusabilité du code au niveau de la vue et du modèle. Par ailleurs si tu charges les informations en JSON, cela te fait coder une vue quand JS est activé et une vue sans JS d'où duplicata de code.
J'aime bien avoir une compatibilité sans JS au cas où et du coup je code d'abord tout mon système sans JS. Ensuite, on se rend compte que pour faire un système AJAX, il suffit juste de faire les bons $.GET() quand il le faut.
JSON
- moins d'informations à transiter entre le client/serveur
- plus complexe à coder / débugguer
- duplicata code JS et code sans JS
- pas modulable pour des modifications futures
- pas modulable pour un autre système (imaginons que l'on veuille faire un système de tags chargé par JS, le code sera soit inutilisable, soit très lourd)
+/- calcul effectué par le client (des fois c'est bien, d'autres fois non, ça dépend de l'application)
VUE
- pas optimale en terme de taille d'informations
- très réutilisable
- code unifié JS et sans JS
- simple à maintenir
- peu de code JS au final
Du coup, à moins que tu veuillez charger un nombre incalculables de commentaires d'un seul coup, où que tu as une base de données incommensurable, je te conseille de coder par la vue.