Une application serveur est conçue pour fournir des services ou des fonctionnalités à d’autres applications, créer des interfaces depuis le serveur et être utilisée pour gérer des demandes provenant de client.
Avantages
- Chargement initial plus rapide : approche de rendu côté serveur (Server-Side Rendering – SSR), ce qui signifie que la première page est pré-rendue sur le serveur et renvoyée au client.
- Meilleure optimisation SEO : le contenu est directement accessible dans le HTML initial de la page ce qui rend le contenu plus facilement indexable. Les applications serveur peuvent dynamiquement générer des balises méta, des titres de page et d’autres éléments SEO en fonction des données de l’application.
- Certaines applications serveur utilisent également le rendu statique (Static Site Generation – SSG), où les pages sont générées lors de la construction de l’application et servies comme des fichiers HTML statiques.
- Répartir la charge du rendu côté serveur sur le serveur lui-même, ce qui réduit la charge sur les appareils des utilisateurs, en particulier sur les appareils mobiles.
Inconvénients
- Complexité de mise en place : Cela nécessite souvent une configuration supplémentaire et une compréhension approfondie des concepts de SSR ou de SSG.
- Charge du serveur : Il est nécessaire de dimensionner correctement les ressources serveur pour gérer la charge en cas de forte demande.
- Coût : L’hébergement et la maintenance d’un serveur pour SSR ou SSG peuvent être plus coûteux que l’hébergement d’une application purement côté client.
- Temps de développement : Le développement d’applications serveur peut prendre plus de temps en raison de la complexité accrue liée à la gestion du côté serveur et du côté client. Cela peut entraîner des délais plus longs pour la livraison de votre projet.
- JavaScript non activé : Bien que les applications serveur offrent une meilleure accessibilité pour les utilisateurs qui ont désactivé JavaScript, elles peuvent encore dépendre de JavaScript pour certaines fonctionnalités interactives. Si JavaScript est désactivé, certaines parties de l’application peuvent ne pas fonctionner correctement.
- Difficulté à gérer les états côté client : La gestion de l’état côté client peut être plus complexe dans les applications serveur, car les transitions entre les pages peuvent provoquer un rechargement complet de la page, ce qui peut nécessiter une synchronisation d’état supplémentaire.
- Navigation saccadée : à chaque fois qu’une nouvelle requête est effectuée une génération complète de page HTML est effectuée. Il faut attendre que le serveur renvoie le HTML complet.
- Expérience utilisateur plus fluide : rafraîchir la page à chaque fois que l’on navigue entre pages.
- Mises à jour en temps réel : Les applications serveur peuvent être moins adaptées aux applications nécessitant des mises à jour en temps réel constantes, car elles nécessitent généralement un rechargement de page pour obtenir de nouvelles données.
Syn. : serveur d’application