Pile relativement nouvelle, MEAN correspond à MongoDB, Express.js, AngularJS et Node.js. C'est une pile JavaScript complète, largement utilisée pour les applications adaptées au cloud. Il est essentiel de comprendre pourquoi vous pourriez l'utiliser, d'identifier des exemples de cas d'utilisation et de connaître en détail chaque composant pour maximiser la valeur de MEAN en matière de développement de logiciels.
Lors de la création d'une application, l'utilisation d'une pile de logiciels normalisée et cohérente est essentielle. Créer votre système back-end avec un ensemble d'outils conçus pour fonctionner ensemble réduit la phase de développement et rationalise les ressources.
Cependant, les offres en matière de pile sont de plus en plus nombreuses. De LAMP à Ruby on Rails, il existe un certain nombre d'options. Chaque pile possède ses avantages et ses inconvénients et est adaptée à des projets différents. Il n'existe pas de pile universelle pour le développement.
MEAN est une pile Web open source principalement utilisée pour créer des applications hébergées dans le cloud. Les applications de la pile MEAN sont flexibles, évolutives et extensibles, ce qui en fait le candidat idéal pour l'hébergement cloud. Cette pile inclut son propre serveur Web pour un déploiement aisé, et la base de données peut être mise à l'échelle à la demande pour faire face à des pics d'utilisation temporaires. Une application MEAN est optimisée pour tirer parti de toutes les économies de coûts et améliorations de performances du cloud.
JavaScript est depuis toujours un langage populaire pour le développement Web frontal : il est souple, dynamique et simple à utiliser. Mais pendant des années, il n'a été envisagé que pour le développement back-end et de base de données, les développeurs créant des applications via un JavaScript de bout en bout. Comme chaque partie de MEAN utilise le même langage, vous pouvez rationaliser vos équipes de développement. Grâce à MEAN, vous n'avez plus besoin d'embaucher différents spécialistes pour développer chaque partie d'une application. Il vous suffit de faire appel, quand vous en avez besoin, à un seul pool de développeurs JavaScript, où et quand cela est nécessaire. La normalisation JavaScript offre également l'opportunité de réutiliser du code dans toute l'application, ce qui limite toute réinvention inutile.
Si la pile MEAN n'est pas parfaitement adaptée à toutes les applications, elle excelle dans de nombreux cas d'utilisation. Elle s'avère très bien adaptée pour le développement d'applications cloud natives en raison de son évolutivité et de sa capacité à gérer des utilisateurs simultanés. L'infrastructure front-end AngularJS la rend également idéale pour le développement d'applications Web monopage (SPA, Single-Page Application) qui fournissent toutes les informations et fonctionnalités sur une seule page. Voici quelques exemples d'utilisation de MEAN :
MongoDB
MongoDB est une base de données NoSQL open source conçue pour les applications cloud. Elle utilise une organisation orientée objet au lieu d'un modèle relationnel.
Dans la pile MEAN, MongoDB stocke les données de l'application. L'application et la base de données utilisant JavaScript, il n'est pas nécessaire de convertir l'objet lors de son transfert de l'application à la base de données et vice versa. L'application peut envoyer et extraire des objets entre le back-end et la base de données sans difficulté.
MongoDB est reconnue pour son évolutivité en matière de stockage et de performances. Vous pouvez ajouter des champs à la base de données sans recharger la table entière : MongoDB sait parfaitement gérer de grandes quantités de données sans en compromettre l'accès. En quelques clics, vous pouvez étendre les ressources disponibles à votre base de données, ce qui est idéal pour les applications qui connaissent des périodes occasionnelles d'activité accrue.
Pour en savoir plus sur MongoDB, voir "MongoDB : un guide essentiel".
Express
Express est une infrastructure d'application Web pour Node.js. Elle est simple à utiliser, tout en offrant un jeu de fonctions complet.
En tant que back-end de la pile MEAN, Express gère toutes les interactions entre le front-end et la base de données, assurant un transfert fluide des données vers l'utilisateur final. Elle est conçue pour une utilisation avec Node.js et utilise JavaScript de façon cohérente dans la pile.
Express est minimaliste. Elle est conçue pour gérer efficacement les processus sans encombrer votre application. Elle comporte toutefois de nombreuses fonctionnalités pertinentes. Express offre une gestion des erreurs et une fonctionnalité de modélisation d'excellence pour soutenir votre développement.
Express peut également vous éviter des erreurs, car elle utilise la norme du module CommonJS pour empêcher l'écrasement par inadvertance de variables dans l'espace de nom partagé. Vous ne pouvez pas redéfinir accidentellement une variable que vous avez précédemment créée. Cette mise en application de fermetures JavaScript permet d'éviter des erreurs coûteuses et longues à solutionner.
AngularJS
AngularJS, infrastructure front-end JavaScript de Google, n'est pas la seule utilisée, mais elle est extrêmement populaire. En effet, il s'agit de l'infrastructure par défaut pour le développement JavaScript front-end. Si vous développez une application Web en JavaScript, vous utilisez AngularJS.
La pile MEAN inclut AngularJS pour aider les développeurs à créer le côté utilisateur de l'application. Back-end, front-end et base de données étant tous basés sur JavaScript, les informations circulent en toute fluidité entre les différentes parties de votre application.
Ce n'est pas un hasard si AngularJS est devenue l'infrastructure front-end JavaScript la plus populaire. Sa capacité à développer simultanément pour une utilisation de bureau et mobile, ses performances parfaitement optimisées et ses modèles simples en font le front-end idéal pour créer des applications cloud natives.
Node.js
Node.js est une infrastructure JavaScript open source qui utilise des événements asynchrones pour traiter plusieurs connexions simultanément. Il s'agit d'une infrastructure idéale pour une application cloud, car elle peut aisément adapter les requêtes en fonction de la demande. La plupart des sites Web réputés reposent probablement sur Node.js.
Node.js constitue l'épine dorsale de la pile MEAN. Express est conçue pour fonctionner sur Node.js. Or AngularJS se connecte de façon transparente à Node.js pour une mise à disposition rapide des données. Node.js comporte un serveur Web intégré, ce qui facilite le déploiement de vos bases de données et applications MongoDB dans le cloud.
Le meilleur atout de Node.js est son évolutivité. Les applications cloud doivent pouvoir répondre rapidement aux pics d'utilisation. Mais quel est l'intérêt d'une puissance de traitement pratiquement illimitée si elle n'est disponible qu'après expiration de la session utilisateur ? En augmentant vos ressources quand cela est nécessaire, vous pouvez servir un plus grand nombre d'utilisateurs, l'architecture à unité d'exécution unique de l'infrastructure permettant à l'application de fournir une expérience utilisateur fluide au sein de nombreuses connexions. Node.js peut prendre en charge jusqu'à un million de connexions simultanées.
N'oubliez pas que Node.js fonctionne mieux dans un contexte de demandes nombreuses requérant peu de ressources, plutôt que de demandes gourmandes en ressources. Bien qu'une unité d'exécution unique assure une protection contre les interblocages de processus, elle peut être impactée par un processus qui gèle le système pour tous les clients.
IBM Cloud est un leader du développement d'applications cloud natives et un partenaire de confiance pour créer rapidement vos applications d'entreprise sur une plateforme ouverte, sécurisée et intégrée.
IBM Cloud Infrastructure as a Service est l'infrastructure pour une entreprise plus intelligente. Trouvez les solutions qui répondent le mieux à vos besoins métier.