Para usar recursos como la precaché o las notificaciones push suelen ser muy usados los Service Workers, hay una clase sobre esto en el curso profesional de JavaScript (Chulada de curso), donde el profesor explica como hacer un Service Worker para páginas offline:D
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?