Introduction à MEAN.IO
Si vous avez essayé de créer une application JavaScript Fullstack, vous savez déjà à quel point il peut être difficile de gérer la structure et les dépendances entre les différentes technologies et outils de votre projet.
Heureusement, il existe des solutions permettant de créer rapidement un environnement de développement opérationnel pour créer une application utilisant JavaScript coté client et serveur.
Mean.io en est une, c’est un Framework Fullstack qui regroupe 4 technologies qui représentent chacune une couche de l’architecture MEAN :
- MongoDB : Base de données orientée document ou les informations sont stockées au format JSON.
- Express : Framework Node.js qui permet de gérer facilement les routes et d’utiliser un moteur de template.
- AngularJS : Framework Javascript permettant de structurer et de simplifier le développement d'applications riches côté client
- Node.js : Plateforme Javascript orientée serveur intégrant la gestion des entrées/sorties de manière non bloquante.
Prérequis
Connaitre un minimum chacune des technologies de la plateforme MEAN.
Installer MongoDB, Node.js et Git.
Installer Gulp : Outil qui permet d’automatiser l’exécution de tâches récurrentes, telles que les tests unitaires ou la compilation, lors du développement ou de la mise en production d’un projet.
npm install -g gulp
Installer Bower : Outil de gestion de librairies externes front-end et de leurs dépendances.
npm install -g bower
Installation
npm install -g mean-cli
Initialisation de l'application dans un dossier et installation des dépendances :
mean init <myApp>
cd <myApp> npm install
On peut maintenant démarrer l'application
gulp
Elle est accessible à l’adresse http://localhost:3000
Structure de l'application
Le repertoire bower_components contient les librairies front-end et les fichiers de gestion des dépendances gérées par bower. L'ensemble des fichiers de configuration se trouvent dans config. Ils concernent les paramètres de chaque environnement, les middlewares et express.js. gulp contient les tâches à executer pour chaque environnement et logs le journal de node.js. Les dépendances de node.js sont dans node_modules.
Le repertoire packages contient les modules de l'application.
Modules ou packages
Le repertoite core dans packages contient les modules de base de l'application. Ces modules ne doivent pas être modifiés directement, mais leurs méthodes peuvent etre redéfinies dans d'autres modules dans le repertoire custom. Cela permet de réutiliser et d'adapter les fonctionalités de base, à des besoins spécifiques, mais aussi de pouvoir mettre à jour mean.io sans perdre le code ajouté.
Les modules custom sont donc spécifiques à la logique applicative.
On peut créer un module à l'aide de la commande suivante :
mean package <packageName>
Les modules peuvent être utilisés dans des projets différents. Cela encourage la programmation modulaire et la réutilisabilité lors du développement d'un projet. Il est possible de partager et de publier des modules à travers la communauté de MEAN.IO.
Certains modules sont également disponibles sur le site mean.io : http://mean.io/#!/packages
Conclusion
MEAN.IO est un outil complet qui convient pour structurer aisément une application full javascript. Les modules de base inclus avec MEAN.IO permettent de faciliter le développement en intégrant certaines fonctionnalités, souvent indispensables, comme l'authentification et la gestion des rôles.
Le prochain article sera consacré au fonctionnement des modules.
Comments
There are currently no comments