Pimp My Code
Give your code that special "pimp"
5 frameworks js pour des données live
Categories: Developpement

Un post rapide, en forme de mémo à moi même, pour faire un petit tour d’horizon des solutions d’accès à des données live en Javascript.

Dans la lignée de Firebase, il existe plusieurs frameworks javascript qui exploitent les websockets ou le polling pour rendre totalement transparente la connexion à des jeux de données, même live.

Les avantages sont certains : abstraction, réactivité, souplesse dans les évolutions vu le découplage data/applicatif, et enfin, la possibilité de développer des applis web directement dans le navigateur, juste avec du html et du js, sans dev coté serveur.

Le service qui fournit les données est en général une API rest, généré de manière automatique.
La même API peut donc aussi servir pour des applications mobiles ou l’intégration dans des process plus complexes.

Je passe rapidement sur le cas Firebase, qui bien que performant et mature, n’est pas assez “gratuit” à mon gout. (on peut jouer avec un compte développeur, mais pour des utilisations réelles, ça douille très vite.
J’ai donc recherché les solutions open source, les voici en vrac.
Je suis preneur de tout retour d’expérience sur l’une ou l’autre de ces solutions.

Firehose

Firehose est un gem ruby qui s’installe en une ligne (le stockage se fait sur un serveur redis, rien de bien lourd)
Firehose expose une API RESTfull, et s’intègre avec des frameworks JS comme Backbone.js et Ember.js

En quelques lignes, on s’abonne à un flux temps réel, sans avoir à gérer la mécanique sous jacente ni le protocole.

PouchDB

Un framework qui permet de parler à un serveur couchDB depuis son code JS.
Idem, un js à inclure, et en quelques lignes on se connecte à des datas live.

Deployd

Deployd est un framework pour publier rapidement une API RESTfull, via un dashboard web local.
Coté serveur, il est basé sur Node.js et MongoDB.
Coté appli , un js à intégrer et ça roule.

RemoteStorage.io

Un protocole ouvert, compatible avec plusieurs technologies.
A voir comme un “backend as a service”, pour synchroniser les datas de vos users même en multiplateforme.
Coté serveur, il existe notamment une implémentation node.js, qui utilise Redis et le système de fichier comme stockage; une implémentation php, une Ruby/PostgreSQL…

Meteor

Meteor est un framework plus complexe, basé sur node.js coté serveur.
Le code client comme serveur est en JS.
Les appels API sont les mêmes que l’ont soit coté serveur ou client, et le tout est réactif au maximum.

J’en ai forcément oublié; j’ai essayé de regrouper les plus en vogue actuellement, et encore développés.
Si vous en utilisez un non cité ici, indiquez le que je l’ajoute à la liste.

Tweeter
Partager sur Facebook

Tags:,

Leave a Reply