Récemment, j'ai organisé un panel à la conférence Virtual Jamstack de Netlify, qui comprenait le PDG de Netlify, Matt Biilman et le fondateur automatique Matt Mullenweg. La discussion a été considérée par beaucoup comme «Jamstack vs WordPress Dispute».
Personnellement, j'ai beaucoup de réflexions à ce sujet et je pense que je suis plus adapté d'être commentateur qu'un modérateur. C'est l'une de mes discussions techniques préférées en ce moment! Alors, permettez-moi d'écrire un blog.
Déclaration: Automattic et Netlify sont tous deux des sponsors actifs de ce site Web. J'ai des sites de production qui utilisent les deux, et honnêtement, je les aime tous, ce qui est un point majeur que je vais essayer de développer. Il se trouve que j'écris et publie cet article sur le site Web WordPress.
Revue d'histoire
- Richard MacManus a publié un article «Le co-fondateur de WordPress Matt Mullenweg n'est pas un fan de Jamstack», citant la conversation par courrier électronique entre eux, Matt a déclaré: «Pour la grande majorité des gens qui adoptent Jamstack, c'est une réaction.»
- Matt Biilmann a répondu à l'article "sur Mullenweg et Jamstack - en arrière ou futur?", Avec une section intitulée "La fin de l'ère WordPress".
- Pendant cette période, les gens ont commenté. Le membre du conseil d'administration de Netlify, Ohad Eder-Pressman, a écrit une lettre ouverte. Sarah Gooding a résumé certaines activités sur WP Tavern (appartenant à Matt Mullenweg). Je suis impliqué aussi.
- Matt Mullenweg a clarifié ses commentaires et a ajouté de nouveaux commentaires.
Le débat a eu lieu à la conférence virtuelle de Jamstack 2020. Il n'y a actuellement aucun enregistrement vidéo public (désolé).
Comparaison de l'architecture
C'est un peu bizarre de comparer Jamstack avec WordPress. Ce qui est vraiment comparable, c'est qu'ils sont tous des moyens possibles de choisir lors de la création d'un site Web. La plupart de ce post gardera cela à l'esprit et comparera les deux de cette manière. La raison pour laquelle ils ne peuvent pas être comparés directement est parce que:
- Jamstack est une description large d'un concept architectural qui encourage l'utilisation de fichiers statiques sur les CDN et utilise les services accessibles par JavaScript pour répondre à tous les besoins dynamiques.
- WordPress est un CMS basé sur l'architecture de lampe.
Les deux ne sont pas exactement les mêmes.
Si nous nous concentrons uniquement sur l'architecture pour le moment, les objets que nous comparons seront:
- Services d'hébergement statique
- LAMPE
Un exemple de service statique consiste à utiliser Netlify pour l'hébergement (qui est statique) et à utiliser un service pour effectuer toutes les opérations dynamiques qui doivent être effectuées. Peut-être que vous utilisez le formulaire et les fonctionnalités d'authentification de Netlify et Hasura pour le stockage de données.
Dans une architecture de lampe, vous utilisez MySQL pour stocker des données, vous n'avez donc pas besoin d'utiliser des services externes. Vous pouvez également utiliser PHP. Donc, avec ce (et les logiciels open source), vous avez tout ce dont vous avez besoin pour l'authentification. Mais cela ne signifie pas que vous n'utilisez jamais le service; C'est juste que vous utilisez le service moins fréquemment car vous avez déjà plus de technologie sur le serveur.
Matt B. Architecture de la lampe d'appel "Architecture monomère". Matt M. s'y est opposé et l'a appelé la «méthode d'intégration». Je ne suis pas un informaticien, mais je pense que les deux déclarations ont du sens. Voici l'explication de Wikipedia:
[…] Une application monolithique décrit une application logicielle unique dans laquelle l'interface utilisateur et le code d'accès aux données sont combinés dans un programme.
Selon cette définition, WordPress semble être une architecture monolithique, mais l'article Wikipedia continue:
[…] Une application monolithique décrit une application logicielle qui n'est pas conçue pour être modulaire.
De ce point de vue, il semble que WordPress ne réponde pas à la définition d'une architecture monolithique. L'architecture de crochet et de plug-in de WordPress est modulaire. ? ️
Il sera intéressant d'écouter ces deux grands gars discuter de cette en profondeur, mais le logiciel est un logiciel. Un site Web WordPress auto-hébergé s'exécute sur un serveur avec une pile de technologie complète. Il est logique de tirer le meilleur parti de ce serveur (c'est-à-dire l'intégration). Dans la méthode Jamstack, le serveur est abstrait. Toutes les autres choses que vous devez faire sont la division de différents services (c'est-à-dire non intégrée).
La méthode WordPress ne signifie pas que vous n'utilisez jamais de services externes. Dans les deux architectures, vous pouvez utiliser une API de commerce électronique comme Stripe. Vous pouvez utiliser des services comme Cloudinary pour un stockage et des services de médias puissants. Même le service Jetpack de WordPress (que j'utilise et que j'aime) apporte une grande puissance aux sites Web WordPress auto-hébergés, qui s'exécute comme un service tiers , en déplaçant la garde des actifs et les technologies de recherche vers des serveurs cloud. Les deux architectures sont une collection de technologies.
Aucune des deux architectures n'est une "maison de cartes" et n'est pas plus fragile que l'autre. Tous les sites Web peuvent appliquer la métaphore de «sa force dépend de son maillon le plus faible». Si le plugin WordPress publie la mauvaise version ou est cassée en quelque sorte lorsqu'elle est téléchargée, elle peut causer des problèmes avec mon site Web jusqu'à ce que je le répare. Si la clé API de la base de données sans serveur n'est pas valide, je pourrais avoir des problèmes avec mon site Web Jamstack jusqu'à ce que je le répare. Si Stripe tombe, je ne pourrai vendre aucun produit sur un type de site Web jusqu'à ce que je reprenne le service.
Prix
WordPress.com a un plan gratuit, qui est définitivement un endroit pour construire un site Web. (J'en ai plusieurs.) Cependant, à moins que vous n'utilisiez un plan d'affaires de 25 $ par mois, vous n'avez pas réellement accès aux fonctionnalités au niveau des développeurs. WordPress auto-hébergé lui-même est open source et gratuit, mais vous ne pouvez pas trouver un endroit pour lancer gratuitement un site Web WordPress auto-hébergé. Il commence à un prix bas, puis augmente progressivement. Vous avez besoin d'hébergement de lampe pour exécuter WordPress. Voici des plans d'hébergement assez bon marché:
- Le plan "Partage" de Bluehost commence à 3,95 $ par mois.
- Le plan minimum de Flywheel est de 14 $ par mois. (Ce site Web utilise le programme Premium de Flywheel.)
- L'hébergement spécifique à WordPress de Media Temple commence à 20 $ par mois. (Ce site Web utilise le programme Premium de Media Temple depuis longtemps.)
- Le service pressable d'Automatic a un plan qui commence à 25 $ par mois.
Cela coûte de l'argent depuis le début.
JamStack est plus courant pour commencer gratuitement, puis engager des coûts à différents moments. Étant donné que Jamstack est relativement nouveau, il a l'impression que le marché est toujours en train d'explorer.
- Vercel est gratuit jusqu'à ce que vous ayez besoin de fonctionnalités telles que les membres de l'équipe ou les sites Web protégés par mot de passe. Un seul site Web protégé par mot de passe 150 $ par mois. Vous pouvez ajouter une authentification de base à n'importe quel serveur avec Apache sans frais supplémentaires.
- Netlify est très similaire, déverrouillant les fonctionnalités sur un plan plus élevé et offrant des fonctionnalités de paie par site telles que l'analyse (9 $ par mois) et l'authentification (99 $ par mois pour 5 000 utilisateurs actifs).
- AWS Amplify commence gratuitement, mais comme tout sur AWS, votre utilisation est facturée sur une base en quantité à plusieurs niveaux, telles que les minutes de construction, le stockage et la bande passante. Ils ont un exemple de calcul selon lequel une application Web compte 10 000 utilisateurs actifs par jour, mis à jour deux fois par mois et coûte 65,98 $ par mois.
- Azure Static Web Apps n'a pas encore publié les prix, mais il y a presque certainement un niveau gratuit ou gratuit à utiliser ou d'une manière ou d'une autre.
Tout cela nous rappelle que Netlify n'est pas le seul joueur de l'espace Jamstack. Jamstack signifie simplement un service d'hébergement statique plus .
Vous ne pouvez pas faire des déclarations générales comme Jamstack est moins cher. Cela dépend trop de l'utilisation du site Web et des besoins du site Web. Pour une utilisation élevée et de nombreux services avancés, Jamstack (tout comme un serveur sans serveur) peut devenir très cher. Jamstack affirme que leur prix d'entreprise commence à 3 000 $ par mois, et bien que vous puissiez obtenir des fonctionnalités telles que l'authentification, les formulaires et le traitement des médias, vous n'obtiendrez pas de CMS ou de stockage de données, ce qui pourrait faire vos coûts considérablement.
Bien que ce site WordPress ne soit pas de qualité d'entreprise, je peux vous dire qu'il nécessite environ 1 000 $ par mois pour les serveurs, en supposant que CloudFlare est devant lui pour aider à réduire la bande passante directement à l'hôte, ainsi que le traitement par Jetpack des capacités d'hébergement et de recherche de Jetpack. MailChimp envoie notre newsletter. Wufoo prend en charge nos formulaires. Nous avons également des plugins payants tels que Advanced Custom Fields Pro et certains modules complémentaires WooCommerce. Ce n'est pas tout. Le total peut être de plusieurs milliers de dollars par mois. Ce n'est pas unique à l'approche d'intégration, mais cela aide à illustrer que le coût des sites Web WordPress peut également être assez élevé. Ils ne publient pas de prix (une stratégie commune pour les entreprises), mais le propre service d'hébergement VIP WordPress d'Automattic est définitivement au-dessus de quatre chiffres, puis vous devez également ajouter du contenu tiers.
Conclusion: il n'y a pas de changements majeurs dans les prix ici.
performance
80% des performances de la page Web sont un problème frontal.
C'est vrai, mais il est également basé sur des serveurs (20% de l'initiale ). L'interface la plus rapide au monde si la première demande du serveur prend quelques secondes pour revenir, elle ne semblera pas très rapide. Si vous voulez un site Web rapide, vous devez vous assurer que la première demande est très rapide.
Savez-vous ce qui est super rapide? Global CDN fournit des fichiers statiques. Quelle que soit la situation du serveur backend, de l'hébergement ou de la CMS, c'est ce que vous voulez réaliser. Bien que ce soit la base de Jamstack (l'hébergement statique soutenu par CDN), cela ne signifie pas que WordPress ne peut pas faire cela.
Vous mettez un fichier index.html avec du contenu statique sur netlify et ce sera très rapide. Peut-être que votre générateur de sites Web statique générera ce fichier (il convient de souligner qu'il est susceptible d'obtenir du contenu de WordPress). C'est très génial.
Par défaut, WordPress ne génère pas de fichiers statiques qui peuvent être mis en cache sur les CDN globaux. WordPress répond aux demandes d'une seule source, exécute PHP, puis demande le contenu de la base de données, puis assemble la réponse et revient enfin à la page. Cela peut être rapide, mais il est beaucoup moins stable que les fichiers statiques sur les CDN globaux et est plus susceptible d'être submergé par les demandes.
Les hôtes WordPress le savent et ils essaient de résoudre ce problème au niveau de l'hébergement. Jetez un œil à la méthode du moteur WP. Sans que vous ne fassiez rien, ils utilisent la mise en cache de page afin que le site Web puisse essentiellement renvoyer des actifs statiques sans exécuter PHP ou accéder à la base de données. Ils utilisent également une variété d'autres technologies de mise en cache, notamment en travaillant avec CloudFlare pour une mise en cache optimale. Mon site Web Shoptalkshow.com était en fait en baisse lorsque j'écrivais ceci. J'ai écrit au volant de l'hôte pour voir ce qui s'est passé. Il s'avère que lorsque j'y suis allé et ouvert un site de mise en scène, j'ai changé un mauvais interrupteur, éteint leur cache. Le site Web ne peut pas gérer directement le trafic et les plantages. Ratter le commutateur de cache a résolu le problème immédiatement. Je n'utilise pas CloudFlare devant le site Web, mais je le devrais.
CloudFlare fait partie des conseils magiques pour rendre plus rapidement WordPress. Il suffit de le mettre devant un site Web WordPress auto-hébergé et vous pouvez jouer un rôle énorme dans l'amélioration de la vitesse et de la fiabilité. L'une des parties manquantes est l'excellente mise en cache de HTML elle-même, qu'ils ont résolu ce mois-ci et sont maintenant disponibles pour cache également. Fait intéressant, la mise en cache WordPress signifie des demandes de cache comme des actifs HTML et statiques statiques et les servant des CDN mondiaux, qui est finalement l'essence de Jamstack.
Matt M. a mentionné que WordPress.com utilise un CDN global lancé à un niveau de trafic spécifique. Je ne sais pas si c'est Cloudflare, mais je n'en douterai pas.
Après avoir utilisé CloudFlare devant un site WordPress, le premier numéro de réponse que je vois est le même qu'un site Netlify sans CloudFlare (car ils ne recommandent pas d'utiliser CloudFlare devant un site hébergé Netlify). Il s'agit d'un numéro d'ordre en millisecondes à deux chiffres, très bon.
À partir de cette base, toute discussion sur la performance deviendra spécifique au front. La stratégie de vitesse frontale est la même quelle que soit la situation du serveur arrière, de l'hébergement ou de la CMS.
Sécurité
Il y a beaucoup plus d'histoires sur le site Web WordPress piraté que sur le site Web de Jamstack. Mais est-il juste de dire que WordPress est moins sécurisé? WordPress existe depuis environ vingt ans, et le nombre de sites Web construits sur celui-ci est plus des ordres de grandeur que Jamstack. Mis à part la sécurité, compte tenu de ces chiffres, vous entendrez plus d'histoires de WordPress.
Matt M a mentionné que Whitehouse.gov utilise WordPress, qui est évidemment un site Web qui nécessite le plus haut niveau de sécurité. Cela ne veut pas dire que WordPress lui-même est un logiciel dangereux. La clé est la façon dont vous l'utilisez. Votre mot de passe est-il dangereux? Quelle que soit la plate-forme que vous utilisez, ce n'est pas sûr. Est-il dangereux pour le serveur lui-même de transmettre des autorisations de fichiers ou des niveaux d'accès? Ce n'est pas entièrement la faute du logiciel, mais vous pouvez être dans cette situation en raison du logiciel. Exécutez-vous la dernière version de WordPress? L'utilisation est au mieux dispersée, et plus la version est âgée, moins elle est en sécurité. Difficile.
Il pourrait être plus intéressant d'envisager d'attaquer le médium . C'est-à-dire, à quel point peut être piraté. Si vos fichiers statiques sont en hébergement statique, je pense qu'il est sûr de dire que les vecteurs d'attaque sont assez petits. Cependant, il y en a encore:
- Votre compte d'hébergement peut être piraté
- Votre référentiel Git peut être piraté
- Votre compte CloudFlare peut être piraté
- Votre nom de domaine peut être volé (cela arrive)
Il en va de même pour les sites Web WordPress, mais il existe d'autres vecteurs d'attaque tels que:
- Code côté serveur: XSS, mauvais plug-ins, exécution à distance, etc.
- Vulnérabilité de la base de données
- Exécutez une ancienne version de WordPress
- Connexion au système est dans le site Web lui-même, par exemple, les méchants peuvent attaquer /wp-login.php
Je pense qu'il est juste de dire que les sites Web WordPress ont plus de vecteurs d'attaque, mais tout site Web a beaucoup de médias. L'hébergement des comptes pour tout site Web est un support majeur. Tout dans la chaîne DNS. Tout service tiers avec des informations de connexion. Tout contenu avec une clé API.
Expérience personnelle: ce site Web utilise WordPress et n'a jamais été piraté, mais ce n'est pas parce qu'il n'a pas été essayé. J'ai l'impression d'avoir besoin de réfléchir davantage à la sécurité des sites Web WordPress que sur les sites construits avec uniquement des générateurs de sites Web statiques.
Extensibilité
Étendre toute méthode coûte de l'argent. Ce site Web WordPress ne s'est pas étendu à grande échelle, mais il nécessite une expansion plus exigeante que les serveurs d'entrée de gamme. Je sert tout le trafic via CloudFlare, donc les données de pointe des 30 derniers jours montrent que je fournis 5 To de bande passante par mois.
Dans le plan d'affaires Netlify (obtenez 600 Go de trafic par mois, puis facturez 20 $ pour chaque 100 Go supplémentaire), le calcul est de 979 $. Rappelez-vous quand j'ai déjà dit que ce site Web a besoin d'un serveur d'environ 1 000 $ par mois? Je les ai écrites avant d'exécuter ces chiffres, donc c'était très proche (génial). Sur l'échelle de ce site Web, Jamstack est comparable à WordPress. Tous les hôtes factureront une bande passante et auront une limite de surcharge. Amplifier les frais de 0,15 $ par Go pour la bande passante sur le plafond mensuel de 15 Go. Flywheel (mon hébergement WordPress) basé sur les plafonds mensuels des visiteurs, et une fois le plafond dépassé, il sera facturé 1 $ pour 1 000 personnes.
L'histoire d'extension WordPress est:
- Utilisez des hôtes qui peuvent le gérer et avoir leurs propres politiques de mise en cache mature.
- CDN tout (cela signifie généralement mettre CloudFlare devant).
- En fin de compte, vous le paierez.
L'histoire de l'extension de Jamstack est:
- Les hôtes et les services sont conçus pour la mise à l'échelle.
- Vous n'avez pas trop à réfléchir à la question de savoir si ce service peut gérer cela ou ai-je besoin d'une migration? Problèmes d'extension comme ça.
- Vous devez en considérer davantage sur le fait que chaque aspect de chaque service aura des prix qui nécessitent une attention .
- En fin de compte, vous le paierez.
J'ai dû migrer mon hébergement WordPress pour trouver un hôte qui correspond aux besoins actuels du site Web. Migrer un site Web WordPress n'est pas facile, mais c'est beaucoup plus facile que de migrer vers un autre CMS. Par exemple, si vous construisez un site Web Jamstack sur un CMS sans tête et que le prix devient trop élevé, le coût de la migration est supérieur à la commutation des hôtes.
J'ai aimé Dave Rupert l'autre jour (dans la conversation Slack) sur la comparaison des performances des deux:
JAMSTACK: Utilisez n'importe quoi pour construire vos affaires, il y a des modules complémentaires qui peuvent vous aider et utiliser nos affaires pour le déployer dans le CDN afin qu'il ne se bloque pas.
WordPress: utilisez nos affaires pour construire vos affaires, il y a des modules complémentaires qui peuvent vous aider, vous devez utiliser certains hôtes pour l'empêcher de s'écraser.
Il existe d'autres types d '"extensions". Ce à quoi je pense, c'est le nombre d'utilisateurs et d'autres choses. Il s'agit d'une métrique compréhensible pour divers services à utiliser dans la hiérarchie des prix. Mais dans WordPress, c'est gratuit. Vous pouvez avoir autant d'utilisateurs que vous le souhaitez et avoir autant d'autorisations méticuleuses que vous le souhaitez. Ce n'est que CMS, donc l'ajout d'autres services peut toujours être facturé par utilisateur. Vercel ou Netlify Frais par utilisateur pour les comptes d'équipe. Contentful (un CMS sans tête populaire) commence à 489 $ par mois. Même le niveau d'équipe de GitHub coûte 4 $ par utilisateur si vous avez besoin de fonctionnalités qu'un compte gratuit n'offre pas.
Séparer le front-end et le back-end
C'est un facteur important qui rend les gens ravis de créer des sites Web avec Jamstack. Si toutes les fonctionnalités et le contenu de mon site Web sont derrière l'API, le front-end peut être construit comme vous le souhaitez.
- Vous voulez créer un site Web entièrement statique? OK, accédez à cette API pendant le processus de construction et faites-le.
- Vous voulez créer un site Web rendu côté client à l'aide de React ou Vue ou autre chose? Très bon, API d'accès client.
- Vous souhaitez diviser le milieu, pré-en-rendu, rendu côté client, rendu côté serveur? Cool, c'est une API auquel vous pouvez accéder autant que vous le souhaitez.
Cette flexibilité est excellente dans une toute nouvelle construction, mais les gens sont également enthousiasmés par la flexibilité future théorique . Si toutes les fonctionnalités et le contenu sont dirigés par API, vous pouvez séparer complètement le front-end et le back-end, ce qui signifie que vous pouvez changer chaque côté de manière plus flexible à l'avenir.
- Tant que votre API continue de produire ce que l'attente frontale attend, vous pouvez réarchiteser le back-end sans affecter le frontal.
- Tant que vous obtenez les données dont vous avez besoin, vous pouvez réarchiteser le frontal sans affecter le back-end.
Pour les sites Web d'une taille et d'une taille spécifiques, cette séparation semble "en sécurité à l'avenir". Je ne peux pas déterminer exactement quels sont ces numéros de taille, mais ils existent.
Si vous avez déjà fait un grand site Web à réarchitecte juste pour s'adapter à une partie ou à l'autre, il semble certainement une sage décision de passer à un système qui sépare le backend et le frontend.
Vous pouvez détacher votre site Web WordPress (nous discuterons dans la section "Utiliser les deux"), mais par défaut, WordPress est une solution très intégrée où le frontal est construit à partir de thèmes de PHP à l'aide d'une API très spécifique à WordPress. Il n'y a aucune séparation du tout.
Expérience du développeur
Jamstack a largement priorisé l'expérience du développeur (DX). J'ai entendu dire que certains l'appeler «l'optimalité locale», ce qui signifie que la conception de Jamstack tourne autour de l'expérience locale de développement (et du développeur local).
- Vous devriez travailler localement. Vous travaillez dans votre propre environnement de développement confortable (local, rapide, personnalisé).
- Git est le premier citoyen. Vous appuyez vers votre succursale de production (comme Master ou Main), puis votre processus de construction s'exécute et votre site Web est déployé. Vous pouvez même obtenir une URL d'aperçu pour le site Web de production pour chaque demande de traction, qui est une fonctionnalité impressionnante.
- Utilisez n'importe quel outil que vous aimez. Voulez-vous prédéterminer un site Web à Hugo? Fais-le c'est tout. Avez-vous appris Create-React-App à l'école? Bien que utilisé. Vous voulez essayer le dernier framework? Même si vous essayez. Vous êtes libre de créer votre propre chemin, en profitant du fait que vous pouvez créer et déployer tout dossier que vous souhaitez dans le référentiel.
- Les choses que vous n'avez pas à faire sont également importantes. Vous n'avez pas à gérer HTTPS, vous n'avez pas à faire face à Cache, vous n'avez pas à vous soucier des autorisations de fichiers, vous n'avez pas à configurer CDN. Même les développeurs seniors apprécient qu'il n'est pas nécessaire d'en faire plus.
Cela ne veut pas dire que WordPress ne considère pas l'expérience du développeur (par exemple, ils ont une CLI qui fait des opérations utiles comme les éléments constitutifs), mais je ne pense pas que DX soit aussi important pour moi que le cœur du projet.
- L'exécution de WordPress localement est délicate et vous oblige à exécuter la pile d'ampli (x) en quelque sorte, ce qui implique un logiciel tiers notoirement insaisissable. Merci local par Flywheel. Il y a des conseils, mais cela ne ressemble pas à une priorité.
- Que dois-je mettre dans Git? À ce jour, je ne suis toujours pas très clair, mais j'ai essentiellement décidé d'utiliser le dossier entier / contenu WP. Pour moi, il est étrange qu'il n'y ait pas de conseils ou de meilleures pratiques évidentes.
- Vous devez être responsable de votre propre déploiement. Même les hôtes dédiés WordPress ne font pas vraiment cela. C'est en grande partie juste: il s'agit de vos informations d'identification SFTP .
- Même si vous avez une bonne configuration de pipeline de développement et de déploiement local (je suis très satisfait du mien), cela n'aide pas vraiment le mouvement de la base de données, vous devez donc en assumer vous-même.
Ce sont tous des problèmes qui peuvent être résolus, et la communauté WordPress est énorme et vous pouvez trouver beaucoup d'informations pertinentes, mais je pense qu'il est juste de dire que WordPress n'a pas DX comme cœur. Même après toutes ces années, c'est toujours un peu comme le Far West.
En fait, j'ai constaté que beaucoup de gens n'ont tout simplement pas un environnement de développement local en raison de la marginalisation des encouragements pour un environnement de développement local sain. C'est une anecdote, mais maintenant je me suis retrouvé à deux reprises dans les sites Web d'autres personnes qui sont entièrement en production uniquement . C'est une autre histoire si ce sont des sites très simples et ont un comportement par défaut dans une large mesure, mais ces sites ne le sont pas. Ils sont très complexes (beaucoup plus complexes que ce site), impliquant des connexions des utilisateurs publics, des abonnement et des autorisations rémunérés, des constructeurs de pages, des codes Shortcodes personnalisés, des CSS personnalisés et un grand nombre de pièces actives. Cela me fait beaucoup peur. Je ne veux rien toucher. Ils modifient PHP sur place pour faire fonctionner les choses - comme les gens ont plaisanté, codage en denim . Avec une erreur de syntaxe, le site Web se bloquera, et peut-être même la page que vous consultez.
Il est très intéressant de propulser WordPress sans DX particulièrement bon. Sans DX, il n'y a pas de jamstack. Ceci est entièrement pour les développeurs. Pour WordPress, la plupart des sites Web peuvent ne pas avoir du tout des développeurs . Il est installé (ou activé dans le cas de WordPress.com) et le propriétaire du site Web commence. Les propriétaires de sites Web sont comme des développeurs, ils ont beaucoup de puissance, mais peuvent écrire de code du tout.
Pour ce faire, je voudrais dire que WordPress se concentre davantage sur UX que DX, ce qui est une partie très importante de tout cela…
CMS et utilisateur final UX
WordPress est un très bon CMS. Même si vous ne l'aimez pas, il y a beaucoup de gens qui l'aiment, et les données parlent pour tout cela. Lorsque vous décidez de créer un site Web avec WordPress, vous gagnez une grande partie de la possibilité de créer presque tous les types de sites Web que vous souhaitez. Il est peu probable que cela se produise avec WordPress , je me pousse à une impasse .
C'est un gros problème. Jenn souligne cela, soulignant que les personnes qui utilisent WordPress sont plus importantes que les besoins des développeurs.
WordPress peut faire beaucoup de choses:
- Blog (ou tout type de site Web de style CMS centré sur le contenu)…
- Avec un aperçu du contenu, c'est possible mais délicat dans Jamstack
- Gérer les utilisateurs / autorisations…
- Au niveau de l'administrateur / CMS, et
- Au niveau orienté utilisateur (par exemple les forums, abonnements, sociaux, etc.)
- Commerce électronique
- Formulaires de traitement
- Gérer les plugins à l'extrême
Jamstack peut certainement faire toutes ces choses aussi, mais maintenant c'est Jamstack à l'ère du Far West. Lorsque vous regardez des tutoriels sur la façon de stocker les données, ils impliquent généralement d'expliquer comment rédiger une fonction CRUD unique pour une base de données cloud. C'est la chose sous-jacente, elle peut être très puissante, mais c'est très différent de cliquer sur quelques boutons, et c'est exactement ce que WordPress se sent dans la fois.
Je parie que je pourrais probablement utiliser l'API Stripe pour reconstituer une configuration de commerce électronique Jamstack de base, ce qui est plutôt cool. Mais quand je dois commencer à penser à la gestion des stocks, aux zones d'expédition, aux variantes de produits et à qui sait ce qui est compliqué dans le monde du commerce électronique, je me sens nerveux, ce qui me fait souhaiter avoir quelque chose de vraiment puissant pour m'aider à faire tout cela.
Parfois, nous, les développeurs, créons simplement des sites Web pour eux-mêmes (j'en fais beaucoup), mais je pense que les développeurs construisent principalement des sites Web pour d'autres personnes. La question la plus importante est donc: la chose que je construis améliore les capacités des personnes pour lesquelles je construis?
Vous pouvez quand même réaliser une bonne expérience de gestion de site Web, mais WordPress a sans aucun doute prouvé qu'il offre des services dans le domaine sans avoir à faire trop d'efforts dans le développement personnalisé.
Cependant, Jamstack a quelques conseils que j'espère implémenter sur WordPress. Une astuce importante pour moi est: le contenu et les mises à jour soumises par l'utilisateur. En fait, j'ai trois sites qui en bénéficient actuellement. Un site Web sur les conférences, un site Web sur Serverless et un site Web à venir sur le codage des polices. WordPress peut certainement faire un excellent travail sur les trois sites. Mais ce que je veux vraiment, c'est permettre aux gens de mettre à jour et de commettre du contenu d'une manière que je peux dire: oui, ça a l'air bien, fusionner. En adoptant l'approche Jamstack, le contenu est situé dans un référentiel public GitHub et n'importe qui peut participer.
Je pense que c'est génial. Il ne nécessite même pas nécessairement quelqu'un dans le public pour comprendre ou comprendre Git ou Github, car Netlify CMS a le concept de création ouverte, ce qui maintient toute l'expérience de contribution dans le navigateur et fournit une interface utilisateur pour l'édition.
Utilisez les deux en même temps
C'est une question importante que je vois souvent être mentionnée. Même Netlify lui-même dit "pas d'opposition".
Le problème est le suivant:
- "A" In "Jam" représente l'API. Utilisez des API pour créer votre site Web au moment de la construction ou au client.
- Les sites Web WordPress ont une API REST par défaut (et peuvent également avoir une API GraphQL).
- Utilisez donc cette API pour obtenir des données CMS sur votre site Web Jamstack.
Oui, c'est tout à fait OK. Cela fonctionne, et les gens le font. Je pense que c'est cool.
mais……
- L'exécution d'un site Web WordPress en dehors de votre site Web Jamstack signifie… vous exécutez un site Web WordPress ainsi que votre site Web Jamstack. Cela entraîne des coûts et une dette technique.
- Vous n'obtenez généralement pas toute la valeur de WordPress. L'utilisation d'une API pour obtenir des données est probablement tout ce que vous avez à faire, mais c'est une façon très, très différente de créer un thème WordPress. Vous n'obtenez aucune autre valeur de WordPress. Ce à quoi je pense, c'est une situation comme ceci: vous trouvez un plugin sympa qui ajoute un bloc de Gutenberg fantaisie à votre site Web. Ce "Just Exécuter" sur un site WordPress, mais il peut avoir un comportement frontal spécial qui ne fonctionnera pas si vous extriez simplement HTML de l'API. Il peut contenir des scripts et des styles supplémentaires dont vous avez besoin pour comprendre comment fusionner dans votre emplacement d'hébergement frontal, ainsi que de maintenir les mises à jour vous-même.
Voici tous les participants avec une approche unique «Utiliser les deux»:
- Frontité: le cadre de réaction de WordPress. Vous pouvez l'exécuter derrière et utiliser un serveur de nœuds, ainsi que votre site Web WordPress. Les rendements du serveur de nœuds réagissent à HTML, vous pouvez donc effectuer un rendu côté serveur pour toutes les pages, mais vous construisez toujours le spa.
- WP2STATIC: Un plugin WordPress qui construit une version statique d'un site Web et le déploie automatiquement lorsque des modifications sont apportées.
- Strattic: Ils hébergent des sites Web Dynamic WordPress pour vous (qu'ils appellent "Staging") où vous pouvez utiliser WordPress normalement. Vous pouvez ensuite choisir de déployer et ils hébergeront également une version statique de votre site Web pour vous.
- SHIFTER: SHIFTER héberge les sites Web WordPress pour vous. Vous avez deux options: 1) exécutez sans tête (afin que vous accédez simplement à l'API, au repos ou à GraphQL pour obtenir les données) ou 2) exécutez statiquement (donc lorsque vous avez tout ce que vous voulez dans WordPress, vous pouvez le déployer, ce qui créera une version statique du site Web, ils seront également hébergés, ou vous pouvez le pousser ailleurs comme Netlify).
Il existe de nombreuses autres façons d'intégrer les deux. Voici notre Geoff et Sarah qui parlent de la façon d'utiliser WordPress et Jamstack en utilisant Vue / Nuxt avec l'API REST et l'hébergement sur NetLify.
Aucun d'eux n'est utilisé
Juste au cas où cela ne serait pas clair, il existe certainement de nombreuses façons de créer un site Web. Si vous construisez un site Web Ruby on Rails, ce n'est pas Jamstack ou WordPress. Vous pouvez le considérer comme plus comme un site Web WordPress car il nécessite un serveur et vous utiliserez ce serveur pour faire autant que vous le pouvez. Vous pouvez également penser que cela ressemble plus à Jamstack car il encourage les services API et combinatoires même s'il n'est pas hébergé statiquement.
Le réseau est grand, les gars, ce n'est pas un jeu à somme nulle. Je m'attends à ce que WordPress continue de croître et Jamstack continue de croître parce que le réseau lui-même se développe . Même si nous ne considérons que le pourcentage de parts de marché, je pense toujours que les deux grandiront, poussant quoi que ce soit d'autre dans un segment plus petit.
choisir
Je n'en discuterai même pas ici. Ce n'est pas parce que j'évite le favoritisme, mais parce que ce n'est pas nécessaire. Je ne vois pas les développeurs là-bas se mordre les ongles en essayant de décider d'utiliser des méthodes WordPress ou Jamstack pour créer le site Web. Nous avons atteint le point où la technologie est suffisamment comprise, et le processus est le suivant:
- Portez les bons vêtements
- Évaluation des besoins et des résultats
- Sélectionner la technologie
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Si vous avez récemment commencé à travailler avec GraphQL ou examiné ses avantages et ses inconvénients, vous avez sans aucun doute entendu des choses comme "GraphQL ne prend pas en charge la mise en cache" ou

Dans cet article, nous plongerons dans le monde des barres de défilement. Je sais, ça ne semble pas trop glamour, mais croyez-moi, une page bien conçue va de pair

L'API de transition Svelte fournit un moyen d'animer les composants lorsqu'ils entrent ou quittent le document, y compris les transitions Svelte personnalisées.

Combien de temps passez-vous à concevoir la présentation de contenu pour vos sites Web? Lorsque vous écrivez un nouveau blog ou créez une nouvelle page, pensez-vous à

Avec la récente montée du prix du bitcoin sur 20k $ USD, et pour lui, récemment en train de briser 30k, je pensais que cela valait la peine de reprendre une profonde plongeon dans la création d'Ethereum

Les commandes NPM exécutent diverses tâches pour vous, soit en tant que processus unique ou en cours d'exécution pour des choses comme le démarrage d'un serveur ou la compilation de code.

Je discutais avec Eric Meyer l'autre jour et je me suis souvenu d'une histoire d'Eric Meyer de mes années de formation. J'ai écrit un article de blog sur la spécificité CSS, et

L'article discute de l'utilisation de CSS pour les effets de texte comme les ombres et les gradients, les optimiser pour les performances et l'amélioration de l'expérience utilisateur. Il répertorie également les ressources pour les débutants (159 caractères)


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Dreamweaver CS6
Outils de développement Web visuel

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Version Mac de WebStorm
Outils de développement JavaScript utiles

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.