Rungutan paling biasa tentang membaca akhbar dalam talian bukan tentang reka bentuk, tetapi terowong. Pembaca membuka edisi di rumah dan menghabiskannya dalam kereta api yang hilang isyarat di antara stesen. Dalam Inkfold 1.1, kami menjadikan e-akhbar sebuah aplikasi web yang boleh dipasang dan memastikan edisi yang dibuka boleh dibaca tanpa talian. Tiada gedung aplikasi, tiada kod berasingan.
Manifest yang dijana daripada tetapan bilik berita
Manifest aplikasi web ialah satu laluan, bukan fail statik. Ia mengambil nama laman, slogan dan warna jenama daripada tetapan penerbit serta menyenaraikan tiga ikon: SVG boleh skala dan PNG 192 serta 512 piksel, dengan yang terbesar ditanda sebagai maskable supaya Android boleh memotongnya mengikut sebarang bentuk. Menukar nama akhbar di bilik berita turut menukar nama aplikasi yang dipasang, tanpa perlu membina semula apa-apa.
Service worker dengan tiga peraturan mudah
Kami mengekalkan service worker cukup kecil untuk dibaca sekali duduk:
- Imej halaman dan aset: cache dahulu. Nama failnya mengandungi bahagian rawak dan tidak pernah berubah, jadi salinan dalam cache sentiasa betul.
- HTML: rangkaian dahulu. Ketika dalam talian, pembaca sentiasa mendapat muka depan hari ini; salinan cache hanya digunakan apabila rangkaian gagal.
- Bilik berita dan akaun pembaca tidak pernah dicache. Permintaan ke panel admin dan halaman akaun terus ke rangkaian.
Cache dinamakan dengan versi, dan versi lama dipadam apabila service worker baharu diaktifkan, jadi keluaran baharu tidak meninggalkan fail lapuk.
Pembaca meminta keseluruhan edisi
Menyimpan hanya apa yang kebetulan dilihat pembaca akan meninggalkan lompang. Oleh itu, apabila edisi dibuka, skrip pembaca menghantar mesej kepada service worker dengan imej sederhana setiap halaman yang boleh dilihat pelawat, dan worker memuat turun yang belum ada di latar belakang, sehingga lapan puluh bagi setiap edisi. Halaman premium berkunci tidak pernah ada dalam senarai itu kerana imejnya langsung tidak dihantar kepada pelawat tanpa akses.

Simpan berita untuk dibaca kemudian
Bacaan luar talian sesuai dengan senarai bacaan. Pembaca yang log masuk kini boleh menyimpan berita atau keratan dengan satu sentuhan; ia muncul di halaman akaun bersama penerbitan, tarikh dan halaman. Titik akhir itu idempoten, jadi sentuhan berganda tidak menyimpan berita yang sama dua kali, dan ia menyemak akses terlebih dahulu: berita pada halaman berkunci tidak boleh disimpan oleh orang yang tidak dibenarkan membacanya.

Perkara utama
- Jana manifest daripada tetapan supaya aplikasi yang dipasang mengikut jenama.
- Cache dahulu untuk fail tetap, rangkaian dahulu untuk HTML dan tiada cache untuk kawasan peribadi.
- Biarkan halaman memberitahu service worker apa yang diperlukan untuk salinan luar talian yang lengkap.
- Jangan sekali-kali cache, malah jangan hantar, kandungan yang tidak boleh dilihat pelawat.
Sebelum ini dalam siri ini: paparan dua halaman. Pasang demo Inkfold melalui menu pelayar telefon anda untuk mencubanya; perisiannya ada di Charming Theme.
Mahu akhbar anda berada di skrin utama pembaca? Mari berbincang — ArtinTech Solution membina aplikasi web progresif untuk penerbit.