Apakah ada alasan untuk tidak menggunakan penyimpanan lokal HTML5 untuk konten

9

Pada banyak situs web statis ukuran total konten teks aktual dari 20 halaman paling populer akan berada di bawah 100kb.

Saya membayangkan bahwa mungkin untuk memanfaatkan penyimpanan lokal HTML5 untuk mengunduh konten melalui AJAX dari server dalam satu file, menyimpannya ke penyimpanan lokal dan menggunakannya dengan kerangka kerja JS yang digerakkan oleh data seperti angularJS. Bahkan Anda bisa mengunduh lebih banyak konten secara diam-diam di latar belakang. Ini berpotensi membuat pengalaman pengguna yang sangat cepat dan responsif.

Meskipun demikian, saya belum melihat situs web yang bekerja dengan cara ini. Apakah ada alasan mengapa saya tidak hadir sehingga membuat ini ide yang buruk?

Matthew Dolman
sumber
1
Jangan lupa tentang membuat SEO berfungsi. Dan, apakah Anda benar-benar perlu menemukan kembali cache browser?
jfriend00
Anda lupa bahwa banyak dari ini dilakukan untuk Anda oleh browser. Alasan yang baik untuk tidak melakukan ini adalah: bagaimana jika Anda perlu memperbarui satu sumber daya seperti itu?
Neil
Ini adalah ide yang buruk karena jauh lebih mudah untuk memasok header penangkapan yang benar untuk permintaan GET Anda dan membiarkan browser melakukan tugas berat.
Esben Skov Pedersen
@ jfriend00, ya saya juga bertanya-tanya tentang SEO. Saya percaya bahwa perayap Google dapat menangani beberapa javascript dasar tetapi ini mungkin berada di luar jangkauan perayap mereka.
Matthew Dolman
@ Neil, saya kira Anda bisa memiliki batas waktu habis masa berlakunya tergantung pada sumber daya. Seperti yang saya sebutkan di posting saya lebih memikirkan situs statis yang tidak akan menjalani pembaruan jangka pendek
Matthew Dolman

Jawaban:

6

Saya pikir jawaban singkat untuk pertanyaan Anda adalah bahwa alasan Anda tidak melihat banyak terjadi seperti apa yang Anda jelaskan adalah bahwa penyimpanan lokal HTML5 sama sekali tidak sesuai dengan tugas, dan kami memiliki sampai hanya dua tahun terakhir atau kurang memiliki apa pun ditentukan yang akan memberikan solusi yang lebih baik.

Tentang penyimpanan lokal HTML5 secara khusus: Ini memiliki kondisi balapan dan beberapa masalah lain yang mencegahnya agar tidak cocok untuk digunakan dalam produksi untuk aplikasi apa pun di mana Anda ingin memastikan tidak ada kerusakan data dan di mana Anda ingin dapat menyimpan lebih dari sekadar string .

Masalah-masalah dalam penyimpanan lokal mungkin dapat diperbaiki tetapi kenyataannya adalah bahwa tidak ada vendor mesin browser yang tertarik pada saat ini dalam memasukkan sumber daya lebih lanjut ke dalam implementasi penyimpanan lokal mereka. Mereka semua lebih suka bahwa pengembang Web menggunakan alternatif penyimpanan lokal.

Ngomong-ngomong, untuk use case yang Anda jelaskan, untungnya ada sebenarnya solusi yang lebih kuat dalam karya. Bagian penting yang akan muncul adalah Service Worker — dan, dalam konteks pertanyaan ini, Service Cache Worker dan CacheStorage interface secara khusus.

Juga IndexedDB adalah solusi tingkat produksi yang sekarang dimiliki oleh runtime Web untuk kasus umum penyimpanan data yang kuat pada klien, dengan implementasi yang efisien, dan dengan lebih banyak kontrol penuh fitur atas jenis data yang disimpan dan bagaimana penyimpanannya.

sontonbarker
sumber
"local storage is in no way up to the task"- YA itu IS untuk tugas. Anda dapat membuang respons yang datang dari server, dan untuk aplikasi sederhana Anda tidak akan menggores 5MBbatasnya. itu tidak dimaksudkan untuk itu, tapi tetap saja, itu bisa sangat berhasil digunakan untuk caching tanggapan server.
vsync