Symfony erhält Mercure-Komponente für Real-time Push Capability
Symfony erhält Mercure-Komponente für Real-time Push Capability
Das PHP-Framework Symfony beinhaltet zukünftig Mercure, eine neue Komponente zur Echtzeitübertragung von Daten vom Server an den Client. Dies war bisher nur durch externe Komponenten möglich.
Symfony wird nun von der Komponente Mercure und dem MercureBundle unterstützt. Diese Kombination soll es dem Nutzer ermöglichen Daten in Echtzeit vom Server an den Client zu übertragen.
Bisher war eine Echtzeitübertragung der Daten gemäß des Ankündigungsbeitrags ohne externe Komponenten nicht möglich, da bekannte PHP SAPIs anhaltende Verbindungen nicht halten konnten. Dem Framework fehlte eine built-in Methode, um Daten an den Client in Echtzeit zu versenden. Mit der implementierten Mercure-Komponente und dem MercureBundle soll dies nun möglich sein. Es handelt sich dabei um ein Open Protocol, welches eine Alternative zu Timer-basierte Abfragen und WebSocket darstellt.
Durch das Implementieren könne laut Blog-Beitrag ein UI erstellt werden, welches Änderungen von anderen Nutzern in Echtzeit übertragt und das UI auch bei Benutzung durch andere Nutzer aktualisiert. Des Weiteren sollen Nutzer über abgeschlossene asynchrone Aufträge informiert werden und mithilfe der Mercure-Komponente Chat-Applikationen erstellen können.
Mercure kommt als Server-Sent Event (SSE) daher und soll aufgrund dessen von den meisten Browsern unterstützt werden. Lediglich Edge und IE benötigen ein Polyfill. Zudem kann die neue Komponente laut Kévin Dunglas, Mitglied des Symfony-Kernteams, in viele Programmiersprachen implementiert werden.
Mercure beinhaltet einen Autorisations-Mechanismus sowie eine automatische re-connection-Funktion mit dem Abruf verlorener Updates, für den Fall, dass Netzwerkprobleme auftreten. Zu den Features gehören außerdem die kontaktlose Push-Funktion für Smartphones und eine automatisch Erkennung. Letzteres ermöglicht, dass der unterstützte Client mithilfe eines speziellen HTTP-Headers automatisch nach Updates in einer bestimmten Quelle sucht und diese abonniert.
Eine anschauliche Darstellung zur Funktionsweise der neue Mercure-Komponente in Symfony wird im folgenden Video auf dem Symfony-Blog bereitgestellt:
Eine ausführliche Installationsanleitung sowie weiterführende Informationen zur neuen Symfony-Komponente finden sich im Ankündigungsbeitrag auf dem offiziellen Symfony-Blog. Die Mercure-Komponente sowie das MercureBundle sind Open Source und gibt es zudem bei GitHub.