Catégories
Start-up et applications

Jamstack remet l'accent sur le développement frontal

Les entreprises qui souhaitent attirer, engager et fidéliser davantage de clients en ligne doivent fournir une solution front-end exceptionnelle. C'est la première chose que les utilisateurs voient lorsqu'ils visitent un site Web, et c'est la première impression que les entreprises numériques peuvent donner.

Traditionnellement, lorsque les frontaux sont couplés avec le back-end, les développeurs doivent être des experts de la pile complète et être en mesure de créer une solution de pile complète, selon Guillermo Rauch, PDG de Vercel, fournisseur de solutions de développement Web. "À certains égards, ce qui se passait, c'était que vous n'obteniez pas votre gâteau et que vous ne le mangiez pas non plus parce que l'arrière n'était pas assez fort et l'avant était assez limité", a déclaré Rauch.

En outre, selon Matt Biilmann, PDG et co-fondateur de Netlify, un fournisseur de plate-forme de développement Web moderne.

Cette énigme de développement est désormais résolue par une nouvelle approche de développement et d'architecture croissante appelée Jamstack, qui s'accompagne de la promesse de fournir des sites Web et des applications plus rapides, plus accessibles, plus faciles à gérer et disponibles à l'échelle mondiale.

Jamstack signifie JavaScript, API et Markup. Le terme a été créé par Netlify en 2015, mais a récemment gagné en popularité. «Nous avons inventé le terme« Jamstack »en 2015 pour mieux définir ce que les développeurs commençaient déjà à faire: découpler le Web et les applications frontales et principales, se concentrer sur les meilleures pratiques de vitesse et de disponibilité et redéfinir leurs flux de travail», a expliqué Biilmann. .

Selon Biilmann, au fur et à mesure que les organisations sont passées des architectures monolithiques aux microservices, il y a eu une séparation naturelle entre le front-end et le back-end, permettant aux développeurs de se concentrer sur la construction de cette couche frontale et de s'approprier tout le cycle de vie qui l'entoure.

«Au fur et à mesure que le Web a progressé et que les exigences concernant les expériences que nous construisons et les appareils que nous atteignons ont augmenté, nous avons dû créer des couches d'abstractions qui enlèvent une partie de la complexité et permettent à un développeur de travailler sans compte tenu de ces couches inférieures de la pile. Cela a été l’un des moteurs de l’idée du Jamstack », a déclaré Biilmann dans un discours lors du Conférence Jamstack.

Jamstack exploite le pré-rendu pour aider les développeurs à créer des sites Web plus rapides, vise à fournir une infrastructure plus sécurisée avec moins de points d'attaque, est capable d'évoluer grâce à une livraison mondiale et d'accélérer le cycle de développement et de déploiement.

«Cette idée est que la pile a légèrement remonté. Nous avons transcendé notre réflexion sur la pile en termes de langage de programmation spécifique que nous utilisons sur le serveur, du serveur Web sur lequel nous fonctionnons ou de la base de données spécifique et, à la place (nous pensons) à la couche de ce qui est livré au les utilisateurs finaux en termes de balisage pré-construit, en termes de JavaScript qui s'exécute directement dans le navigateur, et en termes de ces API auxquelles nous avons accès. En faisant cela, nous sommes en mesure de permettre aux développeurs de se concentrer sur la création de sites Web au lieu de se concentrer sur l'infrastructure et nous pouvons intégrer les performances à la plate-forme elle-même au lieu d'en faire quelque chose que les développeurs doivent avoir », a déclaré Biilmann.

L'essor du mobile a également contribué à l'essor de Jamstack. «Nous avons vu le Web repensé pour les applications mobiles. Si vous pensez à Spotify, personne ne pense qu'ils devraient le télécharger à chaque fois qu'ils l'utilisent et en même temps, personne ne pense qu'ils téléchargeraient toute la musique du monde sur leur téléphone. Il n'y aurait pas de place. Vous téléchargez l'application, mais vous parlez à un service pour diffuser la musique. C'est ce dont nous avons vu que le Web aurait besoin pour être viable et riposter », a déclaré Chris Bach, président et co-fondateur de Netlify.

Bien que le Jamstack ne se concentre pas sur des technologies spécifiques, il fournit une «prescription» pour la création d'applications Web. Tout projet qui couple étroitement le côté client avec les serveurs n'est pas considéré comme Jamstack. Quelques exemples de cela seraient un site construit avec un CMS côté serveur, une application d'une seule page avec un rendu isomorphe et une application web monolithique exécutée par le serveur reposant sur un langage principal.

"C'est presque dire de se conformer à ce protocole et vous allez créer un excellent site Web ou une excellente application", a déclaré Vercel’s Rauch.

Ces protocoles comprennent:

  1. Découplage de l'arrière pour permettre à l'avant d'être déployé librement à l'échelle mondiale, directement sur un CDN
  2. Préconstruction de pages en pages et ressources statiques
  3. Tirer parti des API pour passer aux services principaux

Souvent, un malentendu est que les pages statiques fournies par Jamstack sont plates et ennuyeuses, mais Rerc de Vercel a expliqué que vous pré-restituez la page et y attachez JavaScript, lorsque le visiteur visite la page, JavaScript est exécuté et la page prend vie.

«J'ai tendance à comparer le Jamstack à la presse à imprimer», a expliqué Rauch. «L'idée principale est de pré-rendre les pages, puis de les distribuer sur un CDN global, ce qui signifie que vous ne faites le calcul qu'une seule fois. Lorsque vous pensez à imprimer votre page et à pouvoir ensuite la dupliquer très bon marché et rapidement dans le monde entier, les coûts du serveur baissent car vous avez effectué le travail d'impression de la page une fois et avez pu la cloner partout dans le monde. Cela signifie également que vous pouvez le cloner là où se trouve le visiteur. »

Rauch a poursuivi: «Le front end est le plus grand lieu de réinvention pour les entreprises. Beaucoup d'investissements ont été consacrés aux technologies dorsales et aux infrastructures ennuyeuses, aux technologies de bas niveau. Ce que nous avons remarqué, c'est qu'il y a eu un sous-investissement ou une sous-appréciation de la technologie qui est en fait plus proche du client. »

Biilmann de Netlify estime que, tout comme la pile LAMP (Linux, Apache HTTP Server, MySQL et PHP) n'est plus utilisée comme terme pour créer des sites Web et des applications Web, Jamstack deviendra finalement la façon de faire les choses et n'aura pas besoin de plus appelé Jamstack.

"Le Jamstack va réussir d'une manière où dans un certain nombre d'années nous arrêterons de l'appeler Jamstack parce que ce sera juste la façon dont les sites Web seront construits", a-t-il déclaré.

Jamstack défini
Jamstack est une approche de développement front-end pour le développement web moderne. «Jamstack est né de la conviction obstinée qu'il y avait une meilleure façon de construire pour le Web. Vers 2014, les développeurs ont commencé à envisager une nouvelle architecture qui pourrait faire ressembler les applications Web à des applications mobiles: conçues à l'avance, distribuées et connectées directement à de puissantes API et microservices. Il tirerait pleinement parti des outils de construction modernes, des flux de travail Git, des nouveaux cadres frontaux et du passage des applications monolithiques aux frontaux et aux backends découplés », a écrit Matt Biilmann, PDG de Netlify, dans un ebook à propos de Jamstack.

Le «J-A-M» de Jamstack signifie:

JavaScript: Au-delà du simple langage de programmation, le Jamstack exploite les constructions avancées, la syntaxe des objets, les variations et les compilateurs de JavaScript. En plus de JavaScript, les solutions Jamstack peuvent être construites avec PHP, Ruby, Python et d'autres langages. Selon Netlify, il ne s'agit pas d'une collection de logiciels et de technologies spécifiques, mais plutôt d'un ensemble de meilleures pratiques.

Apis: Ceux-ci permettent de séparer le frontal de l'arrière, permettant un développement plus modulaire et la possibilité de tirer parti des outils tiers.

Balisage: Le balisage préconstruit permet aux sites Web d'être fournis sous forme de fichiers HTML statiques, ce qui offre des performances plus rapides.

Selon Netlify, certaines des meilleures pratiques Jamstack sont:

  • Service l'ensemble du projet directement à partir d'un CDN
  • Mettez tout dans Git pour réduire la friction des contributeurs et simplifier la mise en scène et le test des workflows
  • Profitez des outils de construction modernes tels que Babel, PostCSS et Webpack
  • Automatisez les builds à l'aide de webhooks ou d'une plateforme de publication
  • Utilisez les déploiements atomiques pour conserver les modifications en direct jusqu'à ce que tous les fichiers modifiés soient téléchargés
  • Assurez-vous que votre CDN peut gérer l'invalidation instantanée du cache afin que vous sachiez «quand un déploiement est mis en ligne, il est vraiment mis en ligne».

Jamstack vs serverless
Il est courant que les développeurs mélangent Jamstack et sans serveur car Jamstack est un sous-ensemble de sans serveur. Étant donné que Jamstack se concentre sur le développement frontal découplé du serveur principal, il ne nécessite ni ne dépend d'un serveur.

«Avec Jamstack, des applications monolithiques complexes pourraient désormais être désassemblées en petits composants indépendants, plus faciles à analyser et à comprendre. L'introduction de la technologie sans serveur et l'émergence de l'API ont encore renforcé le Jamstack comme le paradigme parfait pour créer des applications rationalisées et légères qui évoluent efficacement », a écrit Divya Tagtachian, défenseur des développeurs chez Netlify, dans un Publier.

Selon Guillermo Rauch, PDG de Vercel, fournisseur de solutions de développement Web, sans serveur n'est qu'un terme si vague, tandis que Jamstack est plus normatif.

«Avec Jamstack, il vous dit de pré-rendre le balisage, d'utiliser JavaScript côté client et d'interroger une API. Si je vous dis de créer un site Web en utilisant sans serveur, vous me regarderiez comme "de quoi parlez-vous?" Quand il s'agit de construire une application, j'aime dire aux gens comment le faire, donc je suis un grand fan de paris sur Jamstack », a-t-il expliqué.

Colby Fayock, ingénieur front-end et concepteur UX, a ajouté que même si Jamstack et sans serveur ont de nombreuses similitudes et philosophies, toutes les applications Jamstack ne seront pas toujours des applications sans serveur.

«Considérez une application hébergée dans un stockage statique sur le fournisseur de cloud de votre choix. Oui, vous pourriez servir l'application sans serveur, mais vous pourriez avoir affaire à une API qui utilise WordPress ou Rails, qui ne sont certainement pas sans serveur », a écrit Fayock dans un Publier. «La combinaison de ces philosophies peut faire beaucoup de chemin, mais elles ne doivent pas être confondues comme les mêmes.»

Laisser un commentaire

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