Introduction
L'implémentation Common Lisp du SDK Datastar est désormais disponible, suivant de près l'Architecture Decision Record (ADR) de Datastar. Cette implémentation vise à fournir une solution robuste pour les applications hypermedia. L'intérêt de cette implémentation réside dans sa capacité à intégrer les fonctionnalités de base du SDK Datastar avec les spécificités du langage Common Lisp.
Contexte Technique
Le SDK Datastar-CL repose sur l'utilisation de CLOS (Common Lisp Object System) et est basé sur une classe sse-generator qui compte actuellement deux sous-classes : hunchentoot-sse-generator pour le serveur web Hunchentoot et clack-sse-generator pour l'environnement d'application web Clack. Les deux approches utilisent un flux, mais de manières différentes et avec des initialisations distinctes. Le parseur JSON JZON est utilisé dans deux endroits : read-signals et patch-signals. Cette implémentation permet une utilisation et des tests immédiats de la bibliothèque.
Analyse et Implications
L'implémentation du SDK Datastar en Common Lisp présente plusieurs implications concrètes. Premièrement, elle offre une solution pour les applications hypermedia qui nécessitent une interaction en temps réel, comme les simulations ou les explorateurs de données. Deuxièmement, la prise en charge de la compression, actuellement limitée à zstd, améliore les performances des transmissions de données. Troisièmement, la compatibilité avec différents serveurs web (Hunchentoot et Clack) et l'utilisation de JZON comme parseur JSON facilitent l'intégration dans divers environnements de développement.
Perspective
Les prochaines étapes pour le SDK Datastar-CL incluent l'expansion des fonctionnalités de base et l'ajout de nouvelles utilités. Il est important de surveiller les limitations et les contraintes architecturales, comme la limitation des connexions SSE avec Woo, qui peut être contournée en utilisant Hunchentoot ou une approche de polling. Les développeurs devraient également être attentifs aux mises à jour de la licence MIT et aux évolutions futures de l'écosystème Datastar.