19-11-2014, 09:59 PM
(Modification du message : 05-05-2016, 11:44 AM par Thêta Tau Tau.)
Meteor est un framework javascript haut niveau basé sur node, sorti en version 1.0 très récemment (28 octobre). Étant à ce moment là justement entrain de faire le tour des frameworks node j'ai essayé, et franchement, même si je manque encore de recul, je le trouve assez génial.
Pour expliquer rapidement ce que ça fait :
- La même API sert pour le client et pour le serveur.
- L'application tient sur une seule page web dynamique (il y a des packages "router" pour changer ça).
- Base de donnée côté client, synchronisée en temps réél avec le serveur. En gros, quand un visiteur fait une action, sa base de donnée client est mise à jour immédiatement (il voit les résultats sans avoir à attendre le serveur), puis la base de donnée est modifiée côté serveur (après validation). Et enfin les autres clients sont actualisés. Pour les jeux web, pouvoir faire ça de manière extrêmement simple, je trouve que c'est très puissant.
- Moteur de template côté client (quand la base de donnée côté client est actualisée, la page est aussi actualisée).
- Des packages installés en une ligne de commande pour tous les trucs classiques. Par exemple pour un système d'inscription/connexion/déconnexion/récupération du mot de passe, il faut 0 lignes de code, juste une ligne de commande pour installer le package et une balise à ajoutter dans le template. En dehors des package natifs, il existe un dépôt : atmospherejs.com.
- On peut héberger gratuitement des (petites) applications sur les serveurs de meteor.com.
- Compatible tablette et smartphone.
- Et surement des trucs que j'oublie.
Par contre, pour citer quelques points faibles :
-Impossible de développer sous windows, pour l'instant (mais installer une machine virtuelle c'est pas la mort). EDIT : maintenant on peux
-On ne peut pas utiliser d'autres bases de données que MongoDB, pour l'instant. EDIT : maintenant on peux mais si on utilise un autre sgbdd meteor perd beaucoup de son intérêt.
-Pas de rendu des templates côté serveur, donc si javascript est désactivé, impossible de générer une page web "classique", donc côté client c'est la page blanche. Ça pose surtout problème avec les moteurs de recherche. Mais il existe des packages pour régler ce problème.
Sinon je conseille ce livre (gratuit) pour commencer, il est vraiment très facile à suivre.
Je pense que la synchronisation clients/serveur "transparente" a beaucoup de potentiel dans les jeux web. Ça facilite vraiment le développement d'un jeu de carte, ou de combats à la FF, par exemple. Pour les autres jeux, ça reste très utile, par exemple dans un ogame-like on serait prévenu en temps réel qu'on se fait attaquer. Et pour faire ça il n'y a rien à coder, le framework gère tout de manière transparente.
D'ailleurs j'ai trouvé un jeu web utilisant meteor, si vous voulez voir ce que ça pourrait donner.
En tout cas j'ai vraiment été séduit, ça me remotive pour me mettre enfin sérieusement à mon projet.
Et vous, qu'en pensez vous?
Avez vous déjà utilisé meteor? Comptez vous essayer?
Pour expliquer rapidement ce que ça fait :
- La même API sert pour le client et pour le serveur.
- L'application tient sur une seule page web dynamique (il y a des packages "router" pour changer ça).
- Base de donnée côté client, synchronisée en temps réél avec le serveur. En gros, quand un visiteur fait une action, sa base de donnée client est mise à jour immédiatement (il voit les résultats sans avoir à attendre le serveur), puis la base de donnée est modifiée côté serveur (après validation). Et enfin les autres clients sont actualisés. Pour les jeux web, pouvoir faire ça de manière extrêmement simple, je trouve que c'est très puissant.
- Moteur de template côté client (quand la base de donnée côté client est actualisée, la page est aussi actualisée).
- Des packages installés en une ligne de commande pour tous les trucs classiques. Par exemple pour un système d'inscription/connexion/déconnexion/récupération du mot de passe, il faut 0 lignes de code, juste une ligne de commande pour installer le package et une balise à ajoutter dans le template. En dehors des package natifs, il existe un dépôt : atmospherejs.com.
- On peut héberger gratuitement des (petites) applications sur les serveurs de meteor.com.
- Compatible tablette et smartphone.
- Et surement des trucs que j'oublie.
Par contre, pour citer quelques points faibles :
-Impossible de développer sous windows, pour l'instant (mais installer une machine virtuelle c'est pas la mort). EDIT : maintenant on peux
-On ne peut pas utiliser d'autres bases de données que MongoDB, pour l'instant. EDIT : maintenant on peux mais si on utilise un autre sgbdd meteor perd beaucoup de son intérêt.
-Pas de rendu des templates côté serveur, donc si javascript est désactivé, impossible de générer une page web "classique", donc côté client c'est la page blanche. Ça pose surtout problème avec les moteurs de recherche. Mais il existe des packages pour régler ce problème.
Sinon je conseille ce livre (gratuit) pour commencer, il est vraiment très facile à suivre.
Je pense que la synchronisation clients/serveur "transparente" a beaucoup de potentiel dans les jeux web. Ça facilite vraiment le développement d'un jeu de carte, ou de combats à la FF, par exemple. Pour les autres jeux, ça reste très utile, par exemple dans un ogame-like on serait prévenu en temps réel qu'on se fait attaquer. Et pour faire ça il n'y a rien à coder, le framework gère tout de manière transparente.
D'ailleurs j'ai trouvé un jeu web utilisant meteor, si vous voulez voir ce que ça pourrait donner.
En tout cas j'ai vraiment été séduit, ça me remotive pour me mettre enfin sérieusement à mon projet.
Et vous, qu'en pensez vous?
Avez vous déjà utilisé meteor? Comptez vous essayer?