28-12-2011, 08:34 AM
(Modification du message : 28-12-2011, 08:35 AM par Sephi-Chan.)
Hello,
Effectivement, la récupération régulière d'information — aussi appelée polling — est une technique fonctionnelle, mais plutôt inefficace. En effet, on y gâche énormément de ressources.
Une technique plus efficace consiste à envoyer des données du serveur vers les clients pour les informer d'un changement, c'est ce qu'on appelle le push. L'utilisation de Websocket fait effectivement partie de cette catégorie.
Contrairement à ce que tu crois, les Websocket sont déjà très répandus, puisque très bien supporté par Chrome et Firefox (et bientôt IE10), avec un support correct de Safari et Opera. On a donc déjà un taux de support conséquent.
De nombreuses librairies Javascript permettent d'abstraire le mécanisme de réception des données de façon à utiliser différents protocoles, selon ce que supporte le navigateur client. Parmi ces techniques.
Depuis quelques années, le push se démocratise. Plusieurs services tiers te permettent d'en faire à moindre frais (souvent rien du tout pour des apps en développement ou petites).
Après, le must est encore d'avoir un serveur dédié et d'y installer un serveur de push.
La plupart sont bâties sur un serveur Node (donc du Javascript server side) et un client (souvent basé sur Socket.IO). Ils sont généralement accessibles via une API. En ce qui me concerne, c'est Juggernaut.
Effectivement, la récupération régulière d'information — aussi appelée polling — est une technique fonctionnelle, mais plutôt inefficace. En effet, on y gâche énormément de ressources.
Une technique plus efficace consiste à envoyer des données du serveur vers les clients pour les informer d'un changement, c'est ce qu'on appelle le push. L'utilisation de Websocket fait effectivement partie de cette catégorie.
Contrairement à ce que tu crois, les Websocket sont déjà très répandus, puisque très bien supporté par Chrome et Firefox (et bientôt IE10), avec un support correct de Safari et Opera. On a donc déjà un taux de support conséquent.
De nombreuses librairies Javascript permettent d'abstraire le mécanisme de réception des données de façon à utiliser différents protocoles, selon ce que supporte le navigateur client. Parmi ces techniques.
- WebSocket, la meilleure technique.
- Adobe Flash Socket, qui passe par Flash.
- XHR long-polling, de l'Ajax tout simple, qui marche partout.
- Server-Sent Events, notamment utilisé par Opera.
- ActiveX HTMLFile, pour les vieilles version d'IE.
Depuis quelques années, le push se démocratise. Plusieurs services tiers te permettent d'en faire à moindre frais (souvent rien du tout pour des apps en développement ou petites).
- PubNub
- BeaconPush
- Pusher
- Etc.
Après, le must est encore d'avoir un serveur dédié et d'y installer un serveur de push.
- Juggernaut
- SocketIO
- Faye
- Etc.
La plupart sont bâties sur un serveur Node (donc du Javascript server side) et un client (souvent basé sur Socket.IO). Ils sont généralement accessibles via une API. En ce qui me concerne, c'est Juggernaut.