Lorsque tu tapes n'importe quelle url de ton site, tu va chercher à lancer une action d'un de tes Controller, ext http://www.monsite.com/posts/show/1, tu vas lancer l'action show($id) de PostsController.
Lorsque tu tapes cette adresse sur un navigateur, tu souhaites que l'action te renvoie une page web, et donc du code HTML, d'ou le $this->set().
Lorsque tu tapes cette adresse depuis un mobile, tu veux simplement obtenir les mêmes informations mais dans un format différent. Ce ne sera pas de l'HTML mais du JSON (ou du XML). Voici la seule différence entre le client léger (navigateur) et le client lourd (application mobile). L'affichage des informations dans ton application mobile se fera avec le code relatif à ton application.
Est ce que c'est plus clair ou il y a encore des zones d'ombre ?