SlideShare a Scribd company logo
Progresive Web
App
Oleh Ryan Aunur Rassyid
Studi Independent x Dicoding
Apa itu PWA
“Progressive Web Apps use modern web
capabilities to deliver an app-like user
experience. They evolve from pages in
browser tabs to immersive, top-level apps,
maintaining the web's low friction at every
moment.”
- Alex Russel, Frances Berriman
Kan udah ada Mobile Apps
kenapa buat PWA?
- Sebuah Alternatif
- Prosess Development cepat
- Prosess Update bisa lebih cepat
- Responsive (Mobile, Desktop, dan Tablet)
Sebuah Syarat
- Starts fast, stay fast
- Works in any browser
- Responsive to any screen size
- Provides a custom offline page
- Is Installable
Komponent Pembentuk
- Application Shell
- Web App Manifest
- Service Worker
Optional
- Cache API
- Fetch API
- IndexedDB
- dll
Application Shell
App Shell memisahkan antara base UI dengan
konten yang bersifat dinamis.
App Shell ini akan di-cache sehingga ia lebih cepat
tampil ketika dikunjungi ulang.
Web App Manifest
Web App Manifest merupakan berkas yang
menampung informasi aplikasi seperti:
- Nama
- Deskripsi
- Icon
- Warna Tema
<link rel="manifest" href="app.webmanifest">
Service Worker
Service Worker adalah bagian dasar dari
penerapan PWA yang berjalan dibelakang layar
browser.
Kemampuan utamanya adalah mengambil alih
seluruh pengiriman request ke server yang terjadi
pada browser (client).
Service Worker
Service Worker yang sudah terdaftar/diregistrasi
akan terlihat di devtool bagian Application >
Service Workers.
Google menyediakan library dan tooling untuk
mempermudah penerapan Cache Strategy pada
Service Worker, yaitu Workbox.
Webpack Plugin
webpack-pwa-manifest
Progressive Web App Manifest Generator for Webpack, with auto icon
resizing and fingerprinting support.
workbox-webpack-plugin
A plugin for your Webpack build process, helping you generate a manifest of
local files that workbox-sw should precache.
Tips
- Pada saat mengakses alamat yang sebelumnya sudah terpasang Service Worker, pastikan untuk Clear
Site Data terlebih dahulu.
- Ketika menggunakan Workbox GenerateSW lebih baik diletakan pada konfigurasi production saja.
- Gunakan browser mode Incognito untuk mengatasi masalah cache pada Service Worker.
Terima Kasih

More Related Content

Similar to PWA 101.pdf

Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server Docker
Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server DockerMembuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server Docker
Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server DockerRizkyCrown
 
Pry open qiscus
Pry open qiscusPry open qiscus
Pry open qiscusQiscus
 
Tugas webserver SO II - 09 154
Tugas webserver SO II - 09 154Tugas webserver SO II - 09 154
Tugas webserver SO II - 09 154ridhyld
 
Tugas 4 rekayasa web
Tugas 4 rekayasa webTugas 4 rekayasa web
Tugas 4 rekayasa webmuslim rohadi
 
Aldiragvr pemograman web dan perangkat bergerak
Aldiragvr pemograman web dan perangkat bergerakAldiragvr pemograman web dan perangkat bergerak
Aldiragvr pemograman web dan perangkat bergerakAldira Givari
 
Tugas 1 ihsan riadi - 1412511162
Tugas 1   ihsan riadi - 1412511162Tugas 1   ihsan riadi - 1412511162
Tugas 1 ihsan riadi - 1412511162ihsan riadi
 
laporan aplikasi
laporan aplikasilaporan aplikasi
laporan aplikasiFitra Sani
 
Web Engineering dalam Konteks Web Science: Isu Terkini dan Tantangan
Web Engineering dalam Konteks Web Science: Isu Terkini dan TantanganWeb Engineering dalam Konteks Web Science: Isu Terkini dan Tantangan
Web Engineering dalam Konteks Web Science: Isu Terkini dan TantanganBambang Purnomosidi D. P.
 
Proposal PA reynold syahputra
Proposal PA reynold syahputraProposal PA reynold syahputra
Proposal PA reynold syahputraReynold Syahputra
 
Proposal PA reynold syahputra
Proposal PA reynold syahputraProposal PA reynold syahputra
Proposal PA reynold syahputraReynold Syahputra
 
Rekayasa web
Rekayasa webRekayasa web
Rekayasa webreksa eka
 
Perkembangan web server di Linux
Perkembangan web server di LinuxPerkembangan web server di Linux
Perkembangan web server di LinuxTugas_SO2
 
Tugas-4 REKAYASA WEB
Tugas-4 REKAYASA WEBTugas-4 REKAYASA WEB
Tugas-4 REKAYASA WEBElisanendes
 
Tugas webserver
Tugas webserverTugas webserver
Tugas webservernifran12
 

Similar to PWA 101.pdf (20)

Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server Docker
Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server DockerMembuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server Docker
Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server Docker
 
Pry open qiscus
Pry open qiscusPry open qiscus
Pry open qiscus
 
Tugas webserver SO II - 09 154
Tugas webserver SO II - 09 154Tugas webserver SO II - 09 154
Tugas webserver SO II - 09 154
 
Tugas 4 rekayasa web
Tugas 4 rekayasa webTugas 4 rekayasa web
Tugas 4 rekayasa web
 
Aldiragvr pemograman web dan perangkat bergerak
Aldiragvr pemograman web dan perangkat bergerakAldiragvr pemograman web dan perangkat bergerak
Aldiragvr pemograman web dan perangkat bergerak
 
Tugas 1 ihsan riadi - 1412511162
Tugas 1   ihsan riadi - 1412511162Tugas 1   ihsan riadi - 1412511162
Tugas 1 ihsan riadi - 1412511162
 
Cover
CoverCover
Cover
 
laporan aplikasi
laporan aplikasilaporan aplikasi
laporan aplikasi
 
Cover
CoverCover
Cover
 
Web Engineering dalam Konteks Web Science: Isu Terkini dan Tantangan
Web Engineering dalam Konteks Web Science: Isu Terkini dan TantanganWeb Engineering dalam Konteks Web Science: Isu Terkini dan Tantangan
Web Engineering dalam Konteks Web Science: Isu Terkini dan Tantangan
 
Proposal PA reynold syahputra
Proposal PA reynold syahputraProposal PA reynold syahputra
Proposal PA reynold syahputra
 
Proposal PA reynold syahputra
Proposal PA reynold syahputraProposal PA reynold syahputra
Proposal PA reynold syahputra
 
Tugas 4 - Rekayasa Web
Tugas 4 - Rekayasa WebTugas 4 - Rekayasa Web
Tugas 4 - Rekayasa Web
 
Rekayasa web
Rekayasa webRekayasa web
Rekayasa web
 
Perkembangan web server di Linux
Perkembangan web server di LinuxPerkembangan web server di Linux
Perkembangan web server di Linux
 
Pelajaran jsp smk XI RPL
Pelajaran jsp smk XI RPLPelajaran jsp smk XI RPL
Pelajaran jsp smk XI RPL
 
Tugas-4 REKAYASA WEB
Tugas-4 REKAYASA WEBTugas-4 REKAYASA WEB
Tugas-4 REKAYASA WEB
 
API by Sandi Hermawan
API by Sandi HermawanAPI by Sandi Hermawan
API by Sandi Hermawan
 
Tugas webserver
Tugas webserverTugas webserver
Tugas webserver
 
13.4.pptx
13.4.pptx13.4.pptx
13.4.pptx
 

PWA 101.pdf

  • 1. Progresive Web App Oleh Ryan Aunur Rassyid Studi Independent x Dicoding
  • 2. Apa itu PWA “Progressive Web Apps use modern web capabilities to deliver an app-like user experience. They evolve from pages in browser tabs to immersive, top-level apps, maintaining the web's low friction at every moment.” - Alex Russel, Frances Berriman
  • 3. Kan udah ada Mobile Apps kenapa buat PWA? - Sebuah Alternatif - Prosess Development cepat - Prosess Update bisa lebih cepat - Responsive (Mobile, Desktop, dan Tablet)
  • 4. Sebuah Syarat - Starts fast, stay fast - Works in any browser - Responsive to any screen size - Provides a custom offline page - Is Installable
  • 5. Komponent Pembentuk - Application Shell - Web App Manifest - Service Worker Optional - Cache API - Fetch API - IndexedDB - dll
  • 6. Application Shell App Shell memisahkan antara base UI dengan konten yang bersifat dinamis. App Shell ini akan di-cache sehingga ia lebih cepat tampil ketika dikunjungi ulang.
  • 7. Web App Manifest Web App Manifest merupakan berkas yang menampung informasi aplikasi seperti: - Nama - Deskripsi - Icon - Warna Tema <link rel="manifest" href="app.webmanifest">
  • 8. Service Worker Service Worker adalah bagian dasar dari penerapan PWA yang berjalan dibelakang layar browser. Kemampuan utamanya adalah mengambil alih seluruh pengiriman request ke server yang terjadi pada browser (client).
  • 9. Service Worker Service Worker yang sudah terdaftar/diregistrasi akan terlihat di devtool bagian Application > Service Workers. Google menyediakan library dan tooling untuk mempermudah penerapan Cache Strategy pada Service Worker, yaitu Workbox.
  • 10. Webpack Plugin webpack-pwa-manifest Progressive Web App Manifest Generator for Webpack, with auto icon resizing and fingerprinting support. workbox-webpack-plugin A plugin for your Webpack build process, helping you generate a manifest of local files that workbox-sw should precache.
  • 11. Tips - Pada saat mengakses alamat yang sebelumnya sudah terpasang Service Worker, pastikan untuk Clear Site Data terlebih dahulu. - Ketika menggunakan Workbox GenerateSW lebih baik diletakan pada konfigurasi production saja. - Gunakan browser mode Incognito untuk mengatasi masalah cache pada Service Worker.