Fermer

octobre 26, 2022

Qu’est-ce que GraphQL et comment l’utiliser dans Sitefinity DX


GraphQL est un langage de requête hautes performances pour travailler avec les services API RESTful. Il est très populaire parmi les développeurs de logiciels et dispose d’une large communauté qui l’utilise.

Dans cet esprit, et compte tenu de tous les avantages de productivité et de performances de l’adoption du protocole, nous avons introduit le support officiel de GraphQL dans Sitefinity DX 14.3.

Nous avons essayé de faciliter la courbe d’apprentissage pour les développeurs et d’accélérer la mise sur le marché en générant automatiquement des points de terminaison GraphQL, comme nous l’avons fait avec le support OData.

GraphQL dans Sitefinity : comment ça marche

GraphQL est intégré à l’interface utilisateur existante pour gérer les services d’API RESTful dans le backend de Sitefinity. Lors de la création d’un service Web GraphQL, vous devez spécifier l’option de protocole correspondante.

"GraphQL-Create-Web-Service"

L’utilisation de GraphQL dans vos projets peut être combinée avec plusieurs technologies. Consultez ces exemples disponibles dans le référentiel Sitefinity GitHub :

La prise en charge de GraphQL dans Sitefinity est facile à activer via un package Nuget et fournit un certain nombre d’options avancées pour les développeurs.

  • Filtrage par relations (récursif avec limitation dans les paramètres avancés)
  • Filtrage des collections associées
  • Développement par relations sur plusieurs niveaux
  • Messages d’erreur détaillés ( y compris tous les résolveurs et faisant référence à la partie de requête en faute)
  • CORS et l’authentification fonctionnent à la fois pour OData et GraphQL

Comment GraphQL se compare à OData

< p>En bref, les protocoles GraphQL et OData semblent être très similaires et servir le même objectif. Cependant, il existe des différences substantielles à la fois dans leur utilisation et dans la manière dont ils exposent le contenu. Voici quelques-uns des avantages de GraphQL par rapport à OData :

  • Récupérer plusieurs ressources avec une seule requête (possible également avec OData, mais plus difficile à mettre en œuvre).
  • Autoriser différents schémas pour l’interrogation, le filtrage et la mise à jour (OData nécessite un seul schéma).< /li>
  • Les propriétés Taxon et Choices sont renvoyées avec leur contenu complet par rapport à OData. Dans OData, la collection Taxon est renvoyée sous la forme d’un tableau de GUID et la collection Choices est renvoyée sous la forme d’un enum.

Performance

L’analyse des performances est toujours importante lorsque vous comptez sur des API pour votre implémentation. Lors de l’implémentation de GraphQL, nous avons réussi à résoudre tous les problèmes N+1 et à nous assurer que notre implémentation de GraphQL est à égalité avec la prise en charge d’OData.

En général, les performances du serveur GraphQL varient en fonction de la requête soumis au serveur, la configuration de votre serveur, etc. Comme prévu, les requêtes complexes peuvent nécessiter plus de ressources car elles récupèrent de grandes quantités de données. En interne, la même couche d’API de base pour OData est utilisée ; par conséquent, les performances de la requête seraient à peu près les mêmes. La différence dans OData est que vous devez utiliser une couche intermédiaire tierce pour la mise en cache, telle que Apollo.

Comment activer GraphQL

GraphQL est inclus dans le package Progress.Sitefinity.All NuGet qui installe Sitefinity CMS.

GraphQL est également distribué en tant que package NuGet facultatif, que vous installez si vous avez mis à niveau votre projet Sitefinity vers la version 14.3 et souhaitez activer le protocole. Plus d’informations sur l’activation de GraphQL sont disponibles dans la documentation Sitefinity.

Comment parcourir le schéma

Les services Web GraphQL qui sont exposés via Sitefinity CMS sont livrés avec un < un href="https://graphql.org/learn/introspection/" cible="_Vide">schéma d’introspection qui autorise des outils tiers comme Facteur ou Explorateur GraphiQL pour intégrer et parcourir le schéma.

"schéma

Puis-je l’utiliser avec le moteur de rendu React ?

J’espère que vous n’avez pas manqué la sortie de notre moteur de rendu autonome React qui étend le contenu sans tête capacités de livraison de la plate-forme. Le L’application de rendu React est une interface découplée pour Sitefinity. Les protocoles de données qu’il prend en charge incluent à la fois OData et GraphQL pour le développement de widgets personnalisés.

Alors, nous y sommes. Sitefinity DX a adopté une approche axée sur l’API pour la diffusion de contenu pour la gestion de contenu sans tête et les expériences multicanaux. Sitefinity DX fournit tous les outils éditoriaux pour les spécialistes du marketing et permet un accès rapide, flexible et convivial aux API.

Découvrez toutes les avancées fonctionnalités de développement de Sitefinity DX et perfectionnez vos compétences avec notre Formation et certification Sitefinity. Si vous souhaitez découvrir la plate-forme et ses fonctionnalités, profitez de votre essai gratuit dès maintenant.

Démarrez votre essai Sitefinity DX





Source link

octobre 26, 2022