Pendahuluan
Anda sudah memiliki Aplikasi Web Progresif. Aplikasi tersebut berfungsi di browser, memiliki manifest, dan mungkin menggunakan service worker untuk mendukung kinerja offline. Jika Anda sekarang membutuhkan distribusi aplikasi di toko aplikasi, akses API perangkat natif, atau funnel onboarding yang lebih baik, migrasi ke aplikasi Capacitor biasanya lebih cepat daripada mengulang kode depan Anda.
Kelebihan terbesar adalah Anda dapat mempertahankan sebagian besar kode web code yang sudah ada. Dalam kebanyakan kasus, Anda hanya perlu:
- Membangun aset web produksi
- Menginisialisasi Capacitor dengan pengaturan yang tepat
webDir, - Mengatur proyek iOS dan Android
- Menghubungkan plugin natif hanya di tempat yang dibutuhkan.
Jika aplikasi PWA Anda memiliki rute yang bersih dan logika komponen, ini dapat memakan waktu hanya beberapa jam.
Prasyarat
Waktu yang DiperkirakanWaktu: 2-5 jam, tergantung fitur platform khusus.
- Node.js 18+ dengan Bun
- Sumber kode PWA Anda yang sudah ada code (React, Vue, Angular, Svelte, dll.)
- Xcode (hanya untuk iOS, macOS)
- Android Studio (hanya untuk Android)
- Akun Pengembang Apple jika Anda berencana untuk mempublikasikan iOS
- Akun Pengembang Google Play untuk distribusi Android
Langkah 1: Periksa PWA Anda sebelum mengelilingkannya dengan native
Sebelum Anda menjalankan bunx cap initPastikan aplikasi web Anda sudah siap untuk produksi:
- Pastikan skrip produksi PWA Anda sudah ada (misalnya,
bun run build). - Pastikan folder keluaran web Anda sudah dapat diprediksi (seringnya
dist,build, atauout). - Hapus redirect absolut yang dikodekan secara keras yang asumsikan konteks browser-only.
- Verifikasi perilaku service worker sudah kompatibel dengan WebViews mobile:
- Tetapkan dukungan offline jika itu membantu pengguna Anda.
- Hindari API browser-only yang tidak tersedia di webview yang diintegrasikan.
- Pastikan prompt instalasi PWA dan UX browser spesifik masih relevan. Pada aplikasi Capacitor biasanya tidak perlu prompt instalasi.
Langkah 2: Mengadaptasi perilaku browser-only
Tetapkan UI aplikasi Anda tetapi tutup logika browser-only.
Gunakan pengecekan platform sederhana di sekitar prompt instalasi dan push:
import { Capacitor } from '@capacitor/core'
const isNative = Capacitor.isNativePlatform()
function registerInstallPrompt() {
if (isNative) return
// existing browser-only install or Web Push code
}
Pengaturan browser hanya ini menghindari logika berjalan di dalam kontainer native.
Langkah 3: Inisialisasi Capacitor di folder PWA Anda
Dari root PWA yang sudah ada:
bun add @capacitor/core
bun add -D @capacitor/cli
Jalankan Capacitor init dengan nama aplikasi, ID aplikasi, dan direktori keluaran web:
bunx cap init MyPWAApp com.example.my-pwa-app --web-dir dist
Jika folder build Anda adalah 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
Di titik ini Capacitor telah membuat ios/ dan android/ Folder. Pengaturan akan menyalin aset web yang dibangun ke kedua platform.
Langkah 5: Bangun aplikasi web dan sinkronkan
Bangun PWA dan sinkronkan 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
Ini adalah tempat 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-biometricatau plugin pilihan Anda
Untuk setiap plugin native baru:
- Instal paket plugin
- Konfigurasi pengaturan spesifik plugin
- Jalankan:
bunx cap sync
Kemudian, buat ulang 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 aman, dan orientasi benar.
- Hapus metadata web yang tidak digunakan yang bertabrakan dengan perilaku aplikasi (misalnya, prompt instalasi).
- Aplikasi transportasi keamanan dan pengaturan privasi tetap konsisten dengan kebijakan Anda.
- Tambahkan ikon aplikasi / aset splash untuk setiap platform.
Jika aplikasi Anda menggunakan pembaruan OTA, pasirkan pipa rilis Anda dengan strategi pembaruan yang aman untuk native dan pertimbangkan Capgo untuk peluncuran dan rollback yang terkendali.
Daftar checklist akhir
- Aplikasi web dibangun dengan bersih (
bun run build) - Capacitor diinisialisasi dengan yang tepat
webDir bunx cap add iosdanbunx cap add androidAplikasi native berjalan pada perangkat nyata- Jalur browser-only __CAPGO_KEEP_0__ ditutup untuk perilaku native
- Browser-only code paths are gated for native behavior
- Saluran pembaruan dan aset toko aplikasi telah dikonfigurasi
Kamu sudah melakukan sebagian besar pekerjaan sulit ketika membangun PWA. Menggabungkannya dengan Capacitor memberikan kamu:
- Penyebaran ke toko
- Akses ke API native
- Iterasi yang lebih cepat tanpa perlu merefresh code secara penuh
- Jalur pengembangan tunggal untuk tim web dan mobile
Mulai dari alur ini, kemudian iterasi native-by-native berdasarkan analisis dan feedback pengguna
Teruskan dari Transform Your PWA to a Native App dengan Capacitor
Jika kamu menggunakan Transform Your PWA to a Native App dengan Capacitor untuk merencanakan migrasi dan operasi bisnis, hubungkannya dengan Capgo Enterprise untuk alur kerja produk di Capgo Enterprise, Alternatif Plugin Bisnis Ionic Enterprise untuk alur kerja produk di Alternatif Plugin Bisnis Ionic Enterprise, Alternatif Capgo untuk alur kerja produk di Alternatif Capgo, Alternatif Capgo Konsultasi untuk alur kerja produk di Alternatif Capgo Konsultasi, dan Alternatif Capgo Support Premium untuk alur kerja produk di Alternatif Capgo Support Premium.