curl https://install.meteor.com | sh
Anthonny Quérouil
Je suis développeur indépendant et j’interviens sur des problématiques back-end et front-end en utilisant notamment Java et Javascript.
Je contribue à plusieurs projets open-source autour de l’outil Asciidoctor, et je développe HubPress, un outil de blogging basé sur GitHub Pages.
Vous présenter Meteor
Développer une appli
Avoir du feedback
Meteor is an ultra-simple environment for building modern websites. What once took weeks, even with the best tools, now takes hours with Meteor.
Node v0.10.35
NPM v2.9.0
Mongo v2.6.7
Librairies JavaScript (jquery, underscore, …)
Le TOUT packagé dans UN environnement : Meteor
Plus d’échange de fichier HTML après le premier appel
Utilisation du protocol DDP
Echange de EJSON sur WebSocket
Le serveur informe le client des changements
Des Methods : Remote Procedure Calls (RPC) fait par le client au serveur
JavaScript pour travailler coté serveur et client
Partage de code entre le client et le serveur
Possibilité d’utiliser d’autres langages, notamment CoffeeScript
MongoDB côté serveur
MiniMongo côté client
Une API partagée par le client et le serveur
Synchronisation entre les deux
Les données sont préfetchées coté client,
Une sensation d’hyper réactivité
Rollback côté client en cas d’erreurs survenues sur le serveur
Meteor est basé sur la réactivité,
Les templates, les collections, les sessions .. tout est updaté au besoin
Le client est mis à jour systématiquement pour chaque changements côté serveur
Meteor est opensource (MIT)
Atmosphere propose près de 7987 packages
Vous pouvez facilement wrapper vos modules NodeJS
Installation simple,
Pas de changements de contexte,
Développement efficace, des outils et des modules pour tout les besoins
curl https://install.meteor.com | sh
meteor create jsc
cd jsc
meteor
// Côté serveur
Meteor.method({
"myMethod": function() {
console.log('test');
}
});
// Côté client
Meteor.call("myMethod", function (error) {
if (error)
throw new Meteor.Error("myMethod error")
});
Enlevez les paquets autopublish et insecure
En entrée des methods, checkez vos paramètres
Meteor.methods({
myMethod: function (userId) {
check(userId, String);
...
});
Velocity
Tests unitaires avec Mocha, Jasmine…
Tests fonctionnels notamment Cucumber
Divers reporters
Sur la plateforme Meteor pour du test
Sur vos serveurs avec la commande de bundle
Dans le cloud via Galaxy, DigitalOcean, Scalingo ou CleverCloud