• 10 heures
  • Difficile

Qu'est-ce que Meteor ?

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Il était une fois Node.js...

Si vous êtes ici, c'est que vous avez très certainement déjà utilisé Node.js, voire que vous avez déjà roulé votre bosse avec ce petit trésor issu du moteur V8 de Google Chrome...

Si ce n'est pas le cas, filez vite voir le cours de Mathieu Nebra, vous avez loupé une étape importante avant de venir ici !

Node.js a fait pas mal d'émules depuis sa sortie, si bien qu'elle divise : soit les développeurs la détestent, soit il la trouvent géniale. Toujours est-il qu'elle a rassemblé une solide communauté, à l'instar du langage JavaScript sur lequel elle se base. Que les développeurs la voient comme un flop en puissance ou l'avenir du développement web, la plupart s'accordent à dire que Node.js est pour le moins... rapide. Je ne vais pas vous inonder de chiffres ici, vous pouvez les trouver aisément sur Google.

Toujours est-il que cette vitesse stimule l'intérets des développeurs pour le temps réel. Et c'est précisément ici qu'intervient le sujet de ce cours : Meteor.

... il est aujourd'hui Node.js et Meteor !

Node.js a connu (et connaît encore !) de nombreux frameworks, dont le célebrissime Express. Il existe également plusieurs frameworks pour créer des single-page apps, comme Sails.js. Mais attention, aucun de ces frameworks ne fonctionnent réellement comme Meteor. Premièrement, il faut différencier les frameworks "lightweight" (traduisez par "légers"), comme Express, des frameworks plus lourds, comme Meteor ou encore Sails.js. Néanmoins, sachez que Meteor se démarque des autres frameworks sur de nombreux points.

En effet, les frameworks légers se "greffent" sur Node.js: ils demeurent des modules. Les frameworks lourds sont des systèmes plus évolués, mais qui contiennent encore des références à Node.js. Par exemple, créer un service avec Sails.js se fait en créant un module Node.js, avec l'objet "module.exports".

Meteor, quant à lui, englobe complétement Node.js, si bien que c'est Meteor qui est exécuté, et non l'exécutable de Node.js. Il s'agit donc d'un système qui a besoin de Node.js pour exister, mais la contradiction est que c'est justement un système et non un simple module ou un ajout...

Ce framework remodélise complétement la vision que vous pouvez avoir de Node.js !

Pourquoi utiliser Meteor ?

Meteor peut révolutionner votre manière de concevoir des applications ! Pour illustrer mes dires, je vais vous expliquer les sept principes de Meteor, tirés de sa documentation :

  • Data on the Wire : Contrairement à PHP et ses frameworks, Meteor, n'envoie pas de code HTML, il envoie des données et laisse au client le soin de faire le rendu de l'application.

  • One Language : Hé oui, Meteor se basant sur Node.js, il en reprend le principe, soit "du JavaScript côté serveur" !

  • Database Everywhere : Vous avez bien lu. Dans Meteor, vous pouvez autant accéder à la base de données depuis le client que depuis le serveur. Vous devez avoir des doutes sur la sécurité de cette pratique, mais vous verrez dans le chapitre traitant de ce sujet que ce système est autant sûr que les autres.

  • Latency Compensation : Meteor étant basé sur le temps réel, il demeure une latence, même très faible, c'est pourquoi il prend soin de compenser cette latence dans votre navigateur : plutôt que d'attendre que les données que vous avez envoyées ne vous soient renvoyées, il modifie l'affichage en avance. Ainsi, la sensation de latence disparaît complétement.

  • Full Stack Reactivity : Le temps réel dans Meteor n'est pas une exagération : absolument tout, dans Meteor, peut changer à n'importe quel moment dans le navigateur du client, et ce sans que le client n'ait effectué une seule requête ! Il faut presque voir cette impressionante fluidité pour y croire.

  • Embrace the Ecosystem : Meteor est un framework complétement open-source, de même que ses composants et ses nombreux plugins. Si vous devenez assez bons, vous pourriez donc vous même créer vos propres plugins.

  • Simplicity equals Productivity : Si Meteor à l'air compliqué au premier abords, c'est parce que son fonctionnement très dynamique vous impose de faire abstraction de ce que vous avez pu apprendre en PHP, par exemple. Une fois que vous avez réussi à faire la différence entre ces différents langages/systèmes, vous pourrez constater que Meteor n'est en rien plus compliqué que Symfony, pour prendre un framework PHP en exemple.

Si vous êtes toujours motivé à suivre ce cours, je vous donne rendez-vous dans le prochain chapitre ! :)

Exemple de certificat de réussite
Exemple de certificat de réussite