Vos prochaines actions.

Suivez l'agence web Blacksmith sur Linkedin

Vous avez une super idée ou un projet à réaliser ?

Notre agence de design et développement web est là pour vous faire décoller !

Blog.

Articles.

JAMStack vs MERN Stack

15.05.237MIN
TechReact

Quelle stack choisir ?

C'est LA question que se pose tout bon développeur web : avant de me lancer dans mon projet de site internet responsive, e-commerce, application web ou mobile, quelle pile technologique choisir pour réaliser mon développement.

Si nous avons déjà évoqué par le passé notre stack préférée chez Blacksmith et avons déjà consacré un article à la JAMStack, nous allons dans cet article nous concentrer sur les différences entre JAMStack et MERN Stack, une autre stack populaire dans le monde du développement web.

Pourquoi ce comparatif avec la stack MERN (MongoDB, Express, React, Node) et pas avec la stack LAMP (Linux Apache MySQL PHP), très plébiscitées par les développeurs PHP ?

Car LAMP, est une des stacks les plus populaires (elle est utilisée comme base sur les CMS Drupal ou Wordpress, très répandus sur le web), nous souhaitons comparer 2 stacks dans le langage de programmation JavaScript, comme pourrait être amené à le faire un développeur rigoureux JS ou TypeScript en réflexion pour sa création de site.

Quelle stack choisir ?

Pourquoi le MERN Stack ?

Le MERN Stack permet aux développeurs web de créer des web apps complexes en se basant sur des technologies web open source Javascript.

MongoDB est une base de données non-relationnelle, qui permet de stocker des données sans avoir à utiliser le langage SQL, mais en utilisant plutôt le JS pour stocker les données en utilisant le format JSON.

Express est utilisé pour créer les routes API (interface de programmation d'applications) et gérer les requêtes HTTP entrantes.

Côté front, les développeurs web et intégrateurs pourront se baser sur React.js, un framework Javascript très puissant, créé par les ingénieurs de Facebook et qui permettra d'intégrer des maquettes responsive (formats desktop, mobile, tablette...) créées sur mesure par un webdesigner.

Côté serveur, les développeurs backend pourront travailler en utilisant Node.js (ou Nest.js, le framework TypeScript basé sur Node.js).

Si un dev web souhaite développer un produit avec de gros traitements sur les données, MERN peut être une bonne solution.

C'est aussi pratique pour les développeurs full stack qui vont coder tout le produit dans le même langage (en JS).

Le principal inconvénient de cette stack : elle n'est pas prévue pour utiliser des bases de données relationnelles. 

Envie de tester la stack MERN ? Voici un tutoriel !

Pourquoi la JAMStack ?

La JAMStack permet de développer facilement des sites statiques générés.

Cette stack est très légère et présente des avantages certains en termes de coûts d'hébergement, puisqu'elle ne nécessite pas d'intéractions avec des bases de données.

Elle est parfaite pour la création de sites web s'appuyant sur des SaaS tiers ou, des sites vitrines ou encore des blogs.

Qui dit site statique ne dit pas "figé", vous pouvez avoir des sites JAMStack avec des pages web statiques présentant de nombreuses animations, micro-intéractions et dont le contenu est entièrement géré via un backoffice, comme ça serait le cas pour des sites réalisés avec des CMS comme Wordpress et n'utilisant pas la JAMStack.

Les sites internet développés en JAMStack sont globalement plus fluides, plus sécurisés (moins d'interactions avec un serveur backend) et plus économiques à héberger et plus écologiques que des sites basés sur une stack LAMP ou MERN.

Comme en JAMStack on essaye de limiter le nombre d'appels vers des bases de données, cette pile techno va être plus axée sur la partie front-end que sur des problématiques de traitements backend. 

Si vous souhaitez récupérer des informations de façon dynamique, nous vous conseillons d'utiliser le système de hooks SWR.

Comme pour MERN, la JAMstack est une technologie adaptée pour du développement sur mesure, mais qui ne permet pas à quelqu'un qui n'est pas développeur de modifier facilement la structure du site comme le permettrait par exemple un "page builder" Wordpress.

Comment mettre en place un site vitrine responsive avec la JAMStack ? Chez Blacksmith nous aimons procéder de la façon suivante :

  • Utiliser un Framework tel que React.js (développé par Facebook) ou Next.js pour gérer la partie intégration et dynamisation du Frontend

  • Mettre en place le CMS Headless de notre partenaire Strapi pour créer l’API Rest et opérer la gestion de contenu du site depuis un back-office dédié

  • Utiliser Next.js pour générer les pages en code HTML statiques (le "Markup")


Pour compléter cela, le développeur full stack pourra ajouter
- un pipeline d'intégration et déploiement continu (CI/CD) afin de générer une nouvelle version de site et d'automatiser la mise en production dès qu'un développeur poussera une modification de code ou qu'un utilisateur effectuera un changement de contenu depuis le CMS. On peut utiliser par exemple le pipeline de Github.
- l’hébergement via un CDN, en ce qui nous concerne, nous utilisons #Vercel et #AWS Amplify mais on peut également utiliser netlify :)

JAMStack vs MERN Stack

Comme nous avons pu le voir dans cet article, la JAMStack et la MERN Stack présentent chacune leurs avantages et inconvénients en fonction du type d'application ou de site qu'on souhaite concevoir et développer dans le langage de programmation JavaScript, et on pourra être amené à choisir l'une ou l'autre des stack en fonction des situations se présentant au cours de son métier de développeur.


Les deux stack permettent de créer des produits développés et designés sur-mesure, mais ont chacune leurs spécificités :

  • Si vous souhaitez développer une webapp complexe, nous vous conseillons de partir sur une stack MERN pour votre projet web.

  • Si vous souhaitez développer un site vitrine fluide et à l'hébergement économique, nous vous conseillons de partir sur une stack JAMStack.

Envie de voir à quoi ressemble un site développé en JAMStack ? Voici quelques exemples de sites issus du portfolio de notre agence de design et développement web & mobile :

Dans tous les cas, n'hésitez pas à nous contacter à partners@blacksmith.studio ;)

Articles de la même catégorie

Prêt·e à collaborer avec nous ?partners@blacksmith.studio