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?
javascript
angularjs
local-storage
Matthew Dolman
sumber
sumber
Jawaban:
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.
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 menggores5MB
batasnya. itu tidak dimaksudkan untuk itu, tapi tetap saja, itu bisa sangat berhasil digunakan untuk caching tanggapan server.