Ankündigung

Einklappen
Keine Ankündigung bisher.

Current best practise bzgl. AppCache vs Service Workers mit Cache API

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Current best practise bzgl. AppCache vs Service Workers mit Cache API

    Hi,

    ich schreibe mal wieder eine Web APP und höre nun immer öfter, dass Service Worker (= SW) für Offline Support die bessere Wahl sein soll.

    Immerhin Chrome und Firefox können SW schon. Bei Safari und Edge sind sie in Entwicklung. AppCache soll auf absehbare Zeit abgeschafft werden.

    Was aber mache ich genau heute, wenn ich einer Web APP zumindest teilweise (Bilder, Libraries) Offline Qualitäten einhauchen will.

    Nutze ich bis auf weiteres nur AppCache? Schreibe ich eine Art Weiche, wo entschieden wird, wenn SW gehen dann SW ansonsten AppCache.

    Wobei ich mich frage, wie das gehen soll. Beim Erstaufruf der Site (Web APP) weiß ich ja noch gar nicht, was der Browser kann.

    Musste sich jemand von Euch mit diesen Fragen schon auseinandersetzen und wie habt Ihr es gelöst? Oder allgemein "Was denkt Ihr?"
    Es ist schon alles gesagt. Nur noch nicht von allen.


  • #2
    AppCache ist deprecated.

    Was genau willst du denn machen? AppCache und Service Workers bedienen ziemlich unterschiedliche Anwendungsbereiche.
    Standards - Best Practices - AwesomePHP - Guideline für WebApps

    Kommentar


    • #3
      @rkr: Danke erst mal für Deine Antwort.

      Was genau ich machen will ist wie oben gesagt:
      einer Web APP zumindest teilweise (Bilder, Libraries) Offline Qualitäten einhauchen will.
      Heißt quasi zur Verbesserung der Web-App-Performance statische Ressourcen aus einem langlebigen Cache holen.

      Du sagst
      AppCache ist deprecated.
      Das meine ich doch mit
      AppCache soll auf absehbare Zeit abgeschafft werden
      bzw. genau das heißt es ja auch.

      Nur was mache ich denn heute, wenn Safari weder die App Cache API noch Service Worker unterstützt aber immer noch AppCache wie im übrigen alle anderen gängigen Browser auch?

      Du sagst
      AppCache und Service Workers bedienen ziemlich unterschiedliche Anwendungsbereiche
      Ich habe noch keinen Artikel gefunden, der zukünftige "Offline(First)-Ansätze" ohne Service Worker mit Cache Api beschreibt?!

      Es ist schon alles gesagt. Nur noch nicht von allen.

      Kommentar


      • #4
        Als Hinweis zum Thema:

        Cache
        https://developer.mozilla.org/en-US/docs/Web/API/Cache

        Note that the Cache interface is exposed to windowed scopes as well as workers.
        CacheStorage
        https://developer.mozilla.org/en-US/...I/CacheStorage

        (..) you don't have to use it with service workers, even though that is the spec that defines it (..)
        The CacheStorage interface represents the storage for Cache objects. It provides a master directory of all the named caches that a ServiceWorker, other type of worker or window scope can access
        ---

        Ich habe noch keinen Artikel gefunden, der zukünftige "Offline(First)-Ansätze" ohne Service Worker mit Cache Api beschreibt?!
        Na ja, du wirst entweder selbst was basteln oder Cache API nutzen müssen. Für Browser die das nicht können musst du nach einem Polyfill suchen.

        Kommentar


        • #5
          Vielen Dank an lottikarotti für die genauen Verweise.

          Gut, ich könnte also statt eines Service Workers einen Web Worker nehmen. Den unterstützen wenigstens alle modernen Browser. Ich kann anscheinend auch innerhalb "windowed scope", also innerhalb des HTMLs per script tag, den Cache verwalten.

          Man kann also den Service Worker, und das meinte wohl rkr, völlig aus dem Thema raushalten.

          Somit reduziert sich die Frage auf AppCache vs Cache API, die nicht von Safari unterstützt wird.

          Der erwähnte Polyfill scheint ja das Vorhandensein der Cache API zu unterstellen, oder verstehe ich da was falsch?

          lottikarotti: Was meinst Du denn mit "selbst was basteln". Soll ich mir selber eine Cache API schreiben ?
          Es ist schon alles gesagt. Nur noch nicht von allen.

          Kommentar

          Lädt...
          X