Quali sono le differenze principali tra l'addetto all'assistenza e AppCache. Quali sono i pro e i contro di ciascuno e quando preferire uno rispetto all'altro.Confronto tra l'addetto all'assistenza e AppCache
risposta
La differenza principale è che AppCache è un'API dichiarativa di alto livello, con la quale si specifica il set di risorse che si desidera venga memorizzato nel browser; mentre Service Worker è un'API basata su eventi di basso livello, imperativa, con cui si scrive uno script in grado di intercettare gli eventi di recupero e memorizzare nella cache le risposte insieme a fare altre cose (come la visualizzazione delle notifiche push).
I pro e i contro sono in gran parte una funzione del design dell'API: in teoria, AppCache è più facile da utilizzare, pur avendo casi d'uso più limitati; mentre Service Worker è più difficile da usare, ma è più flessibile.
Tuttavia, AppCache è considerato difficile da utilizzare in pratica a causa di una progettazione scadente (vedere Application Cache Is A Douchebag per un elenco di problemi di progettazione). Ed è stato deprecato, quindi è stato rimosso dai browser (per Using the application cache).
Pertanto, l'unica ragione per preferire AppCache è quella di non in linea un'app sui browser che non supportano ancora il Service Worker, come raccomanda Kenneth Ormandy in Don’t Wait for ServiceWorker: Adding Offline Support with One-Line.
Confronta Can I use Service Workers? a Can I use Offline web applications? per vedere le differenze nel supporto del browser. Tuttavia, tieni presente che i browser che supportano Service Worker, come Chrome e Firefox, stanno rimuovendo il supporto per AppCache, quindi dovrai implementare entrambi per mettere offline l'app su tutti i browser che supportano entrambi gli standard.
In aggiunta di ciò che Myk Melez detto, Uno dei principali vantaggi di Operai contro Application Cache Cache è che l'applicazione funziona solo quando l'utente è disconnesso dalla rete, in modo non è possibile gestire situazioni di:
1- "rete lenta": il segnale di connessione è forte, tuttavia alcune entità esterne (server, percorsi, ecc.) ritardano la trasmissione alla specifica applicazione.
2- "Lie-fi" (il telefono mostra collegato a una rete Wi-Fi o cellulare con segnale basso), quindi sembra essere collegato quando in realtà non lo è.
Service Workers è come un middleware che ti dà il controllo sulle richieste che il browser sta facendo, puoi effettivamente intercettare la richiesta e rispondere ovunque vuoi, indipendentemente dal fatto che tu sia connesso o meno. Quindi puoi implementare il principio "offline first".
- 1. Confronto tra backbone.js e Dojo
- 2. Confronto tra RabbitMQ e MSMQ
- 3. Confronto tra druido e pipelinedb
- 4. Confronto tra timsort e Quicksort
- 5. Confronto tra PhoneGap e Trigger.io
- 6. Differenza tra codifica e confronto?
- 7. Confronto tra UI jQuery e strumenti jQuery
- 8. Confronto tra MS Charts e ZedGraph?
- 9. Confronto tra i vocabolari Python e R
- 10. Confronto tra alberi R e quadrilateri
- 11. Confronto tra prestazioni IIS e Kestrel
- 12. Sintassi Confronto tra Moq e Rhino mazzi
- 13. Confronto tra null e number in groove
- 14. Confronto di velocità tra Chameleon e Jinja2
- 15. Confronto tra stringa Iterator e Char Pointer
- 16. Confronto tra NewRelic e Azure Insights
- 17. Confronto tra BigDecimal e int in Java
- 18. Confronto tra FPGA e design ASIC
- 19. Confronto tra XNA e DirectX (C#)
- 20. Confronto tra JasperReports e iText/iTextpdf
- 21. Git: gestire un appcache?
- 22. Confronto tra due array
- 23. Differenza tra | e || o & e && per il confronto
- 24. confronto tra puntatore e intero ('int *' e 'int')
- 25. Qual è la differenza tra HTML5 AppCache e la normale cache del browser?
- 26. Confronto tra stringhe in AngularJS
- 27. elasticsearch confronto tra i campi
- 28. Confronto tra due strutture usando ==
- 29. Confronto tra le unioni discriminate
- 30. Confronto tra stringhe con JSTL