Lompat ke konten utama
Tutorial

Mengubah Aplikasi PWA Anda Menjadi Aplikasi Nativ dengan Capacitor

Convert an existing Progressive Web App into a native Capacitor mobile app for iOS and Android. A practical guide to packaging your PWA with minimal code changes.

Kredit Artikel

Martin Donadieu

Pengarang

Valeria

Pengulas

Jordan

Pengedit

Mengubah Aplikasi Web Progresif Anda ke Aplikasi Nativ dengan Capacitor

Pendahuluan

Anda sudah memiliki Aplikasi Web Progresif. Aplikasi tersebut berfungsi di browser, memiliki manifest, dan mungkin menggunakan service worker untuk dukungan offline. Jika Anda sekarang membutuhkan distribusi aplikasi di toko aplikasi, API perangkat native, atau funnel onboarding yang lebih baik, migrasi ke aplikasi Capacitor biasanya lebih cepat daripada merekonstruksi frontend Anda.

Kelebihan terbesar adalah Anda dapat mempertahankan hampir semua web code yang sudah ada. Dalam kebanyakan kasus, Anda hanya perlu:

  • Membangun aset web produksi
  • inisialisasi Capacitor dengan yang tepat webDir,
  • menambahkan proyek iOS dan Android,
  • dan kabelkan plugin native hanya di mana diperlukan.

Jika aplikasi web PWA Anda memiliki rute yang bersih dan logika komponen, ini bisa memakan waktu hanya beberapa jam.

Prerequisites

Waktu perkiraan: 2-5 jam, tergantung pada fitur spesifik platform.

  • Node.js 18+ dengan Bun
  • Sumber kode PWA Anda yang sudah ada code (React, Vue, Angular, Svelte, dll.)
  • Xcode (hanya untuk iOS dan macOS)
  • Studio Android (untuk Android)
  • akun pengembang Apple jika Anda berencana untuk mempublikasikan iOS
  • akun pengembang Google Play untuk distribusi Android

Langkah 1: Periksa PWA Anda sebelum membalutnya dengan native

Sebelum Anda menjalankan bunx cap init, pastikan aplikasi web Anda sudah siap untuk produksi:

  1. Pastikan PWA Anda memiliki skrip produksi (misalnya bun run build).
  2. Konfirmasi folder keluaran web Anda adalah deterministik (seringnya dist, build, atau out).
  3. Hapus redirect absolut yang dikodekan secara keras yang mengasumsikan konteks browser-only.
  4. Verifikasi perilaku service worker yang kompatibel dengan WebViews mobile:
    • Jika itu membantu pengguna Anda, jangan hapus dukungan offline.
    • Jangan menggunakan API browser yang tidak tersedia di dalam tampilan web di dalam.
  5. Konfirmasi instalasi PWA dan UX browser masih relevan. Dalam sebuah aplikasi Capacitor, biasanya tidak perlu konfirmasi instalasi aplikasi.

Langkah 2: Mengadaptasi perilaku web hanya

Keep your app UI but gate browser-only logic.

Tetapkan tampilan aplikasi Anda tetapi batasi logika browser.

import { Capacitor } from '@capacitor/core'

const isNative = Capacitor.isNativePlatform()

function registerInstallPrompt() {
  if (isNative) return
  // existing browser-only install or Web Push code
}

Pakai cek platform sederhana di sekitar prompt instalasi dan push:

Langkah 3: Inisialisasi Capacitor di folder PWA Anda

Langkah 3: Inisialisasi __CAPGO_KEEP_0__ di folder PWA Anda

bun add @capacitor/core
bun add -D @capacitor/cli

Jalankan Capacitor init dengan nama aplikasi, ID paket, dan direktori keluaran web:

bunx cap init MyPWAApp com.example.my-pwa-app --web-dir dist

Dari root PWA Anda yang sudah ada: build (Create React App) atau out ((.next.js static export), ganti) dist.

Tambahkan konfigurasi dasar Capacitor:

import type { CapacitorConfig } from '@capacitor/cli'

const config: CapacitorConfig = {
  appId: 'com.example.my-pwa-app',
  appName: 'MyPWAApp',
  webDir: 'dist',
  server: {
    iosScheme: 'https',
  },
}

export default config

Langkah 4: Tambahkan platform native

Instal paket native inti dan buat folder proyek:

bun add @capacitor/ios @capacitor/android
bunx cap add ios
bunx cap add android

Pada titik ini Capacitor telah membuat ios/ dan android/ folder. Sinkronisasi akan menyalin aset web yang dibangun ke kedua platform.

Langkah 5: Bangun aplikasi web dan sinkronisasi

Bangun PWA dan sinkronisasi aset web:

bun run build
bunx cap sync

Sekarang buka proyek native:

bunx cap open ios
bunx cap open android

Dari Xcode atau Android Studio, hubungkan perangkat atau emulator dan jalankan.

Langkah 6: Perbaikan native setelah migrasi

Di sini Anda mengganti fitur web hanya dengan API native di mana diperlukan:

  • Pemberitahuan push -> @capacitor/push-notifications
  • Penyimpanan kunci/nilai yang aman -> @capacitor/preferences
  • Kamera / media -> @capacitor/camera
  • Autentikasi biometrik -> @capacitor-community/native-biometric (atau plugin pilihan Anda)

Untuk setiap plugin native baru:

  1. Pasang paket plugin
  2. Konfigurasi pengaturan spesifik plugin
  3. Run:
bunx cap sync

Lalu rekonstruksi dan jalankan lagi.

Langkah 7: Periksa kesetaraan toko aplikasi

Sebelum pengiriman:

  • Uji tautan dalam dan routing (/ dan rute dalam) pada kedua platform.
  • Pastikan status bar, area yang aman, dan orientasi benar.
  • Hapus metadata web yang tidak digunakan yang bertentangan dengan perilaku aplikasi (misalnya, prompt instalasi).
  • Tetapkan pengaturan keamanan transportasi dan privasi aplikasi konsisten dengan kebijakan Anda.
  • Tambahkan ikon aplikasi/asset splash untuk setiap platform.

Jika aplikasi Anda menggunakan pembaruan OTA, pas pipa rilis Anda dengan strategi pembaruan yang aman untuk native dan pertimbangkan Capgo untuk peluncuran terkendali dan rollback.

Daftar periksa akhir

  • Aplikasi web dibangun dengan bersih (bun run build)
  • Capacitor diinisialisasi dengan yang tepat webDir
  • bunx cap add ios dan bunx cap add android selesai
  • Aplikasi native berjalan di perangkat nyata
  • Jalur code browser-only ditutup untuk perilaku native
  • Skenario pembaruan dan aset toko aplikasi telah dikonfigurasi

Anda telah melakukan sebagian besar pekerjaan sulit ketika membangun PWA. Menggabungkannya dengan Capacitor memberikan Anda:

  • Distribusi toko aplikasi
  • Akses ke API native
  • Iterasi yang lebih cepat tanpa perlu merevisi code secara penuh
  • Jalur pengembangan tunggal untuk tim web dan mobile.

Mulai dari alur ini, kemudian iterasi native-by-native berdasarkan analisis dan umpan balik pengguna.

Teruskan dari Transform PWA ke Aplikasi Nativ dengan Capacitor

Jika Anda menggunakan Transform PWA ke Aplikasi Nativ dengan Capacitor untuk merencanakan migrasi dan operasional bisnis, hubungkannya dengan Capgo Enterprise untuk alur kerja produk di Capgo Enterprise, Alternatif Plugin Ionic Enterprise untuk alur kerja produk dalam Plugin Perusahaan Ionic Alternatif Capgo Alternatives untuk alur kerja produk di Capgo Alternatif Konsultasi Capgo untuk alur kerja produk di Capgo Consulting, dan Capgo Layanan Support Premium untuk alur kerja produk di Capgo Layanan Support Premium.

Update langsung untuk aplikasi Capacitor

Ketika bug layer web masih aktif, kirimkan perbaikan melalui Capgo bukan menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan update di latar belakang sementara perubahan native tetap dalam jalur review normal.

Terbaru dari Blog Kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk membuat aplikasi mobile profesional yang sebenarnya.