Dalam tutorial ini, kita akan memulai dengan aplikasi Angular baru dan beralih ke ranah aplikasi seluler native menggunakan Capacitor. Secara opsional, Anda juga dapat menambahkan Konsta UI untuk UI seluler yang lebih baik dengan Tailwind CSS.
Capacitor memungkinkan Anda untuk dengan mudah mengubah aplikasi web Angular Anda menjadi aplikasi seluler native tanpa memerlukan modifikasi yang signifikan atau mempelajari keterampilan baru seperti React Native.
Dengan hanya beberapa langkah sederhana, sebagian besar aplikasi Angular dapat diubah menjadi aplikasi seluler.
Tutorial ini akan memandu Anda melalui prosesnya, dimulai dengan aplikasi Angular baru dan kemudian menggabungkan Capacitor untuk beralih ke ranah aplikasi seluler native. Selain itu, Anda juga dapat menggunakan Konsta UI secara opsional untuk meningkatkan UI seluler Anda dengan Tailwind CSS.
Tentang Capacitor
Capacitor adalah terobosan besar! Anda dapat dengan mudah menggabungkannya ke dalam proyek web apa pun, dan ini akan membungkus aplikasi Anda ke dalam webview native, menghasilkan proyek Xcode dan Android Studio native untuk Anda. Selain itu, plugin-nya memberikan akses ke fitur perangkat native seperti kamera melalui jembatan JS.
Dengan Capacitor, Anda mendapatkan aplikasi seluler native yang fantastis tanpa pengaturan rumit atau kurva pembelajaran yang curam. API-nya yang ramping dan fungsionalitas yang efisien membuatnya sangat mudah diintegrasikan ke dalam proyek Anda. Percayalah, Anda akan takjub betapa mudahnya mencapai aplikasi native yang sepenuhnya fungsional dengan Capacitor!
Menyiapkan Aplikasi Angular Anda
Untuk membuat aplikasi Angular baru, jalankan perintah berikut:
Pilih “Angular” ketika diminta untuk versi Angular.
Untuk membuat aplikasi seluler native, kita memerlukan ekspor dari proyek kita. Oleh karena itu, mari kita sertakan skrip sederhana dalam package.json kita yang dapat digunakan untuk membangun dan menyalin proyek Angular:
Setelah menjalankan perintah build
, Anda seharusnya dapat melihat folder dist
baru di root proyek Anda.
Folder ini akan digunakan oleh Capacitor nanti, tetapi untuk saat ini, kita harus mengaturnya dengan benar.
Menambahkan Capacitor ke Aplikasi Angular Anda
Untuk mengemas aplikasi web apa pun menjadi kontainer seluler native, kita harus mengikuti beberapa langkah awal, tetapi setelah itu semudah menjalankan satu perintah sync
.
Pertama, kita dapat menginstal Capacitor CLI sebagai dependensi pengembangan, dan kemudian mengaturnya dalam proyek kita. Selama pengaturan, Anda dapat menekan “enter” untuk menerima nilai default untuk nama dan ID bundle.
Selanjutnya, kita perlu menginstal paket inti dan paket yang relevan untuk platform iOS dan Android.
Akhirnya, kita dapat menambahkan platform, dan Capacitor akan membuat folder untuk setiap platform di root proyek kita:
Pada titik ini, Anda seharusnya dapat melihat folder ios dan android baru di proyek Angular Anda.
Itu adalah proyek native yang sesungguhnya!
Untuk mengakses proyek Android nanti, Anda harus menginstal Android Studio. Untuk iOS, Anda memerlukan Mac dan harus menginstal Xcode.
Selain itu, Anda seharusnya menemukan file capacitor.config.ts di proyek Anda, yang berisi beberapa pengaturan dasar Capacitor yang digunakan selama sinkronisasi. Satu-satunya hal yang perlu Anda perhatikan adalah webDir, yang harus menunjuk ke hasil dari perintah build Anda. Saat ini, itu tidak akurat.
Untuk memperbaiki ini, buka file capacitor.config.json dan perbarui webDir:
Anda dapat mencobanya dengan menjalankan perintah berikut:
Perintah pertama npm run build
hanya akan membangun proyek Angular Anda dan menyalin build statis, sedangkan perintah kedua npx cap sync
akan menyinkronkan semua kode web ke tempat yang tepat dari platform native sehingga dapat ditampilkan dalam aplikasi.
Selain itu, perintah sync mungkin memperbarui platform native dan menginstal plugin, jadi ketika Anda menginstal plugin Capacitor baru, saatnya untuk menjalankan npx cap sync
lagi.Tanpa disadari, Anda sebenarnya sudah selesai, jadi mari kita lihat aplikasi ini di perangkat!
Membangun dan Menerapkan aplikasi native
Untuk mengembangkan aplikasi iOS, Anda perlu memiliki Xcode terinstal, dan untuk aplikasi Android, Anda perlu memiliki Android Studio terinstal. Selain itu, jika Anda berencana mendistribusikan aplikasi Anda di app store, Anda harus mendaftar di Apple Developer Program untuk iOS dan Google Play Console untuk Android.
Jika Anda baru dalam pengembangan mobile native, Anda dapat menggunakan Capacitor CLI untuk dengan mudah membuka kedua proyek native:
Setelah Anda menyiapkan proyek native Anda, menerapkan aplikasi Anda ke perangkat yang terhubung menjadi mudah. Di Android Studio, Anda hanya perlu menunggu semuanya siap, dan Anda dapat menerapkan aplikasi Anda ke perangkat yang terhubung tanpa mengubah pengaturan apa pun. Berikut contohnya:
Di Xcode, Anda perlu menyiapkan akun penandatanganan Anda untuk menerapkan aplikasi Anda ke perangkat nyata, bukan hanya simulator. Jika Anda belum pernah melakukan ini sebelumnya, Xcode akan memandu Anda melalui prosesnya (tapi sekali lagi, Anda harus terdaftar di Developer Program). Selanjutnya, Anda dapat langsung menekan play untuk menjalankan aplikasi di perangkat yang terhubung, yang dapat Anda pilih di bagian atas. Berikut contohnya:
Selamat! Anda telah berhasil menerapkan aplikasi web Angular Anda ke perangkat mobile. Berikut contohnya:
Tapi tunggu, ada cara yang lebih cepat untuk melakukan ini selama pengembangan.
Capacitor Live Reload
Sekarang, Anda mungkin sudah terbiasa dengan hot reload pada semua framework modern, dan kabar baiknya adalah Anda dapat memiliki fungsionalitas yang sama pada perangkat mobile dengan usaha minimal!
Aktifkan akses ke aplikasi yang di-host secara lokal dengan live reload di jaringan Anda dengan membuat aplikasi Capacitor memuat konten dari URL tertentu.
Langkah pertama adalah mengetahui alamat IP lokal Anda. Jika Anda menggunakan Mac, Anda dapat mengetahuinya dengan menjalankan perintah berikut di terminal:
Di Windows, jalankan:
Kemudian cari alamat IPv4.
Kita dapat menginstruksikan Capacitor untuk memuat aplikasi langsung dari server dengan menambahkan entri lain ke file capacitor.config.ts
kita:
Pastikan untuk menggunakan IP dan port yang benar, saya telah menggunakan port Angular default dalam contoh ini.
Sekarang, kita dapat menerapkan perubahan ini dengan menyalinnya ke proyek native kita:
Perintah copy
mirip dengan sync
, tetapi hanya akan menyalin perubahan yang dibuat pada folder web dan konfigurasi, tanpa memperbarui proyek native.
Anda sekarang dapat menerapkan aplikasi Anda sekali lagi melalui Android Studio atau Xcode. Setelah itu, jika Anda mengubah sesuatu di aplikasi Angular Anda, aplikasi akan secara otomatis memuat ulang dan menampilkan perubahan!
Perlu diingat bahwa jika Anda menginstal plugin baru seperti kamera, masih diperlukan pembangunan ulang proyek native Anda. Ini karena file native diubah, dan tidak dapat dilakukan secara langsung.
Perhatikan bahwa Anda harus menggunakan IP dan port yang benar dalam konfigurasi Anda. Blok kode di atas menunjukkan port Angular default untuk tujuan demonstrasi.
Menggunakan Plugin Capacitor
Mari kita lihat bagaimana menggunakan plugin Capacitor dalam aksi, yang telah kita sebutkan beberapa kali sebelumnya. Untuk melakukan ini, kita dapat menginstal plugin yang cukup sederhana dengan menjalankan:
Tidak ada yang istimewa tentang plugin Share, tetapi bagaimanapun juga itu memunculkan dialog berbagi native! Untuk ini sekarang kita hanya perlu mengimpor paket dan memanggil fungsi share()
yang sesuai dari aplikasi kita, jadi mari ubah src/app/app.component.ts menjadi seperti ini:
Seperti disebutkan sebelumnya, saat menginstal plugin baru, kita perlu melakukan operasi sync dan kemudian menerapkan ulang aplikasi ke perangkat kita.Untuk melakukan ini, jalankan perintah berikut:
Setelah menekan tombol, Anda dapat menyaksikan dialog berbagi native yang indah dalam aksi!
Menambahkan Konsta UI
Untuk menggunakan Konsta UI di aplikasi Nuxt 3 Anda, Anda perlu sudah menginstal tailwind dan menginstal paket:
Selain itu, Anda perlu memodifikasi file tailwind.config.js
Anda:
konstaConfig
akan memperluas konfigurasi Tailwind CSS default (atau kustom Anda) dengan beberapa varian tambahan dan utilitas pembantu yang diperlukan untuk Konsta UI
Sekarang kita perlu menyiapkan komponen App utama sehingga kita dapat mengatur beberapa parameter global (seperti theme
)
Kita perlu membungkus seluruh aplikasi dengan App
di src/app/app.component.html
:
Contoh Halaman
Sekarang setelah semuanya diatur, kita dapat menggunakan komponen Vue Konsta UI di halaman Angular kita
Misalnya, mari buka src/app/app.component.html
dan ubah menjadi berikut:
Jika live reload tidak sinkron setelah menginstal semua komponen yang diperlukan, coba restart semuanya. Setelah Anda melakukan itu, Anda seharusnya melihat aplikasi seluler dengan tampilan yang agak native, dibangun dengan Angular dan Capacitor!
Anda seharusnya melihat halaman berikut sebagai hasilnya:
Kesimpulan
Capacitor adalah pilihan yang sangat baik untuk membangun aplikasi native berdasarkan proyek web yang sudah ada, menawarkan cara sederhana untuk berbagi kode dan mempertahankan UI yang konsisten
Dan dengan penambahan Capgo, bahkan lebih mudah untuk menambahkan pembaruan langsung ke aplikasi Anda, memastikan bahwa pengguna Anda selalu memiliki akses ke fitur terbaru dan perbaikan bug
Jika Anda ingin mempelajari cara menambahkan Capgo ke aplikasi Angular Anda, lihat artikel berikutnya: