2016-02-09 2 views
4

Question simple - Comment les histoires de Snapchat se chargent-elles si vite, et même quand je "saute" un article, le suivant est toujours prêt? Snapchat stories est un mélange d'images et de vidéos, chaque fois que l'on appuie sur l'écran, l'élément suivant démarre instantanément, qu'il s'agisse d'une image ou d'une vidéo. Je n'ai jamais vu de retard dans l'application, et je me demandaisApp/Backend-Architecture: Comment les histoires Snapchat se chargent-elles si vite?

Comment font-ils? Est-ce qu'ils mettent en cache tout le contenu une fois que l'application est démarrée (hautement improbable)? Est-ce qu'ils préchargent continuellement les articles à venir pendant que vous regardez une histoire? Est-ce qu'ils chargent tout quand j'appuie sur l'histoire? Je ne comprends pas la "magie" derrière le flot sans faille du contenu. Aussi: Que fournit le backend? Une liste de ressources?

Est-ce que quelqu'un sait comment ils le font? D'autres applications comme Yeti ou Fleek font à peu près la même chose, exécutées de la même manière sans faille. Je suis un développeur iOS assez correct, mais je n'ai aucune idée de la méthode utilisée ici.

+0

https://www.quora.com/What-is-la-Architecture-Behind-Snapchat – Vizllx

Répondre

1

Le cas d'utilisation permet la préparation de l'arrière-plan du côté de l'application et la mise en cache à l'arrière-plan.

Alors, comment je ferais quelque chose comme ceci:

  • Lorsque l'application est mise au point, ont un fil de fond trouver des liens vers les histoires qui viennent juste après. Aussi, si vous arrivez à la fin du contenu en cache, regardez en avant un peu plus. Peut-être avoir une sorte d'animation visuelle afin que les gens ne peuvent pas feuilleter jusqu'à la fin sans donner à l'application une chance de charger des données.
  • Puisque vous savez ce qui vient après, le back-end peut déplacer tout le contenu dans le cache, où il se sentira bien et accrocheur. Le fait que SnapChat ne soit pas censé être persistant aide beaucoup, car une fois que les destinataires ont vu les choses, vous pouvez les retirer du cache. De plus, étant donné que les destinataires ne modifient pas les informations, vous n'avez pas de problème de cohérence de cache (en réalité, pouvez-vous modifier des éléments? N'avez pas regardé depuis un moment).