Rumah hujung hadapan web tutorial js Apl Web Progresif (PWA)

Apl Web Progresif (PWA)

Aug 08, 2024 am 08:26 AM

Progressive Web Apps (PWAs)

Membina Apl Web Progresif (PWA)

Dalam siaran ini, kami akan meneroka Apl Web Progresif (PWA), pendekatan moden untuk membina aplikasi web yang menawarkan pengalaman seperti apl asli. Saya akan membincangkan asas PWA, kelebihannya dan langkah-langkah untuk mencipta PWA dari awal.

1. Pengenalan kepada Apl Web Progresif (PWA)

Apakah itu Apl Web Progresif (PWA)?

Apl Web Progresif ialah sejenis perisian aplikasi yang dihantar melalui web, dibina menggunakan teknologi web biasa termasuk HTML, CSS dan JavaScript. PWA bertujuan untuk berfungsi pada mana-mana platform yang menggunakan penyemak imbas yang mematuhi piawaian.

Ciri Utama PWA:

  • Responsif: Berfungsi pada mana-mana peranti dan saiz skrin.
  • Keupayaan Luar Talian: Berfungsi di luar talian atau dengan keadaan rangkaian yang lemah menggunakan pekerja perkhidmatan.
  • Pengalaman Seperti Apl: Menyediakan pengalaman pengguna seperti apl dengan ciri seperti pemasangan skrin utama.
  • Selamat: Disiarkan melalui HTTPS untuk mengelakkan pengintipan dan memastikan integriti kandungan.
  • Boleh berinteraksi semula: Mendayakan pemberitahuan tolak untuk memastikan pengguna sentiasa terlibat.

2. Kelebihan PWA

Mengapa Membina PWA?

  • Peningkatan Prestasi: Masa pemuatan yang lebih pantas dan interaksi yang lebih lancar.
  • Penglibatan Pengguna Dipertingkat: Pemberitahuan tolak dan akses skrin utama.
  • Kos Pembangunan yang Lebih Rendah: Pangkalan kod tunggal untuk pengalaman web dan mudah alih.
  • Faedah SEO: PWA boleh ditemui oleh enjin carian.

3. Menyediakan PWA

Prasyarat:

  • Pengetahuan asas HTML, CSS dan JavaScript.
  • Node.js dan npm/yarn dipasang.

Mencipta PWA Mudah:

  1. Persediaan Projek:

    mkdir my-pwa
    cd my-pwa
    npm init -y
    npm install express
    
    Salin selepas log masuk
  2. Struktur Projek:

    my-pwa/
    ├── public/
    │   ├── index.html
    │   ├── styles.css
    │   └── app.js
    ├── server.js
    ├── package.json
    └── manifest.json
    
    Salin selepas log masuk

4. Mencipta Fail Manifes

manifest.json:

Fail manifes menyediakan metadata tentang PWA dan diperlukan untuk memasang apl pada skrin utama.

// manifest.json
{
  "name": "My PWA",
  "short_name": "PWA",
  "start_url": "/",
  "display": "standalone",
  "background_color": "#ffffff",
  "theme_color": "#007bff",
  "icons": [
    {
      "src": "icon-192x192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "icon-512x512.png",
      "sizes": "512x512",
      "type": "image/png"
    }
  ]
}
Salin selepas log masuk

5. Mencipta Fail HTML, CSS dan JavaScript

index.html:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>My PWA</title>
  <link rel="stylesheet" href="/styles.css">
  <link rel="manifest" href="/manifest.json">
</head>
<body>
  <h1>Welcome to My Progressive Web App!</h1>
  <script src="/app.js"></script>
</body>
</html>
Salin selepas log masuk

styles.css:

/* styles.css */
body {
  font-family: Arial, sans-serif;
  text-align: center;
  background-color: #f0f0f0;
  color: #333;
}
Salin selepas log masuk

app.js:

// app.js
if ('serviceWorker' in navigator) {
  window.addEventListener('load', () => {
    navigator.serviceWorker.register('/service-worker.js')
      .then(registration => {
        console.log('ServiceWorker registered: ', registration);
      })
      .catch(error => {
        console.log('ServiceWorker registration failed: ', error);
      });
  });
}
Salin selepas log masuk

6. Menyediakan Pekerja Perkhidmatan

Pekerja perkhidmatan ialah skrip yang dijalankan oleh penyemak imbas di latar belakang, berasingan daripada halaman web. Ia memintas permintaan rangkaian dan boleh menyimpan sumber untuk meningkatkan prestasi dan keupayaan luar talian.

service-worker.js:

// service-worker.js
const CACHE_NAME = 'my-pwa-cache-v1';
const urlsToCache = [
  '/',
  '/styles.css',
  '/app.js',
  '/manifest.json',
  '/icon-192x192.png',
  '/icon-512x512.png'
];

self.addEventListener('install', event => {
  event.waitUntil(
    caches.open(CACHE_NAME)
      .then(cache => {
        return cache.addAll(urlsToCache);
      })
  );
});

self.addEventListener('fetch', event => {
  event.respondWith(
    caches.match(event.request)
      .then(response => {
        return response || fetch(event.request);
      })
  );
});
Salin selepas log masuk

7. Menyediakan Pelayan

server.js:

const express = require('express');
const path = require('path');

const app = express();
const PORT = process.env.PORT || 3000;

app.use(express.static(path.join(__dirname, 'public')));

app.listen(PORT, () => {
  console.log(`Server is running on http://localhost:${PORT}`);
});
Salin selepas log masuk

Menjalankan Pelayan:

node server.js
Salin selepas log masuk

8. Menguji PWA Anda

  1. Buka Apl:

    • Navigasi ke http://localhost:3000 dalam penyemak imbas anda.
  2. Pendaftaran Pekerja Perkhidmatan:

    • Buka Alat Pembangun (F12 atau klik kanan dan pilih "Periksa").
    • Pergi ke tab "Aplikasi".
    • Di bawah "Pekerja Perkhidmatan", anda sepatutnya melihat pekerja perkhidmatan anda berdaftar.
  3. Tambah pada Skrin Utama:

    • Pada peranti mudah alih, buka PWA anda dalam penyemak imbas.
    • Anda sepatutnya melihat gesaan untuk "Tambah pada Skrin Utama".

9. Amalan Terbaik untuk PWA

Amalan Terbaik:

  • Gunakan HTTPS: PWA memerlukan konteks selamat.
  • Optimumkan Imej: Gunakan imej responsif dan pemuatan malas.
  • Minimumkan Permintaan Rangkaian: Cache sumber dengan berkesan.
  • Pastikan Fungsi Luar Talian: Menyediakan pengalaman luar talian yang bermakna.

10. Kesimpulan

Ringkaskan perkara utama yang diliputi:

  • Pengenalan kepada PWA dan faedahnya.
  • Menyediakan PWA mudah dengan manifes, pekerja perkhidmatan dan caching.
  • Amalan terbaik untuk membina PWA yang teguh.

11. Sumber Tambahan

  • Dokumentasi PWA
  • Tutorial dan panduan tentang topik lanjutan PWA.
  • Forum dan sokongan komuniti.

Atas ialah kandungan terperinci Apl Web Progresif (PWA). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ganti aksara rentetan dalam javascript Ganti aksara rentetan dalam javascript Mar 11, 2025 am 12:07 AM

Ganti aksara rentetan dalam javascript

jQuery mendapatkan padding/margin elemen jQuery mendapatkan padding/margin elemen Mar 01, 2025 am 08:53 AM

jQuery mendapatkan padding/margin elemen

periksa jQuery jika tarikh sah periksa jQuery jika tarikh sah Mar 01, 2025 am 08:51 AM

periksa jQuery jika tarikh sah

10 patut diperiksa plugin jQuery 10 patut diperiksa plugin jQuery Mar 01, 2025 am 01:29 AM

10 patut diperiksa plugin jQuery

10 Tab Accordion JQuery 10 Tab Accordion JQuery Mar 01, 2025 am 01:34 AM

10 Tab Accordion JQuery

HTTP Debugging dengan Node dan HTTP-Console HTTP Debugging dengan Node dan HTTP-Console Mar 01, 2025 am 01:37 AM

HTTP Debugging dengan Node dan HTTP-Console

Tutorial Persediaan API Carian Google Custom Tutorial Persediaan API Carian Google Custom Mar 04, 2025 am 01:06 AM

Tutorial Persediaan API Carian Google Custom

jQuery tambah bar scroll ke div jQuery tambah bar scroll ke div Mar 01, 2025 am 01:30 AM

jQuery tambah bar scroll ke div

See all articles