2 Associés est une agence web de Montréal spécialisée en développement web et mobile, stratégie de contenu SEO, SEM et les technologies langagières.

Vous voulez discuter?

Meteor JS pour le développement Web

MeteorJS pour le développement web

Au début 2015, j’ignorais tout de Meteor JS. À ce moment, je débutais un mandat dans une agence pour une application web monopage (appelée « single-page application » ou SPA) avec AngularJS. C’était ma première expérience avec ce type d’application. J’ai tout de suite eu un intérêt pour la performance au niveau client et je m’étais dit : « Dommage que le Back-end soit du PHP. ». Je n’ai rien contre PHP mais la perspective de tout faire en Javascript était intéressante. J’ai donc demandé conseils auprès de mon entourage « Back-end » pour avoir leurs avis.

Meteor JS pour le développement Web

J’hésitais entre AngularJS et React et mon entourage me conseillait autant l’un que l’autre. Cependant, mon confrère et bon ami Daniel, chez CTRL+WEB, me parle à nouveau de Meteor JS pour le développement web. Je dis ça parce que dans un lointain souvenir, Daniel l’avait déjà mentionné dans une rencontre mais je n’y avait pas trop fait attention…

Meteor JS est un framework open-source de développement web en Javascript basé sur Node.js. Le projet vise à créer un framework de « nouvelle génération » induisant un changement de paradigme notamment sur la manière de considérer les architectures client-serveur.

Ça sonne bien tout ça mais est-ce que le « Full-stack » est fait pour moi? La seule aventure « Back-end » que j’ai faite (et aimée) à été celle avec Ruby on Rails. C’était très cool avec Ruby mais je voulais quelque chose de plus « réactif » et en JavaScript. Bref, voyons voir avec Meteor JS…

Installation

Tel que mentionné sur le site officiel, à partir du Terminal :

curl https://install.meteor.com/ | sh

Créer le projet

Toujours dans le Terminal :

meteor create mon-projet

Ce qui créer un dossier /mon-projet/ incluant la structure et les documents par défauts suivants :

.gitignore
.meteor
client/main.css
client/main.html
client/main.js
package.json
server/main.js

Déjà, on remarque la structure des environnements « client » et « serveur ». Plus évident dans le répertoire /client/, l’approche de Meteor JS est claire : Division entre la présentation (CSS), le contenu (HTML) et l’interactivité (JS).

Le fichier package.json indique qu’on se doit d’installer les dépendances Node donc, à partir du répertoire /mon-projet/ :

meteor npm install

Et finalement, je démarre le tout :

meteor
[[[[[ ~/mon-projet ]]]]]     

=> Started proxy.                             
=> Started MongoDB.                           
=> Started your app.                          

=> App running at: http://localhost:3000/

Je dois avouer que c’est assez simple jusqu’à maintenant. En moins de quelques minutes, j’ai installé Meteor JS, créé et démarré mon-projet localement sur http://localhost:3000/ avec, au besoin, MongoDB comme base de données. Évidemment, l’application par défaut n’a rien de très époustouflant mais la mise en place et le démarrage sont très séduisants.

Apprendre Meteor JS

Depuis que je m’intéresse à Meteor JS dans le contexte du développement Web, j’ai évidemment plusieurs bonnes ressources sur le sujet. Évidemment le site lui-même est une référence : Documentation officielle, tutoriels, forum, etc. Aussi, plusieurs bons livres sont disponibles (celui-ci est excellent) mais personnellement, les vidéos sont particulièrement intéressants dans un premier temps. Par les vidéos, vous verrez très rapidement le résultat et on peut les écouter (presque) partout.

Rob Conery : Building a Realtime Web Application with Meteor.js
À mon avis, la meilleure démonstration que j’ai vu est celle de Rob Conery sur Pluralsight. En 3 heures, Rob Conery construit un site eCommerce avec Meteor JS et Stripe en passant par l’écriture de Tests et la préparation pour le déploiement. Avant de voir ses vidéos j’étais déjà enthousiaste mais à la fin j’étais vraiment hystérique emballé de voir tout ça. Rob Conery est mon super héro Meteor JS.
Scott Tolinski : Meteor For Everyone Tutorials
J’adore cette série. En tout, 22 vidéos entièrement gratuites dans cette liste YouTube. D’autres listes Meteor JS existent avec des niveaux différents alors c’est vraiment intéressant.
Coursera : Introduction to Meteor.js Development
Si vous voulez regarder et répondre à des questions pour valider vos acquis, la plateforme Coursera offre des sessions de 4 semaines sur Meteor JS. C’est très amusant… Et gratuit si le certificat ne vous intéresse pas.

Meteor JS est un merveilleux « Framework » JavaScript

Pour être honnête, j’avais des préjugés par rapport à Meteor JS. Je n’avais jamais pris le temps de lire de quoi il s’agissait vraiment. J’ai rapidement changé d’avis après quelques lectures et tutoriaux. Je retrouve dans Meteor JS non seulement la magie unique les conventions à-la-Ruby-on-Rails, mais aussi les outils modernes de développement web comme les pré-processeurs, le « hot code push », le multiplateforme (Android, iOS, web), un modèle de données NoSQL propre au 21e siècle ainsi que du « Reactive Data out of the box ». Avec une seule commande on peut installer un environnement de développement complet qui inclus un serveur Web et un serveur de données avec MongoBD. Meteor JS inclus un système de « packaging » qui installe toutes les dépendances lors de l’installation. Sérieusement, Meteor JS me permet de sauter dans un projet moins de quelques minutes après son téléchargement. Meteor JS me permet de déployer mon application sur « Galaxy » avec une ligne de commande. Bref, Meteor JS est un merveilleux « Framework » JavaScript que j’ai envie d’apprendre.

Si vous avez des doutes, n’hésitez pas à essayer Meteor JS pendant quelques heures. Leur site propose un bon tutoriel de départ Meteor (de base avec « Blaze ») mais également le même projet avec Meteor + Angular ou Meteor + React. Personnellement je me concentre sur Meteor avec « Blaze » mais la perspective de pouvoir le combiner à d’autres « Frameworks » ou librairie est non seulement intéressant, mais étendra probablement la popularité de Meteor JS encore plus dans les années à venir.

Commentez cet article

Votre adresse de courriel ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Articles reliés