Jak napisać notyfikacje przeglądarki w aplikacji webowej

0

Witam wszystkich,

Chciałbym uzyskać informacje na temat sposobów implementacji notyfikacji przeglądarki przez aplikacje webową.
Mam na myśli dwie sytuacje:

  • Pierwsza dotyczy mechanizmu który polegał by na subskrybowaniu przez daną grupę użytkowników np; jakiegoś kanału (powiedzmy że kanału z filmikami) i wtedy po dodaniu filmiku przez autora kanału, wszyscy sybskrybenci otrzymali by powiadomienie dokładnie w momencie dodania filmiku przez autora.
  • Drugi przypadek dotyczy sytuacji kiedy jakiś zalogowany użytkownik założmy, że dostaje "like" od innego użytkownika (jak na Facebook) i wtedy w tym samym momencie dostaje powiadomienie w przeglądarce o otrzymaniu owego "like".

Czyli generalnie chodzi mi o wysyłanie powiadomień przez serwer bez przeładowania przeglądarki.

Z racji tego, że nigdy nie miałem okazji pisać takiego mechanizmu chciałbym prosić o jakieś wskazówki. Jakie są najlepsze sposoby na implementacje takiego mechanizmu? Jakie są alternatywy? Czy ktoś ma jakieś doświadczenia z tym związane i chciałby podzielić się spostrzeżeniami? Chodzi mi o porady dotyczące zarówno strony backendowej (Java, Spring.. itp) jak i frontendowej (angular2+)

1

Poczytaj sobie o Server Sent Events. Spring ma do tego dobre wsparcie (SseEmitter).

1

WebSockets (chyba już ogólnie znane):
https://developer.mozilla.org/pl/docs/WebSockets

Push notifications od Google (fajna technologia, ale nie wszystkie przeglądarki wspierają):
https://developer.mozilla.org/en/docs/Web/API/notification
https://developer.mozilla.org/en/docs/Web/API/Push_API
https://developers.google.com/web/fundamentals/engage-and-retain/push-notifications/

Są jeszcze inne starsze metody, jak long polling, ale ja jednak spróbowałabym jednej z powyższych, zapewne padłoby na WebSockets z racji dobrego wsparcia w przeglądarkach.
https://caniuse.com/#search=websocket

1

Pushpin, Kafka.

1 użytkowników online, w tym zalogowanych: 0, gości: 1