Introduction
Kamu sudah memiliki Aplikasi Web Progresif. Aplikasi tersebut berfungsi di browser, memiliki manifest, dan mungkin menggunakan service worker untuk dukungan offline. Jika kamu sekarang membutuhkan distribusi aplikasi di toko aplikasi, akses API perangkat native, atau funnel onboarding yang lebih baik, migrasi ke aplikasi Capacitor biasanya lebih cepat daripada mengulang kode depan kamu.
Kelebihan terbesar adalah kamu dapat mempertahankan hampir semua kode web code yang sudah ada. Dalam kebanyakan kasus, kamu hanya perlu:
- Membangun aset web produksi
- Menginisialisasi Capacitor dengan pengaturan yang tepat
webDir, - Mengambahkan proyek iOS dan Android
- Menghubungkan plugin native hanya di tempat yang dibutuhkan.
Jika aplikasi PWA kamu memiliki routing yang bersih dan logika komponen, ini dapat memakan waktu hanya beberapa jam.
Prasyarat
Waktu yang Diperkirakan: 2-5 jam, tergantung pada fitur spesifik platform.
- Node.js 18+ dengan Bun
- Sumber kode PWA Anda yang sudah ada (code seperti React, Vue, Angular, Svelte, dll.)
- Xcode (hanya untuk iOS dan macOS)
- Android Studio (hanya untuk Android)
- Akun Pengembang Apple jika Anda ingin mempublikasikan aplikasi iOS
- Akun Pengembang Google Play untuk distribusi aplikasi Android
Langkah 1: Periksa PWA Anda sebelum mengemasnya dalam bentuk native
Sebelum Anda menjalankan bunx cap init, pastikan aplikasi web Anda sudah siap produksi:
- Pastikan aplikasi 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 pekerja layanan yang kompatibel dengan mobile WebViews:
- Tetapkan dukungan offline jika itu membantu pengguna Anda.
- Hindari API browser-only yang tidak tersedia di dalam webview yang diintegrasikan.
- Konfirmasi prompt instalasi PWA dan UX browser yang masih relevan. Dalam aplikasi Capacitor biasanya tidak perlu prompt instalasi.
Langkah 2: Mengadaptasi perilaku web-only
Tetapkan UI aplikasi Anda tetapi tutup logika browser-only.
Pergunakan cek 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
}
Pergunakan cek ini untuk menghindari logika browser-only yang berjalan di dalam kontainer native.
Langkah 3: Inisialisasi Capacitor di folder PWA Anda
Dari root PWA Anda yang sudah ada:
bun add @capacitor/core
bun add -D @capacitor/cli
Jalankan Capacitor init dengan nama aplikasi, ID bundle, dan direktori output 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 Capacitor dasar:
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 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-only 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:
- Instal paket plugin
- Konfigurasi pengaturan plugin khusus
- Run:
bunx cap sync
Lalu bangun dan jalankan lagi.
Langkah 7: Periksa keseragaman 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 bertentangan dengan perilaku aplikasi (misalnya, prompt instalasi).
- Tetapkan pengaturan keamanan transportasi dan privasi aplikasi konsisten dengan kebijakan Anda.
- Tambahkan ikon aplikasi/splash aset 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 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 pada perangkat nyata
- Jalur browser-only code ditutup untuk perilaku native
- Saluran pembaruan dan aset toko aplikasi telah dikonfigurasi
Anda sudah melakukan sebagian besar pekerjaan sulit ketika membangun PWA. Menggabungkannya dengan Capacitor memberikan Anda:
- Penyebaran toko,
- Akses ke API native,
- Iterasi yang lebih cepat tanpa perlu melakukan code ulang 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 Your PWA ke Aplikasi Native dengan Capacitor
Jika Anda menggunakan Transform Your PWA ke Aplikasi Native dengan Capacitor untuk merencanakan migrasi dan operasi bisnis, hubungkannya dengan Capgo Enterprise for the product workflow in Capgo Enterprise, Page/area: Halaman produk/harga perusahaan. Peran: Label UI singkat atau item navigasi. Dilihat di: halaman enterprise.astro. Simpan Capgo produk/merek dan istilah developer secara tepat. Pesan kunci `enterprise_procurement_visual_signature` (Tanda Visual Pengadaan Perusahaan). untuk alur kerja produk di Alternatif Ionic Enterprise Plugin Alternatif Capgo untuk alur kerja produk di Alternatif Capgo Capgo Konsultasi untuk alur kerja produk di Capgo Konsultasi, dan Capgo Layanan Premium untuk alur kerja produk di Capgo Layanan Premium.