In dunia pengembangan aplikasi mobile yang terus berkembang, kemunculan Aplikasi Web Progressif (PWAs) telah membuka jalan bagi runtime-platform baru yang dapat digunakan secara lintas platform. Runtimes ini memungkinkan aplikasi berbasis web untuk hadir di toko aplikasi tanpa bergantung sepenuhnya pada native code. CapacitorJSyang memungkinkan para pengembang untuk mengembangkan sebuah situs web sederhana sebagai aplikasi di Android, iOS, dan web menggunakan satu kode JavaScript. Pendekatan ini secara signifikan mengurangi biaya pengembangan dan meningkatkan efisiensi pengkodean.
Panduan ini akan fokus pada pembuatan aplikasi menggunakan JavaScript murni tanpa menggunakan framework tambahan. Meskipun tantangan dalam mencari sumber daya untuk pengembangan aplikasi JavaScript murni pada tahun 2021, kami di sini untuk memberikan tutorial komprehensif tentang pembuatan aplikasi dan penggunaan plugin native dengan CapacitorJS.
‣ Prasyarat
Sebelum kita memulai, pastikan Anda telah menginstal tools berikut:
- Node.js (v14.16.1) atau lebih tinggi
- NPM (v7.6.2) atau lebih tinggi
- Sistem Desain Android untuk pengembangan aplikasi Android
- Xcode untuk pengembangan aplikasi iOS (hanya macOS)
Catatan: pengembangan aplikasi iOS hanya dapat dilakukan pada perangkat macOS.
‣ Mengatur Proyek Anda Capacitor
Untuk membuat aplikasi Capacitor, navigasikan ke folder yang diinginkan dan jalankan perintah berikut di terminal Anda:
npm init @capacitor/app
Ikuti prompt untuk menginstal paket dan mengatur proyek Anda. Dengan Capacitor v3, direktori proyek Anda seharusnya terlihat seperti ini:
www/
css/
style.css
js/
capacitor-welcome.js
index.html
manifest.json
.gitignore
capacitor.config.json
package.json
README.md
Setelah setup awal selesai, Anda siap untuk melanjutkan.
‣ Restruktur Proyek
Kita akan menggunakan Vite untuk mengemas file JavaScript, jadi mari kita restruktur proyek kita sesuai:
- Buat folder baru
srcdi direktori utama. - Buat file skrip baru
index.jsdisrc/. - Buat konfigurasi Vite file
vite.config.jsdi direktori utama. - Hapus file dari
capacitor-welcome.jsStruktur folder baru Anda seharusnya menyerupai:www/js/.
Struktur folder baru Anda seharusnya menyerupai ini:
src/
index.js
www/
css/
style.css
js/
index.html
manifest.json
.gitignore
capacitor.config.json
package.json
README.md
vite.config.js
‣ Mengadaptasi ke JavaScript Murni
Biarkan kita mengubah beberapa file untuk berfungsi dengan JavaScript murni:
www/index.html
- Hapus import skrip untuk Elemen PWA Ionic jika Anda tidak merilis aplikasi sebagai PWA:
<script type="module" src="https://unpkg.com/@ionic/pwa-elements@latest/dist/ionicpwaelements/ionicpwaelements.esm.js"></script>
<script nomodule src="https://unpkg.com/@ionic/pwa-elements@latest/dist/ionicpwaelements/ionicpwaelements.js"></script>
-
Hapus elemen
<capacitor-welcome>HTML dari bagian tubuh. -
Update import skrip dari
capacitor.jskejs/main.js. Ini akan menjadi file JavaScript yang dibundel. -
Hapus
js/capacitor-welcome.jsimport. Andaindex.htmlsudah siap.
vite.config.js
Untuk menggabungkan modul Node.js kita dengan Vite, kita memerlukan sebuah file konfigurasi yang menentukan lokasi output untuk skrip yang telah digabungkan. Konfigurasi berikut akan mengambil file src/index.js dan menggabungkannya untuk produksi sebagai www/js/main.js:
import { defineConfig } from 'vite';
import path from 'node:path';
export default defineConfig({
build: {
outDir: path.resolve(__dirname, 'www'),
rollupOptions: {
input: './src/index.js',
output: {
format: 'es',
file: path.resolve(__dirname, 'www/js/main.js')
}
}
}
});
capacitor.config.json
Dalam file capacitor.config.json lokasikan "bundledWebRuntime": true dan ubahnya menjadi false. Penyesuaian ini memastikan bahwa Capacitor tidak menggabungkan file-file, sehingga kita dapat menggunakan Vite untuk tujuan tersebut.
With perubahan-perubahan ini, pengaturan dasar aplikasi Capacitor Anda sudah selesai, dan Anda siap untuk memulai mengembangkan aplikasi Anda dengan JavaScript murni.
‣ Mengembangkan Aplikasi
Sekarang bahwa dasar-dasar sudah ditata, Anda dapat mulai menulis logika aplikasi Anda di src/index.js file. Di sini, Anda dapat mengimport modul Node.js yang diperlukan, mendefinisikan fungsi aplikasi Anda, dan berinteraksi dengan plugin-plugin native Capacitor.
Hatuh-hati untuk menjalankan perintah build Vite untuk menggabungkan file-file JavaScript Anda setiap kali Anda membuat perubahan:
vite build
Ini akan menghasilkan main.js file di direktori www/js yang akan digunakan oleh index.html file.
‣ Pengujian dan Debugging
Capacitor menyediakan cara yang nyaman untuk menguji aplikasi Anda di berbagai platform. Gunakan perintah-perintah berikut untuk membuka aplikasi Anda di lingkungan pengembangan platform masing-masing:
Untuk Android:
npx cap add android
npx cap open android
For iOS (macOS hanya):
npx cap add ios
npx cap open ios
For Web/PWA:
npx cap serve
Ini perintah akan memungkinkan Anda menjalankan aplikasi di Android Studio, Xcode, atau browser web Anda, di mana Anda dapat melakukan pengujian dan debug sesuai kebutuhan.
‣ Kesimpulan
Membangun aplikasi lintas platform dengan menggunakan CapacitorJS dan JavaScript murni adalah cara yang efektif dan efisien untuk membuat aplikasi untuk berbagai platform dengan basis kode tunggal. Dengan mengikuti panduan ini, Anda telah mengatur proyek Anda, merestrukturinya untuk Vite, dan mempersiapkan aplikasi Anda untuk pengembangan. Dengan dasar ini, Anda sudah siap untuk membangun aplikasi yang kuat dan fleksibel.
Jangan lupa untuk melakukan pengujian secara menyeluruh di semua platform dan manfaatkan plugin native Capacitor untuk meningkatkan fungsi aplikasi Anda. Selamat berkode!
Teruskan dari Membangun Aplikasi Lintas Platform dengan CapacitorJS: Panduan Langkah demi Langkah
Jika Anda menggunakan Membangun Aplikasi Lintas Platform dengan CapacitorJS: Panduan Langkah demi Langkah untuk merencanakan pekerjaan plugin native, hubungkannya dengan Capgo Plugin Directory untuk alur kerja produk di Capgo Plugin Directory, Capacitor Plugin oleh Capgo untuk detail implementasi di Capacitor Plugin oleh Capgo, Mengambah atau Mengupdate Plugin untuk detail implementasi di Mengambah atau Mengupdate Plugin, Alternatif Plugin Enterprise Ionic untuk alur kerja produk di Alternatif Plugin Enterprise Ionic, dan Capgo Build Natively untuk alur kerja produk di Capgo Build Natively.