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:
- Pastikan PWA Anda memiliki skrip produksi (misalnya
bun run build). - Konfirmasi folder keluaran web Anda adalah deterministik (seringnya
dist,build, atauout). - Hapus redirect absolut yang dikodekan secara keras yang mengasumsikan konteks browser-only.
- 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.
- 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:
- Pasang paket plugin
- Konfigurasi pengaturan spesifik plugin
- 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 iosdanbunx cap add androidselesai- 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.